|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface ImperativeFacet
A Facet implementation that ultimately wraps a Method or possibly several equivalent methods,
for a Java implementation of a NakedObjectMember.
Used by JavaSpecification#getMember(Method) in order to reverse lookup NakedObjectMembers
from underlying Methods. So, for example, the facets that represents an action xxx, or an
validateXxx method, or an addToXxx collection, can all be used to lookup the member.
Note that Facets relating to the class itself (ie for NakedObjectSpecification) should not
implement this interface.
| Field Summary | |
|---|---|
static Filter<Facet> |
FILTER
For use by FacetHolder#getFacets(org.nakedobjects.metamodel.facets.org.nakedobjects.nof.arch.facets.Facet.Filter) |
| Method Summary | |
|---|---|
java.util.List<java.lang.reflect.Method> |
getMethods()
The Methods invoked by this Facet. |
boolean |
impliesObjectChanged()
Whether invoking this method requires an DomainObjectContainer.objectChanged(Object)
to occur afterwards. |
boolean |
impliesResolve()
Whether invoking this requires a DomainObjectContainer.resolve(Object) to occur first. |
| Field Detail |
|---|
static final Filter<Facet> FILTER
FacetHolder#getFacets(org.nakedobjects.metamodel.facets.org.nakedobjects.nof.arch.facets.Facet.Filter)
| Method Detail |
|---|
java.util.List<java.lang.reflect.Method> getMethods()
Methods invoked by this Facet.
In the vast majority of cases there is only a single Method (eg wrapping a property's getter). However,
some Facets, such as those for callbacks, could map to multiple Methods.
Implementations that will return multiple Methods should implement the
ImperativeFacetMulti sub-interface that provides the ability to
add Methods as part of the interface API. For example:
if (someFacet instanceof ImperativeFacetMulti) {
ImperativeFacetMulti ifm = (ImperativeFacetMulti)someFacet;
ifm.addMethod(...);
}
boolean impliesResolve()
DomainObjectContainer.resolve(Object) to occur first.
boolean impliesObjectChanged()
DomainObjectContainer.objectChanged(Object)
to occur afterwards.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||