org.eclipse.jst.jsf.context
Interface IDelegatingFactory
-
All Known Implementing Classes:
-
AbstractDelegatingFactory,
AbstractStructuredDocumentContextFactory,
StructuredDocumentSymbolResolverFactory
-
public interface IDelegatingFactory
Defines a type of factory that can have delegate factories to help it
create an appropriate instance type. The general contract for implementors
is:
1) You must follow the isValidDelegate contract.
2) You should try to create an instance yourself and only delegate
if cannot do it yourself. Deviations from this rule must be
clearly documented to ensure clients understand how the factory works.
Clients may NOT implement this interface.
Extend AbstractDelegatingFactory instead.
Method Summary
|
void
|
addFactoryDelegate
(IAdaptable delegate)
Adds delgate to the end of the list of factory delegates if the list
does not already contain it. |
java.util.List<java.lang.Class>
|
getValidDelegateTypes
()
|
boolean
|
isValidDelegate
(IAdaptable delegate)
The return value of this method should conform to the following contract:
Let v = getValidDelegates. |
boolean
|
removeFactoryDelegate
(IAdaptable delegate)
|
addFactoryDelegate
void addFactoryDelegate(IAdaptable delegate)
- Adds delgate to the end of the list of factory delegates if the list
does not already contain it.
-
-
Parameters:
-
delegate
-
-
Throws:
-
java.lang.ClassCastException
- if delegate does not implement an expected
interface. Each implementor can define what delegates are valid
based on the isValidDelegate() and getValidDelegates contracts
removeFactoryDelegate
boolean removeFactoryDelegate(IAdaptable delegate)
-
-
Parameters:
-
delegate
-
-
Returns:
- true if delegate was removed, false if delegate wasn't in
the list of delegates
getValidDelegateTypes
java.util.List<java.lang.Class> getValidDelegateTypes()
-
-
Returns:
- a list of Class objects that represent the interfaces
that may be passed to addFactoryDelegate. Implementor should
return at least one supported class.
isValidDelegate
boolean isValidDelegate(IAdaptable delegate)
- The return value of this method should conform to the following contract:
Let v = getValidDelegates. Then isValidDelegate should return true
only if the set of v contains a Class for which delegate.getAdapter(Class)
returns a non-null value.
-
-
Parameters:
-
delegate
-
-
Returns:
- true if delegate is supported, false otherwise.