blob: 962fd3ef17858434b19e7c9baa2a0d940acc80e4 [file] [log] [blame]
/**
* Copyright (c) 2011, 2015 - Lunifera GmbH (Gross Enzersdorf, Austria), Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Florian Pirchner - Initial implementation
*/
package org.eclipse.osbp.ecview.core.common.editpart.binding;
import java.util.List;
import org.eclipse.osbp.ecview.core.common.binding.IECViewBindingManager;
import org.eclipse.osbp.ecview.core.common.editpart.IElementEditpart;
import org.eclipse.osbp.ecview.core.common.editpart.IViewEditpart;
// TODO: Auto-generated Javadoc
/**
* An editpart resonsible to handle bindings. If new bindings are added, they
* will become processed. Also leaving bindings will become unbind.
*/
public interface IBindingSetEditpart extends IElementEditpart {
/**
* Returns true if the binding set is active.
*
* @return true, if is active
*/
boolean isActive();
/**
* Activates the binding set manager. It will create all pending bindings.
*/
void activate();
/**
* Returns the view that binding set is attached to.
*
* @return the view
*/
IViewEditpart getView();
/**
* Returns a list of all available bindings.
*
* @return the bindings
*/
List<IBindingEditpart<?>> getBindings();
/**
* Adds the given binding to the list of bindings. Adding a binding will
* bind the contained values if not done so.
*
* @param binding
* the binding
*/
void addBinding(IBindingEditpart<?> binding);
/**
* Removes the given binding from the list of bindings. Removing a binding
* will unbind the contained values.
*
* @param binding
* the binding
*/
void removeBinding(IBindingEditpart<?> binding);
/**
* Returns a list of all available transient bindings.
*
* @return the transient bindings
*/
List<IBindingEditpart<?>> getTransientBindings();
/**
* Adds the given binding to the list of transient bindings. Adding a
* binding will bind the contained values if not done so.
*
* @param binding
* the binding
*/
void addTransientBinding(IBindingEditpart<?> binding);
/**
* Removes the given binding from the list of transient bindings. Removing a
* binding will unbind the contained values.
*
* @param binding
* the binding
*/
void removeTransientBinding(IBindingEditpart<?> binding);
/**
* Returns the binding manager that should be used to bind values.
*
* @return the binding manager
*/
IECViewBindingManager getBindingManager();
/**
* Sets the binding manager that should be used to bind values.
*
* @param bindingManager
* the new binding manager
*/
void setBindingManager(IECViewBindingManager bindingManager);
/**
* Returns a list with all bindings that are related to the given
* elementModel.
*
* @param elementModel
* the element model
* @return the list
*/
List<IBindingEditpart<?>> findBindings(Object elementModel);
}