Annotation Interface GenAsUnPersistable
Persistable but are implemented by both
persistent and non-persistent classes, but it is also used by non-persistent classes that are
Evolvable to assist in implementing evolvability.
Notes:
- A compiler error will be issued if an annotated class extends/implements
ObjectMappable/Persistable - If a class implements an interface that is
GenAsUnPersistablebut is notGenAsUnPersistableitself, the properties will not be generated into the class - If a
Persistableclass implements an interface that isGenAsUnPersistable, the properties of the interface will be persisted (unlessfalseis specified forColumnProperties.persistent()) ClassInfofiles will be generated for interfaces and classes annotated by this annotation.
Supported API: true
-
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionDerived properties of thisunpersistable.booleanIndicates whether this class is supported for customization.Class[]The interfaces this class/interface extends/implements.A list of properties to generate.Indicates how/if the annotated class should be serialized.The parent class for this class.Specifies table's name, table space, and size as well as indexes and unique indexes.long[]A list of externalization version UIDs needed to support deserialization of old versions of this class.
-
Element Details
-
superClass
Class superClassThe parent class for this class. This class would normally be the class designated by theextendsstatement and is needed because the annotated class must extend "_"+classname" (for examplepublic MyClass extends _MyClass).Note: you need only specify a parent if you're a "real", non-persistent class extending a base class and implementing a
GenAsUnPersistableinterface and you want the accessors generated for you. This should rarely occur.Rose conversion note: Corresponds to Class Specification -> Relations -> Specialize Class (where the specialized class is the single (non-interface) parent class).
Supported API: true
- Default:
- java.lang.Object.class
-
interfaces
Class[] interfacesThe interfaces this class/interface extends/implements. These interfaces would normally be present in theextendsclause (for an interface) or theimplementsclause (for a class), but must, instead, be present in this property because of the manner in whichJavatreatsstatic finalfields.Rose conversion note: Corresponds to Class Specification -> Relations -> Specialize Class (where the specialized class is the single (non-interface) parent class).
Supported API: true
- Default:
- {}
-
properties
GeneratedProperty[] propertiesA list of properties to generate. These properties will be generated into the interface and/or concrete class.Rose conversion note: Corresponds to Class Specification -> Attributes.
Supported API: true
- Default:
- {}
-
derivedProperties
DerivedProperty[] derivedPropertiesDerived properties of thisunpersistable. May refer to any of the properties (GeneratedProperty) of thisunpersistableor interfaces/parent classes.Supported API: true
- Default:
- {}
-
serializable
Serialization serializableIndicates how/if the annotated class should be serialized.Rose conversion note: Corresponds to Class Specification -> Windchill -> Serializable.
Supported API: true
- Default:
- EXTERNALIZABLE_BASIC
-
extendable
boolean extendableIndicates whether this class is supported for customization. Note that this property is validated during customization compilation: customers will get a compilation error if they attempt to extend a non-extendable class.Supported API: true
- Default:
- false
-
versions
long[] versionsA list of externalization version UIDs needed to support deserialization of old versions of this class.Supported API: true
- Default:
- {}
-
tableProperties
TableProperties tablePropertiesSpecifies table's name, table space, and size as well as indexes and unique indexes.Rose conversion note: Corresponds to Class Specification -> Windchill -> Datastore properties.
Supported API: true
- Default:
- @com.ptc.windchill.annotations.metadata.TableProperties
-