001/* 002 * Licensed to the Apache Software Foundation (ASF) under one 003 * or more contributor license agreements. See the NOTICE file 004 * distributed with this work for additional information 005 * regarding copyright ownership. The ASF licenses this file 006 * to you under the Apache License, Version 2.0 (the 007 * "License"); you may not use this file except in compliance 008 * with the License. You may obtain a copy of the License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, 013 * software distributed under the License is distributed on an 014 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 015 * KIND, either express or implied. See the License for the 016 * specific language governing permissions and limitations 017 * under the License. 018 */ 019 020package org.apache.isis.progmodels.dflt; 021 022import org.apache.isis.core.metamodel.facets.object.audit.annotation.AuditableFromAuditedAnnotationFacetFactory; 023import org.apache.isis.core.metamodel.facets.object.audit.configuration.AuditableFromConfigurationFacetFactory; 024import org.apache.isis.core.metamodel.facets.object.audit.markerifc.AuditableMarkerInterfaceFacetFactory; 025import org.apache.isis.core.metamodel.progmodel.ProgrammingModelAbstract; 026import org.apache.isis.core.progmodel.facets.actions.bulk.annotation.BulkAnnotationFacetFactory; 027import org.apache.isis.core.progmodel.facets.actions.command.annotation.CommandAnnotationFacetFactory; 028import org.apache.isis.core.progmodel.facets.actions.command.configuration.CommandFromConfigurationFacetFactory; 029import org.apache.isis.core.progmodel.facets.actions.debug.annotation.DebugAnnotationFacetFactory; 030import org.apache.isis.core.progmodel.facets.actions.defaults.method.ActionDefaultsFacetFactory; 031import org.apache.isis.core.progmodel.facets.actions.exploration.annotation.ExplorationAnnotationFacetFactory; 032import org.apache.isis.core.progmodel.facets.actions.homepage.HomePageAnnotationFacetFactory; 033import org.apache.isis.core.progmodel.facets.actions.invoke.ActionInvocationFacetFactory; 034import org.apache.isis.core.progmodel.facets.actions.invoke.event.PostsActionInvokedEventFacetFactory; 035import org.apache.isis.core.progmodel.facets.actions.notcontributed.annotation.NotContributedAnnotationFacetFactory; 036import org.apache.isis.core.progmodel.facets.actions.notinservicemenu.annotation.NotInServiceMenuAnnotationFacetFactory; 037import org.apache.isis.core.progmodel.facets.actions.notinservicemenu.method.NotInServiceMenuMethodFacetFactory; 038import org.apache.isis.core.progmodel.facets.actions.prototype.annotation.PrototypeAnnotationFacetFactory; 039import org.apache.isis.core.progmodel.facets.actions.publish.PublishedActionAnnotationFacetFactory; 040import org.apache.isis.core.progmodel.facets.actions.semantics.ActionSemanticsAnnotationFacetFactory; 041import org.apache.isis.core.progmodel.facets.actions.semantics.ActionSemanticsFallbackFacetFactory; 042import org.apache.isis.core.progmodel.facets.actions.semantics.IdempotentAnnotationFacetFactory; 043import org.apache.isis.core.progmodel.facets.actions.semantics.QueryOnlyAnnotationFacetFactory; 044import org.apache.isis.core.progmodel.facets.actions.typeof.annotation.TypeOfAnnotationForActionsFacetFactory; 045import org.apache.isis.core.progmodel.facets.actions.validate.method.ActionValidationFacetViaValidateMethodFacetFactory; 046import org.apache.isis.core.progmodel.facets.collections.accessor.CollectionAccessorFacetFactory; 047import org.apache.isis.core.progmodel.facets.collections.aggregated.ParentedSinceCollectionFacetFactory; 048import org.apache.isis.core.progmodel.facets.collections.clear.CollectionClearFacetFactory; 049import org.apache.isis.core.progmodel.facets.collections.collection.CollectionFacetFactory; 050import org.apache.isis.core.progmodel.facets.collections.disabled.fromimmutable.DisabledFacetForCollectionDerivedFromImmutableTypeFacetFactory; 051import org.apache.isis.core.progmodel.facets.collections.event.PostsCollectionAddedToEventAnnotationFacetFactory; 052import org.apache.isis.core.progmodel.facets.collections.event.PostsCollectionRemovedFromEventAnnotationFacetFactory; 053import org.apache.isis.core.progmodel.facets.collections.modify.CollectionAddRemoveAndValidateFacetFactory; 054import org.apache.isis.core.progmodel.facets.collections.notpersisted.annotation.NotPersistedAnnotationForCollectionFacetFactory; 055import org.apache.isis.core.progmodel.facets.collections.sortedby.SortedByAnnotationFacetFactory; 056import org.apache.isis.core.progmodel.facets.collections.typeof.TypeOfAnnotationForCollectionsFacetFactory; 057import org.apache.isis.core.progmodel.facets.fallback.FallbackFacetFactory; 058import org.apache.isis.core.progmodel.facets.members.cssclass.CssClassOnMemberFacetFactory; 059import org.apache.isis.core.progmodel.facets.members.describedas.annotation.DescribedAsOnMemberFacetFactory; 060import org.apache.isis.core.progmodel.facets.members.describedas.staticmethod.DescribedAsFacetViaDescriptionMethodFacetFactory; 061import org.apache.isis.core.progmodel.facets.members.disabled.annotation.DisabledFacetFactory; 062import org.apache.isis.core.progmodel.facets.members.disabled.forsession.DisabledFacetViaDisableForSessionMethodFacetFactory; 063import org.apache.isis.core.progmodel.facets.members.disabled.method.DisabledFacetViaDisableMethodFacetFactory; 064import org.apache.isis.core.progmodel.facets.members.disabled.staticmethod.DisabledFacetViaProtectMethodFacetFactory; 065import org.apache.isis.core.progmodel.facets.members.hidden.annotation.HiddenForMemberFacetFactory; 066import org.apache.isis.core.progmodel.facets.members.hidden.forsession.HiddenFacetViaHideForSessionMethodFacetFactory; 067import org.apache.isis.core.progmodel.facets.members.hidden.method.HiddenFacetViaHideMethodFacetFactory; 068import org.apache.isis.core.progmodel.facets.members.hidden.staticmethod.HiddenFacetViaAlwaysHideMethodFacetFactory; 069import org.apache.isis.core.progmodel.facets.members.named.annotation.NamedOnMemberFacetFactory; 070import org.apache.isis.core.progmodel.facets.members.named.staticmethod.NamedFacetViaNameMethodFacetFactory; 071import org.apache.isis.core.progmodel.facets.members.order.MemberOrderFacetFactory; 072import org.apache.isis.core.progmodel.facets.members.resolve.RenderOrResolveFacetFactory; 073import org.apache.isis.core.progmodel.facets.object.aggregated.annotation.AggregatedAnnotationFacetFactory; 074import org.apache.isis.core.progmodel.facets.object.autocomplete.annotation.AutoCompleteAnnotationFacetFactory; 075import org.apache.isis.core.progmodel.facets.object.bookmarkable.annotation.BookmarkableAnnotationFacetFactory; 076import org.apache.isis.core.progmodel.facets.object.bounded.annotation.BoundedAnnotationFacetFactory; 077import org.apache.isis.core.progmodel.facets.object.bounded.markerifc.BoundedMarkerInterfaceFacetFactory; 078import org.apache.isis.core.progmodel.facets.object.callbacks.create.CreatedCallbackFacetFactory; 079import org.apache.isis.core.progmodel.facets.object.callbacks.load.LoadCallbackFacetFactory; 080import org.apache.isis.core.progmodel.facets.object.callbacks.persist.PersistCallbackFacetFactory; 081import org.apache.isis.core.progmodel.facets.object.callbacks.persist.PersistCallbackViaSaveMethodFacetFactory; 082import org.apache.isis.core.progmodel.facets.object.callbacks.remove.RemoveCallbackFacetFactory; 083import org.apache.isis.core.progmodel.facets.object.callbacks.update.UpdateCallbackFacetFactory; 084import org.apache.isis.core.progmodel.facets.object.choices.enums.EnumFacetFactory; 085import org.apache.isis.core.progmodel.facets.object.cssclass.CssClassAnnotationForTypeFacetFactory; 086import org.apache.isis.core.progmodel.facets.object.defaults.annotation.DefaultedAnnotationFacetFactory; 087import org.apache.isis.core.progmodel.facets.object.describedas.annotation.DescribedAsAnnotationOnTypeFacetFactory; 088import org.apache.isis.core.progmodel.facets.object.dirty.method.DirtyMethodsFacetFactory; 089import org.apache.isis.core.progmodel.facets.object.disabled.method.DisabledObjectViaDisabledMethodFacetFactory; 090import org.apache.isis.core.progmodel.facets.object.encodeable.EncodableAnnotationFacetFactory; 091import org.apache.isis.core.progmodel.facets.object.facets.annotation.FacetsAnnotationFacetFactory; 092import org.apache.isis.core.progmodel.facets.object.hidden.HiddenAnnotationForTypeFacetFactory; 093import org.apache.isis.core.progmodel.facets.object.hidden.method.HiddenObjectViaHiddenMethodFacetFactory; 094import org.apache.isis.core.progmodel.facets.object.icon.method.IconMethodFacetFactory; 095import org.apache.isis.core.progmodel.facets.object.ignore.annotation.RemoveProgrammaticOrIgnoreAnnotationMethodsFacetFactory; 096import org.apache.isis.core.progmodel.facets.object.ignore.isis.RemoveSetDomainObjectContainerMethodFacetFactory; 097import org.apache.isis.core.progmodel.facets.object.ignore.isis.RemoveStaticGettersAndSettersFacetFactory; 098import org.apache.isis.core.progmodel.facets.object.ignore.javalang.IteratorFilteringFacetFactory; 099import org.apache.isis.core.progmodel.facets.object.ignore.javalang.RemoveGetClassMethodFacetFactory; 100import org.apache.isis.core.progmodel.facets.object.ignore.javalang.RemoveInitMethodFacetFactory; 101import org.apache.isis.core.progmodel.facets.object.ignore.javalang.RemoveInjectMethodsFacetFactory; 102import org.apache.isis.core.progmodel.facets.object.ignore.javalang.RemoveJavaLangComparableMethodsFacetFactory; 103import org.apache.isis.core.progmodel.facets.object.ignore.javalang.RemoveJavaLangObjectMethodsFacetFactory; 104import org.apache.isis.core.progmodel.facets.object.ignore.javalang.RemoveSuperclassMethodsFacetFactory; 105import org.apache.isis.core.progmodel.facets.object.ignore.javalang.RemoveSyntheticOrAbstractMethodsFacetFactory; 106import org.apache.isis.core.progmodel.facets.object.ignore.jdo.RemoveJdoEnhancementTypesFacetFactory; 107import org.apache.isis.core.progmodel.facets.object.ignore.jdo.RemoveJdoPrefixedMethodsFacetFactory; 108import org.apache.isis.core.progmodel.facets.object.immutable.annotation.ImmutableAnnotationFacetFactory; 109import org.apache.isis.core.progmodel.facets.object.immutable.markerifc.ImmutableMarkerInterfaceFacetFactory; 110import org.apache.isis.core.progmodel.facets.object.mask.annotation.MaskAnnotationForTypeFacetFactory; 111import org.apache.isis.core.progmodel.facets.object.maxlen.annotation.MaxLengthAnnotationForTypeFacetFactory; 112import org.apache.isis.core.progmodel.facets.object.membergroups.MemberGroupLayoutFacetFactory; 113import org.apache.isis.core.progmodel.facets.object.multiline.annotation.MultiLineAnnotationOnTypeFacetFactory; 114import org.apache.isis.core.progmodel.facets.object.named.annotation.NamedAnnotationOnTypeFacetFactory; 115import org.apache.isis.core.progmodel.facets.object.named.staticmethod.NamedFacetViaSingularNameStaticMethodFacetFactory; 116import org.apache.isis.core.progmodel.facets.object.notpersistable.NotPersistableAnnotationFacetFactory; 117import org.apache.isis.core.progmodel.facets.object.notpersistable.NotPersistableMarkerInterfacesFacetFactory; 118import org.apache.isis.core.progmodel.facets.object.objecttype.ObjectSpecIdAnnotationFacetFactory; 119import org.apache.isis.core.progmodel.facets.object.objecttype.ObjectTypeDerivedFromClassNameFacetFactory; 120import org.apache.isis.core.progmodel.facets.object.orderactions.ActionOrderAnnotationFacetFactory; 121import org.apache.isis.core.progmodel.facets.object.orderfields.FieldOrderAnnotationFacetFactory; 122import org.apache.isis.core.progmodel.facets.object.parseable.ParseableFacetFactory; 123import org.apache.isis.core.progmodel.facets.object.plural.annotation.PluralAnnotationFacetFactory; 124import org.apache.isis.core.progmodel.facets.object.plural.staticmethod.PluralMethodFacetFactory; 125import org.apache.isis.core.progmodel.facets.object.publish.PublishedObjectAnnotationFacetFactory; 126import org.apache.isis.core.progmodel.facets.object.regex.annotation.RegExFacetAnnotationForTypeFacetFactory; 127import org.apache.isis.core.progmodel.facets.object.title.TitleMethodFacetFactory; 128import org.apache.isis.core.progmodel.facets.object.title.annotation.TitleAnnotationFacetFactory; 129import org.apache.isis.core.progmodel.facets.object.typicallen.annotation.TypicalLengthAnnotationOnTypeFacetFactory; 130import org.apache.isis.core.progmodel.facets.object.validate.method.ValidateObjectViaValidateMethodFacetFactory; 131import org.apache.isis.core.progmodel.facets.object.validperspec.MustSatisfySpecificationOnTypeFacetFactory; 132import org.apache.isis.core.progmodel.facets.object.validprops.ObjectValidPropertiesFacetFactory; 133import org.apache.isis.core.progmodel.facets.object.value.annotation.ValueFacetFactory; 134import org.apache.isis.core.progmodel.facets.object.viewmodel.annotation.ViewModelIntefaceFacetFactory; 135import org.apache.isis.core.progmodel.facets.paged.PagedOnParentedCollectionFacetFactory; 136import org.apache.isis.core.progmodel.facets.paged.PagedAnnotationOnTypeFacetFactory; 137import org.apache.isis.core.progmodel.facets.param.autocomplete.ActionParameterAutoCompleteFacetFactory; 138import org.apache.isis.core.progmodel.facets.param.choices.enums.ParameterChoicesFacetDerivedFromChoicesFacetFacetFactory; 139import org.apache.isis.core.progmodel.facets.param.choices.method.ActionChoicesFacetFactory; 140import org.apache.isis.core.progmodel.facets.param.choices.methodnum.ActionParameterChoicesFacetFactory; 141import org.apache.isis.core.progmodel.facets.param.defaults.fromtype.ParameterDefaultDerivedFromTypeFacetFactory; 142import org.apache.isis.core.progmodel.facets.param.defaults.methodnum.ActionParameterDefaultsFacetFactory; 143import org.apache.isis.core.progmodel.facets.param.describedas.annotation.DescribedAsAnnotationOnParameterFacetFactory; 144import org.apache.isis.core.progmodel.facets.param.javaxvaldigits.BigDecimalForParameterDerivedFromJavaxValidationAnnotationFacetFactory; 145import org.apache.isis.core.progmodel.facets.param.mandatory.annotation.OptionalAnnotationForParameterFacetFactory; 146import org.apache.isis.core.progmodel.facets.param.mandatory.dflt.MandatoryDefaultForParametersFacetFactory; 147import org.apache.isis.core.progmodel.facets.param.multiline.annotation.MultiLineAnnotationOnParameterFacetFactory; 148import org.apache.isis.core.progmodel.facets.param.named.annotation.NamedAnnotationOnParameterFacetFactory; 149import org.apache.isis.core.progmodel.facets.param.renderedasdaybefore.annotation.RenderedAsDayBeforeAnnotationOnParameterFacetFactory; 150import org.apache.isis.core.progmodel.facets.param.typicallen.annotation.TypicalLengthAnnotationOnParameterFacetFactory; 151import org.apache.isis.core.progmodel.facets.param.typicallen.fromtype.TypicalLengthFacetForParameterDerivedFromTypeFacetFactory; 152import org.apache.isis.core.progmodel.facets.param.validate.maskannot.MaskAnnotationForParameterFacetFactory; 153import org.apache.isis.core.progmodel.facets.param.validate.maxlenannot.MaxLengthAnnotationForParameterFacetFactory; 154import org.apache.isis.core.progmodel.facets.param.validate.perspec.MustSatisfySpecificationOnParameterFacetFactory; 155import org.apache.isis.core.progmodel.facets.param.validate.regexannot.RegExFacetAnnotationForParameterFacetFactory; 156import org.apache.isis.core.progmodel.facets.properties.accessor.PropertyAccessorFacetFactory; 157import org.apache.isis.core.progmodel.facets.properties.autocomplete.PropertyAutoCompleteFacetFactory; 158import org.apache.isis.core.progmodel.facets.properties.choices.enums.PropertyChoicesFacetDerivedFromChoicesFacetFacetFactory; 159import org.apache.isis.core.progmodel.facets.properties.choices.method.PropertyChoicesFacetFactory; 160import org.apache.isis.core.progmodel.facets.properties.defaults.fromtype.PropertyDefaultDerivedFromTypeFacetFactory; 161import org.apache.isis.core.progmodel.facets.properties.defaults.method.PropertyDefaultFacetFactory; 162import org.apache.isis.core.progmodel.facets.properties.disabled.fromimmutable.DisabledFacetForPropertyDerivedFromImmutableTypeFacetFactory; 163import org.apache.isis.core.progmodel.facets.properties.event.PostsPropertyChangedEventAnnotationFacetFactory; 164import org.apache.isis.core.progmodel.facets.properties.javaxvaldigits.BigDecimalForPropertyDerivedFromJavaxValidationDigitsFacetFactory; 165import org.apache.isis.core.progmodel.facets.properties.mandatory.annotation.MandatoryAnnotationForPropertyFacetFactory; 166import org.apache.isis.core.progmodel.facets.properties.mandatory.annotation.OptionalAnnotationForPropertyFacetFactory; 167import org.apache.isis.core.progmodel.facets.properties.mandatory.dflt.MandatoryDefaultForPropertiesFacetFactory; 168import org.apache.isis.core.progmodel.facets.properties.mandatory.staticmethod.PropertyOptionalFacetFactory; 169import org.apache.isis.core.progmodel.facets.properties.modify.PropertyModifyFacetFactory; 170import org.apache.isis.core.progmodel.facets.properties.modify.PropertySetAndClearFacetFactory; 171import org.apache.isis.core.progmodel.facets.properties.multiline.annotation.MultiLineOnPropertyFacetFactory; 172import org.apache.isis.core.progmodel.facets.properties.notpersisted.annotation.NotPersistedAnnotationForPropertyFacetFactory; 173import org.apache.isis.core.progmodel.facets.properties.renderedasdaybefore.annotation.RenderedAsDayBeforeAnnotationOnPropertyFacetFactory; 174import org.apache.isis.core.progmodel.facets.properties.typicallen.annotation.TypicalLengthOnPropertyFacetFactory; 175import org.apache.isis.core.progmodel.facets.properties.typicallen.fromtype.TypicalLengthFacetForPropertyDerivedFromTypeFacetFactory; 176import org.apache.isis.core.progmodel.facets.properties.validate.PropertyValidateDefaultFacetFactory; 177import org.apache.isis.core.progmodel.facets.properties.validate.PropertyValidateFacetFactory; 178import org.apache.isis.core.progmodel.facets.properties.validate.maskannot.MaskAnnotationForPropertyFacetFactory; 179import org.apache.isis.core.progmodel.facets.properties.validate.maxlenannot.MaxLengthAnnotationForPropertyFacetFactory; 180import org.apache.isis.core.progmodel.facets.properties.validate.perspec.MustSatisfySpecificationOnPropertyFacetFactory; 181import org.apache.isis.core.progmodel.facets.properties.validate.regexannot.RegExFacetAnnotationForPropertyFacetFactory; 182import org.apache.isis.core.progmodel.facets.value.bigdecimal.BigDecimalValueTypeFacetFactory; 183import org.apache.isis.core.progmodel.facets.value.biginteger.BigIntegerValueTypeFacetFactory; 184import org.apache.isis.core.progmodel.facets.value.blobs.BlobValueTypeFacetFactory; 185import org.apache.isis.core.progmodel.facets.value.booleans.BooleanPrimitiveValueTypeFacetFactory; 186import org.apache.isis.core.progmodel.facets.value.booleans.BooleanWrapperValueTypeFacetFactory; 187import org.apache.isis.core.progmodel.facets.value.bytes.BytePrimitiveValueTypeFacetFactory; 188import org.apache.isis.core.progmodel.facets.value.bytes.ByteWrapperValueTypeFacetFactory; 189import org.apache.isis.core.progmodel.facets.value.chars.CharPrimitiveValueTypeFacetFactory; 190import org.apache.isis.core.progmodel.facets.value.chars.CharWrapperValueTypeFacetFactory; 191import org.apache.isis.core.progmodel.facets.value.clobs.ClobValueTypeFacetFactory; 192import org.apache.isis.core.progmodel.facets.value.color.ColorValueTypeFacetFactory; 193import org.apache.isis.core.progmodel.facets.value.date.DateValueTypeFacetFactory; 194import org.apache.isis.core.progmodel.facets.value.datejodalocal.JodaLocalDateValueTypeFacetFactory; 195import org.apache.isis.core.progmodel.facets.value.datesql.JavaSqlDateValueTypeFacetFactory; 196import org.apache.isis.core.progmodel.facets.value.datetime.DateTimeValueTypeFacetFactory; 197import org.apache.isis.core.progmodel.facets.value.datetimejoda.JodaDateTimeValueTypeFacetFactory; 198import org.apache.isis.core.progmodel.facets.value.datetimejodalocal.JodaLocalDateTimeValueTypeFacetFactory; 199import org.apache.isis.core.progmodel.facets.value.dateutil.JavaUtilDateValueTypeFacetFactory; 200import org.apache.isis.core.progmodel.facets.value.floats.FloatPrimitiveValueTypeFacetFactory; 201import org.apache.isis.core.progmodel.facets.value.floats.FloatWrapperValueTypeFacetFactory; 202import org.apache.isis.core.progmodel.facets.value.image.ImageValueTypeFacetFactory; 203import org.apache.isis.core.progmodel.facets.value.imageawt.JavaAwtImageValueTypeFacetFactory; 204import org.apache.isis.core.progmodel.facets.value.integer.IntPrimitiveValueTypeFacetFactory; 205import org.apache.isis.core.progmodel.facets.value.integer.IntWrapperValueTypeFacetFactory; 206import org.apache.isis.core.progmodel.facets.value.longs.DoublePrimitiveValueTypeFacetFactory; 207import org.apache.isis.core.progmodel.facets.value.longs.DoubleWrapperValueTypeFacetFactory; 208import org.apache.isis.core.progmodel.facets.value.longs.LongPrimitiveValueTypeFacetFactory; 209import org.apache.isis.core.progmodel.facets.value.longs.LongWrapperValueTypeFacetFactory; 210import org.apache.isis.core.progmodel.facets.value.money.MoneyValueTypeFacetFactory; 211import org.apache.isis.core.progmodel.facets.value.password.PasswordValueTypeFacetFactory; 212import org.apache.isis.core.progmodel.facets.value.percentage.PercentageValueTypeFacetFactory; 213import org.apache.isis.core.progmodel.facets.value.shortint.ShortPrimitiveValueTypeFacetFactory; 214import org.apache.isis.core.progmodel.facets.value.shortint.ShortWrapperValueTypeFacetFactory; 215import org.apache.isis.core.progmodel.facets.value.string.StringValueTypeFacetFactory; 216import org.apache.isis.core.progmodel.facets.value.time.TimeValueTypeFacetFactory; 217import org.apache.isis.core.progmodel.facets.value.timesql.JavaSqlTimeValueTypeFacetFactory; 218import org.apache.isis.core.progmodel.facets.value.timestamp.TimeStampValueTypeFacetFactory; 219import org.apache.isis.core.progmodel.facets.value.timestampsql.JavaSqlTimeStampValueTypeFacetFactory; 220import org.apache.isis.core.progmodel.facets.value.url.URLValueTypeFacetFactory; 221import org.apache.isis.core.progmodel.facets.value.uuid.UUIDValueTypeFacetFactory; 222 223public final class ProgrammingModelFacetsJava5 extends ProgrammingModelAbstract { 224 225 public ProgrammingModelFacetsJava5() { 226 227 // must be first, so any Facets created can be replaced by other 228 // FacetFactorys later. 229 addFactory(FallbackFacetFactory.class); 230 addFactory(ObjectTypeDerivedFromClassNameFacetFactory.class); 231 232 addFactory(IteratorFilteringFacetFactory.class); 233 addFactory(RemoveSyntheticOrAbstractMethodsFacetFactory.class); 234 addFactory(RemoveSuperclassMethodsFacetFactory.class); 235 addFactory(RemoveJavaLangObjectMethodsFacetFactory.class); 236 addFactory(RemoveJavaLangComparableMethodsFacetFactory.class); 237 addFactory(RemoveSetDomainObjectContainerMethodFacetFactory.class); 238 addFactory(RemoveInitMethodFacetFactory.class); 239 addFactory(RemoveInjectMethodsFacetFactory.class); 240 addFactory(RemoveStaticGettersAndSettersFacetFactory.class); 241 addFactory(RemoveGetClassMethodFacetFactory.class); 242 addFactory(RemoveProgrammaticOrIgnoreAnnotationMethodsFacetFactory.class); 243 244 // come what may, we have to ignore the PersistenceCapable supertype. 245 addFactory(RemoveJdoEnhancementTypesFacetFactory.class); 246 // so we may as well also just ignore any 'jdo' prefixed methods here also. 247 addFactory(RemoveJdoPrefixedMethodsFacetFactory.class); 248 249 // must be before any other FacetFactories that install 250 // MandatoryFacet.class facets 251 addFactory(MandatoryDefaultForPropertiesFacetFactory.class); 252 addFactory(MandatoryDefaultForParametersFacetFactory.class); 253 254 addFactory(PropertyValidateDefaultFacetFactory.class); 255 256 // enum support 257 addFactory(EnumFacetFactory.class); 258 addFactory(ParameterChoicesFacetDerivedFromChoicesFacetFacetFactory.class); 259 addFactory(PropertyChoicesFacetDerivedFromChoicesFacetFacetFactory.class); 260 261 262 // properties 263 addFactory(PropertyAccessorFacetFactory.class); 264 addFactory(PropertySetAndClearFacetFactory.class); 265 // must come after PropertySetAndClearFacetFactory 266 addFactory(PropertyModifyFacetFactory.class); 267 268 addFactory(PropertyValidateFacetFactory.class); 269 addFactory(PropertyChoicesFacetFactory.class); 270 addFactory(PropertyAutoCompleteFacetFactory.class); 271 addFactory(PropertyDefaultFacetFactory.class); 272 addFactory(PropertyOptionalFacetFactory.class); 273 274 // collections 275 addFactory(CollectionAccessorFacetFactory.class); 276 addFactory(CollectionClearFacetFactory.class); 277 addFactory(CollectionAddRemoveAndValidateFacetFactory.class); 278 addFactory(SortedByAnnotationFacetFactory.class); 279 280 // actions 281 addFactory(ActionInvocationFacetFactory.class); 282 addFactory(ActionValidationFacetViaValidateMethodFacetFactory.class); 283 addFactory(ActionChoicesFacetFactory.class); 284 addFactory(ActionParameterChoicesFacetFactory.class); 285 addFactory(ActionParameterAutoCompleteFacetFactory.class); 286 addFactory(ActionDefaultsFacetFactory.class); 287 addFactory(ActionParameterDefaultsFacetFactory.class); 288 addFactory(QueryOnlyAnnotationFacetFactory.class); 289 addFactory(IdempotentAnnotationFacetFactory.class); 290 addFactory(ActionSemanticsAnnotationFacetFactory.class); 291 addFactory(ActionSemanticsFallbackFacetFactory.class); 292 293 // members in general 294 addFactory(NamedFacetViaNameMethodFacetFactory.class); 295 addFactory(DescribedAsFacetViaDescriptionMethodFacetFactory.class); 296 addFactory(DisabledFacetViaDisableForSessionMethodFacetFactory.class); 297 addFactory(DisabledFacetViaDisableMethodFacetFactory.class); 298 addFactory(DisabledFacetViaProtectMethodFacetFactory.class); 299 addFactory(HiddenFacetViaHideForSessionMethodFacetFactory.class); 300 addFactory(HiddenFacetViaAlwaysHideMethodFacetFactory.class); 301 addFactory(HiddenFacetViaHideMethodFacetFactory.class); 302 addFactory(RenderOrResolveFacetFactory.class); 303 304 // objects 305 addFactory(ObjectSpecIdAnnotationFacetFactory.class); 306 addFactory(IconMethodFacetFactory.class); 307 308 addFactory(CreatedCallbackFacetFactory.class); 309 addFactory(LoadCallbackFacetFactory.class); 310 addFactory(PersistCallbackViaSaveMethodFacetFactory.class); 311 addFactory(PersistCallbackFacetFactory.class); 312 addFactory(UpdateCallbackFacetFactory.class); 313 addFactory(RemoveCallbackFacetFactory.class); 314 315 addFactory(DirtyMethodsFacetFactory.class); 316 addFactory(ValidateObjectViaValidateMethodFacetFactory.class); 317 addFactory(ObjectValidPropertiesFacetFactory.class); 318 addFactory(PluralMethodFacetFactory.class); 319 addFactory(NamedFacetViaSingularNameStaticMethodFacetFactory.class); 320 addFactory(TitleAnnotationFacetFactory.class); 321 addFactory(TitleMethodFacetFactory.class); 322 323 addFactory(MemberOrderFacetFactory.class); 324 addFactory(ActionOrderAnnotationFacetFactory.class); 325 addFactory(FieldOrderAnnotationFacetFactory.class); 326 addFactory(MemberGroupLayoutFacetFactory.class); 327 328 addFactory(AggregatedAnnotationFacetFactory.class); 329 addFactory(BookmarkableAnnotationFacetFactory.class); 330 addFactory(HomePageAnnotationFacetFactory.class); 331 addFactory(BoundedAnnotationFacetFactory.class); 332 addFactory(BoundedMarkerInterfaceFacetFactory.class); 333 addFactory(DebugAnnotationFacetFactory.class); 334 335 addFactory(DefaultedAnnotationFacetFactory.class); 336 addFactory(PropertyDefaultDerivedFromTypeFacetFactory.class); 337 addFactory(ParameterDefaultDerivedFromTypeFacetFactory.class); 338 339 addFactory(DescribedAsAnnotationOnTypeFacetFactory.class); 340 addFactory(DescribedAsOnMemberFacetFactory.class); 341 addFactory(DescribedAsAnnotationOnParameterFacetFactory.class); 342 343 addFactory(BigDecimalForParameterDerivedFromJavaxValidationAnnotationFacetFactory.class); 344 addFactory(BigDecimalForPropertyDerivedFromJavaxValidationDigitsFacetFactory.class); 345 346 addFactory(DisabledFacetFactory.class); 347 addFactory(EncodableAnnotationFacetFactory.class); 348 addFactory(ExplorationAnnotationFacetFactory.class); 349 addFactory(PrototypeAnnotationFacetFactory.class); 350 addFactory(NotContributedAnnotationFacetFactory.class); 351 addFactory(NotInServiceMenuAnnotationFacetFactory.class); 352 addFactory(NotInServiceMenuMethodFacetFactory.class); 353 addFactory(BulkAnnotationFacetFactory.class); 354 355 addFactory(HiddenAnnotationForTypeFacetFactory.class); 356 // must come after the TitleAnnotationFacetFactory, because can act as an override 357 addFactory(HiddenForMemberFacetFactory.class); 358 addFactory(CssClassAnnotationForTypeFacetFactory.class); 359 addFactory(CssClassOnMemberFacetFactory.class); 360 361 addFactory(HiddenObjectViaHiddenMethodFacetFactory.class); 362 addFactory(DisabledObjectViaDisabledMethodFacetFactory.class); 363 364 addFactory(ImmutableAnnotationFacetFactory.class); 365 addFactory(DisabledFacetForPropertyDerivedFromImmutableTypeFacetFactory.class); 366 addFactory(DisabledFacetForCollectionDerivedFromImmutableTypeFacetFactory.class); 367 368 // must come after the property/collection/action accessor+mutator facet factories 369 addFactory(PostsPropertyChangedEventAnnotationFacetFactory.class); 370 addFactory(PostsCollectionAddedToEventAnnotationFacetFactory.class); 371 addFactory(PostsCollectionRemovedFromEventAnnotationFacetFactory.class); 372 addFactory(PostsActionInvokedEventFacetFactory.class); 373 374 375 addFactory(ImmutableMarkerInterfaceFacetFactory.class); 376 377 addFactory(ViewModelIntefaceFacetFactory.class); 378 379 addFactory(MaxLengthAnnotationForTypeFacetFactory.class); 380 addFactory(MaxLengthAnnotationForPropertyFacetFactory.class); 381 addFactory(MaxLengthAnnotationForParameterFacetFactory.class); 382 383 addFactory(MustSatisfySpecificationOnTypeFacetFactory.class); 384 addFactory(MustSatisfySpecificationOnPropertyFacetFactory.class); 385 addFactory(MustSatisfySpecificationOnParameterFacetFactory.class); 386 387 addFactory(MultiLineAnnotationOnTypeFacetFactory.class); 388 addFactory(MultiLineOnPropertyFacetFactory.class); 389 addFactory(MultiLineAnnotationOnParameterFacetFactory.class); 390 391 addFactory(NamedAnnotationOnTypeFacetFactory.class); 392 addFactory(NamedOnMemberFacetFactory.class); 393 addFactory(NamedAnnotationOnParameterFacetFactory.class); 394 395 addFactory(NotPersistableAnnotationFacetFactory.class); 396 addFactory(NotPersistableMarkerInterfacesFacetFactory.class); 397 398 addFactory(NotPersistedAnnotationForCollectionFacetFactory.class); 399 addFactory(NotPersistedAnnotationForPropertyFacetFactory.class); 400 401 addFactory(OptionalAnnotationForPropertyFacetFactory.class); 402 addFactory(OptionalAnnotationForParameterFacetFactory.class); 403 addFactory(MandatoryAnnotationForPropertyFacetFactory.class); 404 405 addFactory(ParseableFacetFactory.class); 406 addFactory(PluralAnnotationFacetFactory.class); 407 addFactory(PagedAnnotationOnTypeFacetFactory.class); 408 addFactory(PagedOnParentedCollectionFacetFactory.class); 409 410 addFactory(AutoCompleteAnnotationFacetFactory.class); 411 412 // must come after any facets that install titles 413 addFactory(MaskAnnotationForTypeFacetFactory.class); 414 addFactory(MaskAnnotationForPropertyFacetFactory.class); 415 addFactory(MaskAnnotationForParameterFacetFactory.class); 416 417 // must come after any facets that install titles, and after mask 418 // if takes precedence over mask. 419 addFactory(RegExFacetAnnotationForTypeFacetFactory.class); 420 addFactory(RegExFacetAnnotationForPropertyFacetFactory.class); 421 addFactory(RegExFacetAnnotationForParameterFacetFactory.class); 422 423 addFactory(TypeOfAnnotationForCollectionsFacetFactory.class); 424 addFactory(TypeOfAnnotationForActionsFacetFactory.class); 425 426 addFactory(TypicalLengthFacetForPropertyDerivedFromTypeFacetFactory.class); 427 addFactory(TypicalLengthFacetForParameterDerivedFromTypeFacetFactory.class); 428 429 addFactory(TypicalLengthAnnotationOnTypeFacetFactory.class); 430 addFactory(TypicalLengthOnPropertyFacetFactory.class); 431 addFactory(TypicalLengthAnnotationOnParameterFacetFactory.class); 432 addFactory(RenderedAsDayBeforeAnnotationOnPropertyFacetFactory.class); 433 addFactory(RenderedAsDayBeforeAnnotationOnParameterFacetFactory.class); 434 435 // built-in value types for Java language 436 addFactory(BooleanPrimitiveValueTypeFacetFactory.class); 437 addFactory(BooleanWrapperValueTypeFacetFactory.class); 438 addFactory(BytePrimitiveValueTypeFacetFactory.class); 439 addFactory(ByteWrapperValueTypeFacetFactory.class); 440 addFactory(ShortPrimitiveValueTypeFacetFactory.class); 441 addFactory(ShortWrapperValueTypeFacetFactory.class); 442 addFactory(IntPrimitiveValueTypeFacetFactory.class); 443 addFactory(IntWrapperValueTypeFacetFactory.class); 444 addFactory(LongPrimitiveValueTypeFacetFactory.class); 445 addFactory(LongWrapperValueTypeFacetFactory.class); 446 addFactory(FloatPrimitiveValueTypeFacetFactory.class); 447 addFactory(FloatWrapperValueTypeFacetFactory.class); 448 addFactory(DoublePrimitiveValueTypeFacetFactory.class); 449 addFactory(DoubleWrapperValueTypeFacetFactory.class); 450 addFactory(CharPrimitiveValueTypeFacetFactory.class); 451 addFactory(CharWrapperValueTypeFacetFactory.class); 452 addFactory(BigIntegerValueTypeFacetFactory.class); 453 addFactory(BigDecimalValueTypeFacetFactory.class); 454 addFactory(JavaSqlDateValueTypeFacetFactory.class); 455 addFactory(JavaSqlTimeValueTypeFacetFactory.class); 456 addFactory(JavaUtilDateValueTypeFacetFactory.class); 457 addFactory(JavaSqlTimeStampValueTypeFacetFactory.class); 458 addFactory(StringValueTypeFacetFactory.class); 459 addFactory(URLValueTypeFacetFactory.class); 460 addFactory(UUIDValueTypeFacetFactory.class); 461 462 addFactory(JavaAwtImageValueTypeFacetFactory.class); 463 464 // applib values 465 addFactory(BlobValueTypeFacetFactory.class); 466 addFactory(ClobValueTypeFacetFactory.class); 467 addFactory(DateValueTypeFacetFactory.class); 468 addFactory(DateTimeValueTypeFacetFactory.class); 469 addFactory(ColorValueTypeFacetFactory.class); 470 addFactory(MoneyValueTypeFacetFactory.class); 471 addFactory(PasswordValueTypeFacetFactory.class); 472 addFactory(PercentageValueTypeFacetFactory.class); 473 addFactory(TimeStampValueTypeFacetFactory.class); 474 addFactory(TimeValueTypeFacetFactory.class); 475 addFactory(ImageValueTypeFacetFactory.class); 476 477 // jodatime values 478 addFactory(JodaLocalDateValueTypeFacetFactory.class); 479 addFactory(JodaLocalDateTimeValueTypeFacetFactory.class); 480 addFactory(JodaDateTimeValueTypeFacetFactory.class); 481 482 // written to not trample over TypeOf if already installed 483 addFactory(CollectionFacetFactory.class); 484 // must come after CollectionFacetFactory 485 addFactory(ParentedSinceCollectionFacetFactory.class); 486 487 // so we can dogfood the NO applib "value" types 488 addFactory(ValueFacetFactory.class); 489 490 491 // 492 // services 493 // 494 495 addFactory(CommandAnnotationFacetFactory.class); 496 // will not trample over CommandFacet if already installed 497 // must be after ActionSemantics facet setup. 498 addFactory(CommandFromConfigurationFacetFactory.class); 499 500 addFactory(AuditableFromAuditedAnnotationFacetFactory.class); 501 addFactory(AuditableMarkerInterfaceFacetFactory.class); 502 // will not trample over AuditableFacet if already installed 503 addFactory(AuditableFromConfigurationFacetFactory.class); 504 505 addFactory(PublishedActionAnnotationFacetFactory.class); 506 addFactory(PublishedObjectAnnotationFacetFactory.class); 507 508 addFactory(FacetsAnnotationFacetFactory.class); 509 } 510 511 512 513 514}