org.nakedobjects.metamodel.facets
Interface Facet

All Known Subinterfaces:
ActionChoicesFacet, ActionDefaultsFacet, ActionInvocationFacet, ActionOrderFacet, ActionParameterChoicesFacet, ActionParameterDefaultsFacet, ActionValidationFacet, AggregatedFacet, BigDecimalValueFacet, BigIntegerValueFacet, BooleanValueFacet, BoundedFacet, BusinessKeyFacet, ByteValueFacet, CachedFacet, CallbackFacet, CharValueFacet, ClearDirtyObjectFacet, CollectionAddToFacet, CollectionClearFacet, CollectionFacet, CollectionRemoveFromFacet, CollectionValidateAddToFacet, CollectionValidateRemoveFromFacet, ColorValueFacet, CreatedCallbackFacet, DateValueFacet, DebugFacet, DefaultedFacet, DerivedFacet, DescribedAsFacet, DirtyObjectFacet, DisabledFacet, DisableForContextFacet, DisableForSessionFacet, DisablingInteractionAdvisor, DoubleFloatingPointValueFacet, EncodableFacet, EqualByContentFacet, ExecutedFacet, ExplorationFacet, FacetsFacet, FieldOrderFacet, FloatingPointValueFacet, HelpFacet, HiddenFacet, HideForContextFacet, HideForSessionFacet, HidingInteractionAdvisor, IconFacet, IgnoreFacet, ImageValueFacet, ImmutableFacet, IntegerValueFacet, InteractionAdvisorFacet, IsDirtyObjectFacet, LoadedCallbackFacet, LoadingCallbackFacet, LongValueFacet, MandatoryFacet, MarkDirtyObjectFacet, MarkerFacet, MaskFacet, MaxLengthFacet, MemberOrderFacet, MoneyValueFacet, MultiLineFacet, MultilineStringValueFacet, MultipleValueFacet, MultiTypedFacet, NamedFacet, NotPersistableFacet, NotPersistedFacet, ObjectValidPropertiesFacet, ParseableFacet, PasswordValueFacet, PersistedCallbackFacet, PersistingCallbackFacet, PluralFacet, PropertyAccessorFacet, PropertyChoicesFacet, PropertyClearFacet, PropertyDefaultFacet, PropertyInitializationFacet, PropertySetterFacet, PropertyValidateFacet, RegExFacet, RemovedCallbackFacet, RemovingCallbackFacet, SearchableFacet, ShortValueFacet, SingleClassValueFacet, SingleIntValueFacet, SingleStringValueFacet, SingleValueFacet, SingleWhenValueFacet, StringValueFacet, TitleFacet, TypeOfFacet, TypicalLengthFacet, UpdatedCallbackFacet, UpdatingCallbackFacet, ValidateObjectFacet, ValidatingInteractionAdvisor, ValueFacet
All Known Implementing Classes:
ActionChoicesFacetAbstract, ActionChoicesFacetNone, ActionChoicesFacetViaMethod, ActionDefaultsFacetAbstract, ActionDefaultsFacetDerivedFromDefaultedFacets, ActionDefaultsFacetNone, ActionDefaultsFacetViaMethod, ActionInvocationFacetAbstract, ActionInvocationFacetViaMethod, ActionOrderFacetAbstract, ActionOrderFacetAnnotation, ActionParameterChoicesFacetAbstract, ActionParameterChoicesFacetNone, ActionParameterChoicesFacetViaMethod, ActionParameterDefaultsFacetAbstract, ActionParameterDefaultsFacetNone, ActionParameterDefaultsFacetViaMethod, ActionValidationFacetAbstract, ActionValidationFacetViaMethod, AggregatedFacetAbstract, AggregatedFacetAlways, AggregatedFacetAnnotation, AggregatedFacetImpl, AggregatedSinceCollection, BigDecimalValueSemanticsProvider, BigIntegerValueSemanticsProvider, BooleanPrimitiveValueSemanticsProvider, BooleanValueSemanticsProviderAbstract, BooleanWrapperValueSemanticsProvider, BoundedFacetAbstract, BoundedFacetAnnotation, BoundedFacetImpl, BoundedFacetMarkerInterface, BusinessKeyFacetAbstract, BytePrimitiveValueSemanticsProvider, ByteValueSemanticsProviderAbstract, ByteWrapperValueSemanticsProvider, CachedFacetAbstract, CallbackFacetAbstract, CharPrimitiveValueSemanticsProvider, CharValueSemanticsProviderAbstract, CharWrapperValueSemanticsProvider, ClearDirtyObjectFacetAbstract, ClearDirtyObjectFacetViaMethod, CollectionAddToFacetAbstract, CollectionAddToFacetViaAccessor, CollectionAddToFacetViaMethod, CollectionClearFacetAbstract, CollectionClearFacetViaAccessor, CollectionClearFacetViaMethod, CollectionFacetAbstract, CollectionRemoveFromFacetAbstract, CollectionRemoveFromFacetViaAccessor, CollectionRemoveFromFacetViaMethod, CollectionValidateAddToFacetAbstract, CollectionValidateAddToFacetViaMethod, CollectionValidateRemoveFromFacetAbstract, CollectionValidateRemoveFromFacetViaMethod, ColorValueSemanticsProvider, CreatedCallbackFacetAbstract, CreatedCallbackFacetViaMethod, DateTimeValueSemanticsProvider, DateValueSemanticsProvider, DateValueSemanticsProviderAbstract, DebugFacetAbstract, DebugFacetAnnotation, DebugFacetViaNamingConvention, DefaultedFacetAbstract, DefaultedFacetAnnotation, DefaultedFacetFromConfiguration, DefaultedFacetUsingDefaultsProvider, DerivedFacetAbstract, DerivedFacetInferred, DescribedAsFacetAbstract, DescribedAsFacetAnnotation, DescribedAsFacetDerivedFromType, DescribedAsFacetImpl, DescribedAsFacetNone, DescribedAsFacetViaMethod, DirtyObjectFacetAbstract, DisabledFacetAbstract, DisabledFacetAlways, DisabledFacetAnnotation, DisabledFacetDerivedFromImmutable, DisabledFacetImpl, DisabledFacetNever, DisableForContextFacetAbstract, DisableForContextFacetNone, DisableForContextFacetViaMethod, DisableForSessionFacetAbstract, DisableForSessionFacetNone, DisableForSessionFacetViaMethod, DoublePrimitiveValueSemanticsProvider, DoubleValueSemanticsProviderAbstract, DoubleWrapperValueSemanticsProvider, EncodableFacetAbstract, EncodableFacetAnnotation, EncodableFacetFromConfiguration, EncodableFacetUsingEncoderDecoder, EqualByContentFacetAbstract, EqualByContentFacetImpl, EqualByContentFacetViaValueSemantics, ExecutedFacetAbstract, ExecutedFacetAnnotation, ExecutedFacetAtDefault, ExecutedFacetViaNamingConvention, ExplorationFacetAbstract, ExplorationFacetAnnotation, ExplorationFacetViaNamingConvention, FacetAbstract, FacetsFacetAbstract, FacetsFacetAnnotation, FieldOrderFacetAbstract, FieldOrderFacetAnnotation, FloatPrimitiveValueSemanticsProvider, FloatValueSemanticsProviderAbstract, FloatWrapperValueSemanticsProvider, HelpFacetAbstract, HelpFacetNone, HiddenFacetAbstract, HiddenFacetAlways, HiddenFacetAnnotation, HiddenFacetImpl, HiddenFacetNever, HideForContextFacetAbstract, HideForContextFacetNone, HideForContextFacetViaMethod, HideForSessionFacetAbstract, HideForSessionFacetNone, HideForSessionFacetViaMethod, IconFacetAbstract, IconFacetViaMethod, IgnoreFacetAbstract, ImageValueSemanticsProvider, ImageValueSemanticsProviderAbstract, ImmutableFacetAbstract, ImmutableFacetAnnotation, ImmutableFacetImpl, ImmutableFacetMarkerInterface, ImmutableFacetNever, ImmutableFacetViaValueSemantics, InstancesCollectionFacet, IntPrimitiveValueSemanticsProvider, IntValueSemanticsProviderAbstract, IntWrapperValueSemanticsProvider, IsDirtyObjectFacetAbstract, IsDirtyObjectFacetViaMethod, JavaArrayFacet, JavaAwtImageValueSemanticsProvider, JavaCollectionFacet, JavaSqlDateValueSemanticsProvider, JavaSqlTimeValueSemanticsProvider, JavaUtilDateValueSemanticsProvider, JavaUtilDateValueSemanticsProviderAbstract, LoadedCallbackFacetAbstract, LoadedCallbackFacetViaMethod, LoadingCallbackFacetAbstract, LoadingCallbackFacetViaMethod, LongPrimitiveValueSemanticsProvider, LongValueSemanticsProviderAbstract, LongWrapperValueSemanticsProvider, MandatoryFacetAbstract, MandatoryFacetDefault, MandatoryFacetOverriddenByMethod, MarkDirtyObjectFacetAbstract, MarkDirtyObjectFacetViaMethod, MarkerFacetAbstract, MaskFacetAbstract, MaskFacetAnnotation, MaxLengthFacetAbstract, MaxLengthFacetAnnotation, MaxLengthFacetUnlimited, MemberOrderFacetAbstract, MemberOrderFacetAnnotation, MoneyValueSemanticsProvider, MultiLineFacetAbstract, MultiLineFacetAnnotation, MultiLineFacetNone, MultipleValueFacetAbstract, MultiTypedFacetAbstract, MustSatisfySpecificationFacet, NamedFacetAbstract, NamedFacetAnnotation, NamedFacetImpl, NamedFacetInferred, NamedFacetNone, NamedFacetViaMethod, NamedFacetViaMethod, NotPersistableFacetAbstract, NotPersistableFacetAnnotation, NotPersistableFacetImpl, NotPersistableFacetMarkerInterface, NotPersistableFacetNull, NotPersistedFacetAbstract, NotPersistedFacetAnnotation, ObjectValidPropertiesFacetAbstract, ObjectValidPropertiesFacetImpl, OptionalFacet, ParseableFacetAbstract, ParseableFacetAnnotation, ParseableFacetFromConfiguration, ParseableFacetUsingParser, PasswordValueSemanticsProvider, PercentageValueSemanticsProvider, PersistedCallbackFacetAbstract, PersistedCallbackFacetViaMethod, PersistingCallbackFacetAbstract, PersistingCallbackFacetViaMethod, PluralFacetAbstract, PluralFacetAnnotation, PluralFacetInferred, PluralFacetViaMethod, PropertyAccessorFacetAbstract, PropertyAccessorFacetViaAccessor, PropertyChoicesFacetAbstract, PropertyChoicesFacetViaMethod, PropertyClearFacetAbstract, PropertyClearFacetViaClearMethod, PropertyClearFacetViaSetterMethod, PropertyDefaultFacetAbstract, PropertyDefaultFacetDerivedFromDefaultedFacet, PropertyDefaultFacetNone, PropertyDefaultFacetViaMethod, PropertyInitializationFacetAbstract, PropertyInitializationFacetViaSetterMethod, PropertySetterFacetAbstract, PropertySetterFacetViaModifyMethod, PropertySetterFacetViaSetterMethod, PropertyValidateFacetAbstract, PropertyValidateFacetDefault, PropertyValidateFacetNone, PropertyValidateFacetViaMethod, RegExFacetAbstract, RegExFacetAnnotation, RemovedCallbackFacetAbstract, RemovedCallbackFacetViaMethod, RemovingCallbackFacetAbstract, RemovingCallbackFacetViaMethod, SearchableFacetAbstract, ShortPrimitiveValueSemanticsProvider, ShortValueSemanticsProviderAbstract, ShortWrapperValueSemanticsProvider, SingleClassValueFacetAbstract, SingleIntValueFacetAbstract, SingleStringValueFacetAbstract, SingleValueFacetAbstract, SingleWhenValueFacetAbstract, StringValueSemanticsProvider, TimeStampValueSemanticsProvider, TimeValueSemanticsProvider, TimeValueSemanticsProviderAbstract, TitleFacetAbstract, TitleFacetBasedOnMask, TitleFacetFormattedByRegex, TitleFacetNone, TitleFacetUsingParser, TitleFacetViaTitleMethod, TitleFacetViaToStringMethod, TypeOfFacetAbstract, TypeOfFacetDefaultToObject, TypeOfFacetInferredFromArray, TypeOfFacetInferredFromGenerics, TypeOfFacetInferredFromSupportingMethods, TypeOfFacetViaAnnotation, TypicalLengthFacetAbstract, TypicalLengthFacetAnnotation, TypicalLengthFacetDerivedFromType, TypicalLengthFacetUsingParser, TypicalLengthFacetZero, UpdatedCallbackFacetAbstract, UpdatedCallbackFacetViaMethod, UpdatingCallbackFacetAbstract, UpdatingCallbackFacetViaMethod, ValidateObjectFacetAbstract, ValidateObjectFacetViaValidateMethod, ValueFacetAbstract, ValueFacetAnnotation, ValueFacetFromConfiguration, ValueFacetUsingSemanticsProvider, ValueSemanticsProviderAbstract, ValueSemanticsProviderAbstractTemporal

