All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.nakedobjects.metamodel.specloader.progmodelfacets.ProgrammingModelFacetsJava5 Maven / Gradle / Ivy

The newest version!
package org.nakedobjects.metamodel.specloader.progmodelfacets;

import javax.security.sasl.AuthorizeCallback;

import org.nakedobjects.metamodel.facets.actcoll.typeof.TypeOfAnnotationFacetFactory;
import org.nakedobjects.metamodel.facets.actions.ActionMethodsFacetFactory;
import org.nakedobjects.metamodel.facets.actions.IteratorFilteringFacetFactory;
import org.nakedobjects.metamodel.facets.actions.SyntheticMethodFilteringFacetFactory;
import org.nakedobjects.metamodel.facets.actions.debug.DebugAnnotationFacetFactory;
import org.nakedobjects.metamodel.facets.actions.executed.ExecutedAnnotationFacetFactory;
import org.nakedobjects.metamodel.facets.actions.executed.ExecutedViaNamingConventionFacetFactory;
import org.nakedobjects.metamodel.facets.actions.exploration.ExplorationAnnotationFacetFactory;
import org.nakedobjects.metamodel.facets.collections.CollectionFacetFactory;
import org.nakedobjects.metamodel.facets.collections.CollectionFieldMethodsFacetFactory;
import org.nakedobjects.metamodel.facets.collections.aggregated.AggregatedIfCollectionFacetFactory;
import org.nakedobjects.metamodel.facets.disable.DisabledAnnotationFacetFactory;
import org.nakedobjects.metamodel.facets.hide.HiddenAnnotationFacetFactory;
import org.nakedobjects.metamodel.facets.ignore.RemoveIgnoreAnnotationMethodsFacetFactory;
import org.nakedobjects.metamodel.facets.naming.describedas.DescribedAsAnnotationFacetFactory;
import org.nakedobjects.metamodel.facets.naming.named.NamedAnnotationFacetFactory;
import org.nakedobjects.metamodel.facets.object.aggregated.AggregatedAnnotationFacetFactory;
import org.nakedobjects.metamodel.facets.object.bounded.BoundedAnnotationFacetFactory;
import org.nakedobjects.metamodel.facets.object.bounded.BoundedMarkerInterfaceFacetFactory;
import org.nakedobjects.metamodel.facets.object.callbacks.CreatedCallbackFacetFactory;
import org.nakedobjects.metamodel.facets.object.callbacks.LoadCallbackFacetFactory;
import org.nakedobjects.metamodel.facets.object.callbacks.PersistCallbackFacetFactory;
import org.nakedobjects.metamodel.facets.object.callbacks.RemoveCallbackFacetFactory;
import org.nakedobjects.metamodel.facets.object.callbacks.SaveCallbackFacetFactory;
import org.nakedobjects.metamodel.facets.object.callbacks.UpdateCallbackFacetFactory;
import org.nakedobjects.metamodel.facets.object.defaults.DefaultedAnnotationFacetFactory;
import org.nakedobjects.metamodel.facets.object.dirty.DirtyMethodsFacetFactory;
import org.nakedobjects.metamodel.facets.object.encodeable.EncodableAnnotationFacetFactory;
import org.nakedobjects.metamodel.facets.object.facets.FacetsAnnotationFacetFactory;
import org.nakedobjects.metamodel.facets.object.ident.icon.IconMethodFacetFactory;
import org.nakedobjects.metamodel.facets.object.ident.plural.PluralAnnotationFacetFactory;
import org.nakedobjects.metamodel.facets.object.ident.plural.PluralMethodFacetFactory;
import org.nakedobjects.metamodel.facets.object.ident.singular.SingularMethodFacetFactory;
import org.nakedobjects.metamodel.facets.object.ident.title.TitleMethodFacetFactory;
import org.nakedobjects.metamodel.facets.object.immutable.ImmutableAnnotationFacetFactory;
import org.nakedobjects.metamodel.facets.object.immutable.ImmutableMarkerInterfacesFacetFactory;
import org.nakedobjects.metamodel.facets.object.notpersistable.NotPersistableAnnotationFacetFactory;
import org.nakedobjects.metamodel.facets.object.notpersistable.NotPersistableMarkerInterfacesFacetFactory;
import org.nakedobjects.metamodel.facets.object.parseable.ParseableFacetFactory;
import org.nakedobjects.metamodel.facets.object.validate.ValidateObjectViaValidateMethodFacetFactory;
import org.nakedobjects.metamodel.facets.object.validprops.ObjectValidPropertiesFacetFactory;
import org.nakedobjects.metamodel.facets.object.value.ValueFacetFactory;
import org.nakedobjects.metamodel.facets.ordering.actionorder.ActionOrderAnnotationFacetFactory;
import org.nakedobjects.metamodel.facets.ordering.fieldorder.FieldOrderAnnotationFacetFactory;
import org.nakedobjects.metamodel.facets.ordering.memberorder.MemberOrderAnnotationFacetFactory;
import org.nakedobjects.metamodel.facets.propcoll.notpersisted.NotPersistedAnnotationFacetFactory;
import org.nakedobjects.metamodel.facets.properties.PropertyMethodsFacetFactory;
import org.nakedobjects.metamodel.facets.properties.validate.PropertyValidateDefaultFacetFactory;
import org.nakedobjects.metamodel.facets.propparam.multiline.MultiLineAnnotationFacetFactory;
import org.nakedobjects.metamodel.facets.propparam.specification.MustSatisfySpecificationFacetFactory;
import org.nakedobjects.metamodel.facets.propparam.typicallength.TypicalLengthAnnotationFacetFactory;
import org.nakedobjects.metamodel.facets.propparam.typicallength.TypicalLengthDerivedFromTypeFacetFactory;
import org.nakedobjects.metamodel.facets.propparam.validate.mandatory.MandatoryDefaultFacetFactory;
import org.nakedobjects.metamodel.facets.propparam.validate.mandatory.OptionalAnnotationFacetFactory;
import org.nakedobjects.metamodel.facets.propparam.validate.mask.MaskAnnotationFacetFactory;
import org.nakedobjects.metamodel.facets.propparam.validate.maxlength.MaxLengthAnnotationFacetFactory;
import org.nakedobjects.metamodel.facets.propparam.validate.regex.RegExAnnotationFacetFactory;
import org.nakedobjects.metamodel.java5.FallbackFacetFactory;
import org.nakedobjects.metamodel.java5.RemoveGetClassMethodFacetFactory;
import org.nakedobjects.metamodel.java5.RemoveInitMethodFacetFactory;
import org.nakedobjects.metamodel.java5.RemoveJavaLangObjectMethodsFacetFactory;
import org.nakedobjects.metamodel.java5.RemoveSetDomainObjectContainerMethodFacetFactory;
import org.nakedobjects.metamodel.java5.RemoveStaticGettersAndSettersFacetFactory;
import org.nakedobjects.metamodel.java5.RemoveSuperclassMethodsFacetFactory;
import org.nakedobjects.metamodel.value.BigDecimalValueTypeFacetFactory;
import org.nakedobjects.metamodel.value.BigIntegerValueTypeFacetFactory;
import org.nakedobjects.metamodel.value.BooleanPrimitiveValueTypeFacetFactory;
import org.nakedobjects.metamodel.value.BooleanWrapperValueTypeFacetFactory;
import org.nakedobjects.metamodel.value.BytePrimitiveValueTypeFacetFactory;
import org.nakedobjects.metamodel.value.ByteWrapperValueTypeFacetFactory;
import org.nakedobjects.metamodel.value.CharPrimitiveValueTypeFacetFactory;
import org.nakedobjects.metamodel.value.CharWrapperValueTypeFacetFactory;
import org.nakedobjects.metamodel.value.ColorValueTypeFacetFactory;
import org.nakedobjects.metamodel.value.DateTimeValueTypeFacetFactory;
import org.nakedobjects.metamodel.value.DateValueTypeFacetFactory;
import org.nakedobjects.metamodel.value.DoublePrimitiveValueTypeFacetFactory;
import org.nakedobjects.metamodel.value.DoubleWrapperValueTypeFacetFactory;
import org.nakedobjects.metamodel.value.FloatPrimitiveValueTypeFacetFactory;
import org.nakedobjects.metamodel.value.FloatWrapperValueTypeFacetFactory;
import org.nakedobjects.metamodel.value.ImageValueTypeFacetFactory;
import org.nakedobjects.metamodel.value.IntPrimitiveValueTypeFacetFactory;
import org.nakedobjects.metamodel.value.IntWrapperValueTypeFacetFactory;
import org.nakedobjects.metamodel.value.JavaAwtImageValueTypeFacetFactory;
import org.nakedobjects.metamodel.value.JavaSqlDateValueTypeFacetFactory;
import org.nakedobjects.metamodel.value.JavaSqlTimeValueTypeFacetFactory;
import org.nakedobjects.metamodel.value.JavaUtilDateValueTypeFacetFactory;
import org.nakedobjects.metamodel.value.LongPrimitiveValueTypeFacetFactory;
import org.nakedobjects.metamodel.value.LongWrapperValueTypeFacetFactory;
import org.nakedobjects.metamodel.value.MoneyValueTypeFacetFactory;
import org.nakedobjects.metamodel.value.PasswordValueTypeFacetFactory;
import org.nakedobjects.metamodel.value.PercentageValueTypeFacetFactory;
import org.nakedobjects.metamodel.value.ShortPrimitiveValueTypeFacetFactory;
import org.nakedobjects.metamodel.value.ShortWrapperValueTypeFacetFactory;
import org.nakedobjects.metamodel.value.StringValueTypeFacetFactory;
import org.nakedobjects.metamodel.value.TimeStampValueTypeFacetFactory;
import org.nakedobjects.metamodel.value.TimeValueTypeFacetFactory;


