package org.alfresco.repo.policy; import java.util.Collection; import org.alfresco.api.AlfrescoPublicApi; /** * Index of Bound Behaviours. * * @author David Caruana * * @param the type of Binding. */ @AlfrescoPublicApi public interface BehaviourIndex { /** * Gets all bound behaviours * * @return the bound behaviours */ public Collection getAll(); /** * Gets all bound behaviours for the specified binding. * * Note: The index may use any algorithm for determining which behaviours * are returned for the binding e.g. based on hierarchical binding * * @param binding the binding * @return the associated behaviours */ public Collection find(B binding); /** * Add a Behaviour Change Observer. * * @param observer the observer */ public void addChangeObserver(BehaviourChangeObserver observer); /** * Gets the behaviour filter * * @return the behaviour filter */ public BehaviourFilter getFilter(); }