public interface Facet


Method Summary
 boolean alwaysReplace()
          Whether this facet implementation should replace existing (none-noop) implementations.
 java.lang.Class<? extends Facet> facetType()
          Determines the type of this facet to be stored under.
 FacetHolder getFacetHolder()
          The holder of this facet.
 Facet getUnderlyingFacet()
          Underlying Facet of the same type, if any.
 boolean isDerived()
          Whether this facet implementation is derived (as opposed to explicit); used to determine precedence.
 boolean isNoop()
          Whether this facet implementation is a no-op.
 void setFacetHolder(FacetHolder facetHolder)
          Allows reparenting of Facet.
 void setUnderlyingFacet(Facet underlyingFacet)
          Sets underlying Facet, that is, creating a chain.
 

Method Detail

getFacetHolder

FacetHolder getFacetHolder()
The holder of this facet.

Returns:

setFacetHolder

void setFacetHolder(FacetHolder facetHolder)
Allows reparenting of Facet.

Used by Facet decorators.

Parameters:
facetHolder -

getUnderlyingFacet

Facet getUnderlyingFacet()
Underlying Facet of the same type, if any.


setUnderlyingFacet

void setUnderlyingFacet(Facet underlyingFacet)
Sets underlying Facet, that is, creating a chain.

Must be of the same type.


facetType

java.lang.Class<? extends Facet> facetType()
Determines the type of this facet to be stored under.

The framework looks for Facets of certain well-known facet types. Each facet implementation must specify which type of facet it corresponds to. This therefore allows the (rules of the) programming model to be varied without impacting the rest of the framework.

For example, the ActionInvocationFacet specifies the facet to invoke an action. The typical implementation of this wraps a public method. However, a different facet factory could be installed that creates facet also of type ActionInvocationFacet but that have some other rule, such as requiring an action prefix, or that decorate the interaction by logging it, for example.


isDerived

boolean isDerived()
Whether this facet implementation is derived (as opposed to explicit); used to determine precedence.

For example, we might derive the typical length of a property based on its type; but if the typical length has been explicitly specified using an annotation then that should take precedence.


isNoop

boolean isNoop()
Whether this facet implementation is a no-op.


alwaysReplace

boolean alwaysReplace()
Whether this facet implementation should replace existing (none-noop) implementations.



Copyright © 2001-2009 Naked Objects Group Ltd.. All Rights Reserved.