public class ProgrammingModelFacetsJava5 extends ProgrammingModelFacetsAbstract {
	
	public ProgrammingModelFacetsJava5() {
		
        // must be first, so any Facets created can be replaced by other FacetFactorys later.
        addFactory(FallbackFacetFactory.class);

        addFactory(IteratorFilteringFacetFactory.class);
        addFactory(SyntheticMethodFilteringFacetFactory.class);
        addFactory(RemoveSuperclassMethodsFacetFactory.class);
        addFactory(RemoveJavaLangObjectMethodsFacetFactory.class);
        addFactory(RemoveSetDomainObjectContainerMethodFacetFactory.class);
        addFactory(RemoveInitMethodFacetFactory.class);
        addFactory(RemoveStaticGettersAndSettersFacetFactory.class);
        addFactory(RemoveGetClassMethodFacetFactory.class);
        addFactory(RemoveIgnoreAnnotationMethodsFacetFactory.class);

        // must be before any other FacetFactories that install MandatoryFacet.class facets
        addFactory(MandatoryDefaultFacetFactory.class);
        addFactory(PropertyValidateDefaultFacetFactory.class);

        addFactory(ActionMethodsFacetFactory.class);
        addFactory(CollectionFieldMethodsFacetFactory.class);
        addFactory(PropertyMethodsFacetFactory.class);
        addFactory(IconMethodFacetFactory.class);
        
        addFactory(CreatedCallbackFacetFactory.class);
        addFactory(LoadCallbackFacetFactory.class);
        addFactory(SaveCallbackFacetFactory.class);
        addFactory(PersistCallbackFacetFactory.class);
        addFactory(UpdateCallbackFacetFactory.class);
        addFactory(RemoveCallbackFacetFactory.class);
        
        addFactory(DirtyMethodsFacetFactory.class);
        addFactory(ValidateObjectViaValidateMethodFacetFactory.class);
        addFactory(ObjectValidPropertiesFacetFactory.class);
        addFactory(PluralMethodFacetFactory.class);
        addFactory(SingularMethodFacetFactory.class);
        addFactory(TitleMethodFacetFactory.class);

        addFactory(ActionOrderAnnotationFacetFactory.class);
        addFactory(AggregatedAnnotationFacetFactory.class);
        addFactory(BoundedAnnotationFacetFactory.class);
        addFactory(BoundedMarkerInterfaceFacetFactory.class);
        addFactory(DebugAnnotationFacetFactory.class);
        addFactory(DefaultedAnnotationFacetFactory.class);
        addFactory(DescribedAsAnnotationFacetFactory.class);
        addFactory(DisabledAnnotationFacetFactory.class);
        addFactory(EncodableAnnotationFacetFactory.class);
        addFactory(ExecutedAnnotationFacetFactory.class);
        addFactory(ExecutedViaNamingConventionFacetFactory.class);
        addFactory(ExplorationAnnotationFacetFactory.class);
        addFactory(FieldOrderAnnotationFacetFactory.class);
        addFactory(HiddenAnnotationFacetFactory.class);
        addFactory(ImmutableAnnotationFacetFactory.class);
        addFactory(ImmutableMarkerInterfacesFacetFactory.class);
        addFactory(MaxLengthAnnotationFacetFactory.class);
        addFactory(MemberOrderAnnotationFacetFactory.class);
        addFactory(MustSatisfySpecificationFacetFactory.class);
        addFactory(MultiLineAnnotationFacetFactory.class);
        addFactory(NamedAnnotationFacetFactory.class);
        addFactory(NotPersistableAnnotationFacetFactory.class);
        addFactory(NotPersistableMarkerInterfacesFacetFactory.class);
        addFactory(NotPersistedAnnotationFacetFactory.class);
        addFactory(OptionalAnnotationFacetFactory.class);
        addFactory(ParseableFacetFactory.class);
        addFactory(PluralAnnotationFacetFactory.class);
        // must come after any facets that install titles
        addFactory(MaskAnnotationFacetFactory.class);
        // must come after any facets that install titles, and after mask
        // if takes precedence over mask.
        addFactory(RegExAnnotationFacetFactory.class);
        addFactory(TypeOfAnnotationFacetFactory.class);
        addFactory(TypicalLengthAnnotationFacetFactory.class);
        addFactory(TypicalLengthDerivedFromTypeFacetFactory.class);

        // built-in value types for Java language
        addFactory(BooleanPrimitiveValueTypeFacetFactory.class);
        addFactory(BooleanWrapperValueTypeFacetFactory.class);
        addFactory(BytePrimitiveValueTypeFacetFactory.class);
        addFactory(ByteWrapperValueTypeFacetFactory.class);
        addFactory(ShortPrimitiveValueTypeFacetFactory.class);
        addFactory(ShortWrapperValueTypeFacetFactory.class);
        addFactory(IntPrimitiveValueTypeFacetFactory.class);
        addFactory(IntWrapperValueTypeFacetFactory.class);
        addFactory(LongPrimitiveValueTypeFacetFactory.class);
        addFactory(LongWrapperValueTypeFacetFactory.class);
        addFactory(FloatPrimitiveValueTypeFacetFactory.class);
        addFactory(FloatWrapperValueTypeFacetFactory.class);
        addFactory(DoublePrimitiveValueTypeFacetFactory.class);
        addFactory(DoubleWrapperValueTypeFacetFactory.class);
        addFactory(CharPrimitiveValueTypeFacetFactory.class);
        addFactory(CharWrapperValueTypeFacetFactory.class);
        addFactory(BigIntegerValueTypeFacetFactory.class);
        addFactory(BigDecimalValueTypeFacetFactory.class);
        addFactory(JavaSqlDateValueTypeFacetFactory.class);
        addFactory(JavaSqlTimeValueTypeFacetFactory.class);
        addFactory(JavaUtilDateValueTypeFacetFactory.class);
        addFactory(StringValueTypeFacetFactory.class);
        
        // applib values
        addFactory(DateValueTypeFacetFactory.class);
        addFactory(DateTimeValueTypeFacetFactory.class);
        addFactory(ColorValueTypeFacetFactory.class);
        addFactory(MoneyValueTypeFacetFactory.class);
        addFactory(PasswordValueTypeFacetFactory.class);
        addFactory(PercentageValueTypeFacetFactory.class);
        addFactory(TimeStampValueTypeFacetFactory.class);
        addFactory(TimeValueTypeFacetFactory.class);
        addFactory(ImageValueTypeFacetFactory.class);        
        addFactory(JavaAwtImageValueTypeFacetFactory.class);


        // written to not trample over TypeOf if already // installed
        addFactory(CollectionFacetFactory.class);
        // must come after CollectionFacetFactory
        addFactory(AggregatedIfCollectionFacetFactory.class);
        
        // so we can dogfood the NO applib "value" types
        addFactory(ValueFacetFactory.class);

        addFactory(FacetsAnnotationFacetFactory.class);
	}


}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy