diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/internal/locator/CompositeLocator.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/internal/locator/CompositeLocator.java | 154 |
1 files changed, 0 insertions, 154 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/internal/locator/CompositeLocator.java b/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/internal/locator/CompositeLocator.java deleted file mode 100644 index 65658e89d..000000000 --- a/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/internal/locator/CompositeLocator.java +++ /dev/null @@ -1,154 +0,0 @@ -package org.eclipse.jst.jsf.common.internal.locator; - -import java.util.Iterator; - -import org.eclipse.jst.jsf.common.internal.policy.IIteratorPolicy; -import org.eclipse.jst.jsf.common.internal.strategy.IteratorPolicyBasedStrategyComposite; - -/** - * @author cbateman - * - * @param <LOCATORTYPE> - * @param <COMPOSITETYPE> - * @param <CONTEXTTYPE> - * @param <IDTYPE> - */ -public abstract class CompositeLocator<LOCATORTYPE, COMPOSITETYPE, CONTEXTTYPE, IDTYPE> extends -IteratorPolicyBasedStrategyComposite<CONTEXTTYPE, LOCATORTYPE, COMPOSITETYPE, IDTYPE, ILocator<LOCATORTYPE, CONTEXTTYPE, IDTYPE>> -implements ILocator<COMPOSITETYPE, CONTEXTTYPE, IDTYPE>, ILocatorChangeListener -{ - private DefaultComposingLocatorDelegate<LOCATORTYPE, COMPOSITETYPE, CONTEXTTYPE, IDTYPE> _delegate; - private final COMPOSITETYPE _noResultValue; - - /** - * @param id - * @param displayName - * @param policy - * @param noResultValue - * @param compositionStrategy - */ - public CompositeLocator( - final IDTYPE id, - final String displayName, - final IIteratorPolicy<IDTYPE> policy, - final COMPOSITETYPE noResultValue, - final DefaultCompositionStrategy<CONTEXTTYPE, LOCATORTYPE, COMPOSITETYPE, ILocator<LOCATORTYPE, CONTEXTTYPE, IDTYPE>> compositionStrategy) - { - super(policy, compositionStrategy); - _delegate = new DefaultComposingLocatorDelegate<LOCATORTYPE, COMPOSITETYPE, CONTEXTTYPE, IDTYPE>(id, displayName) - { - @Override - protected COMPOSITETYPE doLocate(final CONTEXTTYPE context) - { - return CompositeLocator.this.doLocate(context); - } - }; - _noResultValue = noResultValue; - } - - /** - * @param context - * @return the located value. - */ - protected abstract COMPOSITETYPE doLocate(CONTEXTTYPE context); - - public final IDTYPE getId() - { - return _delegate.getId(); - } - - public String getDisplayName() - { - return _delegate.getDisplayName(); - } - - public void start(final CONTEXTTYPE initialContext) - { - if (canStart()) - { - final Iterator<ILocator<LOCATORTYPE, CONTEXTTYPE, IDTYPE>> iterator = getIterator(); - while (iterator.hasNext()) - { - - final ILocator<LOCATORTYPE, CONTEXTTYPE, IDTYPE> next = iterator.next(); - next.addListener(this); - next.start(initialContext); - } - _delegate.start(initialContext); - } - throw new IllegalStateException("canStart must be called before calling start"); //$NON-NLS-1$ - } - - public boolean canStart() - { - boolean canStart = true; - final Iterator<ILocator<LOCATORTYPE, CONTEXTTYPE, IDTYPE>> iterator = getIterator(); - while (canStart && iterator.hasNext()) - { - canStart &= iterator.next().canStart(); - } - - return canStart && _delegate.canStart(); - } - - public boolean isStarted() - { - return _delegate.isStarted(); - } - - public void stop() - { - if (!isStarted()) - { - final Iterator<ILocator<LOCATORTYPE, CONTEXTTYPE, IDTYPE>> iterator = getIterator(); - while (iterator.hasNext()) - { - final ILocator<LOCATORTYPE, CONTEXTTYPE, IDTYPE> next = iterator.next(); - next.removeListener(this); - next.stop(); - } - - _delegate.stop(); - } - } - - public COMPOSITETYPE locate(final CONTEXTTYPE context) - { - return _delegate.locate(context); - } - - @Override - public COMPOSITETYPE getNoResult() - { - return _noResultValue; - } - - - public void changed(final LocatorChangeEvent event) - { - _delegate.fireChangeEvent(event); - } - - - public void addListener(final ILocatorChangeListener listener) - { - _delegate.addListener(listener); - } - - - public void removeListener(final ILocatorChangeListener listener) - { - _delegate.removeListener(listener); - } - - /** - * Re-fire events from composed strategies. - * - * @param event - */ - protected void fireChangeEvent(final LocatorChangeEvent event) - { - _delegate.fireChangeEvent(event); - } - -} |