aokell.lib.control.binding
Interface BindingControllerItf

All Superinterfaces:
BindingController
All Known Implementing Classes:
AbstractBindingControllerImpl, CompositeAutoBindingControllerImpl, CompositeBindingControllerImpl, CompositeTemplateBindingControllerImpl, FlatBindingControllerImpl, FlatTemplateBindingControllerImpl, PrimitiveAutoBindingControllerImpl, PrimitiveBindingControllerImpl, PrimitiveTemplateBindingControllerImpl

public interface BindingControllerItf
extends BindingController

This interface extends the Fractal BindingController interface with methods to manage reverse bindings, i.e. bindings from the destination to the source, and with a method to retrieve the list of currently bound collection interface names.

Author:
Lionel Seinturier

Field Summary
static String NAME
           
static InterfaceType TYPE
           
 
Method Summary
 void addFcCollectionInterfaceNames(List cltItfNames)
          Add the names of currently bound interface names to the given list.
 boolean isFcBound()
           
 boolean isFcReverseBound()
           
 void reverseBindFc(String dstItfName, Object src)
          Record a reverse binding.
 Object reverseLookupFc(String dstItfName)
          Lookup a reverse binding.
 void reverseUnbindFc(String dstItfName)
          Remove a reverse binding.
 
Methods inherited from interface org.objectweb.fractal.api.control.BindingController
bindFc, listFc, lookupFc, unbindFc
 

Field Detail

NAME

static final String NAME
See Also:
Constant Field Values

TYPE

static final InterfaceType TYPE
Method Detail

reverseBindFc

void reverseBindFc(String dstItfName,
                   Object src)
Record a reverse binding. When a source interface is bound to a target one, the reverse link (target -> source) is also recorded in the target binding controller. This reverse mappings is primarily used to prevent content controllers from performing remove operations that would create invalid bindings.

Parameters:
dstItfName - the target interface name for the binding
src - the source interface for the binding

reverseLookupFc

Object reverseLookupFc(String dstItfName)
Lookup a reverse binding. See reverseBindFc(String,Object) for the rationale behind reverse bindings.

Parameters:
dstItfName - the target interface name to be looked up
Returns:
the corresponding source interface or null

reverseUnbindFc

void reverseUnbindFc(String dstItfName)
Remove a reverse binding. See reverseBindFc(String,Object) for the rationale behind reverse bindings.

Parameters:
dstItfName - the target interface name to be removed

isFcBound

boolean isFcBound()
Returns:
true if the given component contains at least one binding (excluding the binding with the component interface).

isFcReverseBound

boolean isFcReverseBound()
Returns:
true if the given component contains at least one reverse binding

addFcCollectionInterfaceNames

void addFcCollectionInterfaceNames(List cltItfNames)
Add the names of currently bound interface names to the given list.