Annotation Interface GenAsPersistable


@Retention(CLASS) @Target(TYPE) @Documented public @interface GenAsPersistable
Indicates that the annotated class is to be persisted as a database table with its properties persisted as columns in the table. The annotated class will automatically extend or implement the Persistable interface.

Supported API: true

See Also:
  • Element Details

    • superClass

      Class superClass
      The parent class for this class. This class would normally be the class designated by the extends statement and is needed because the annotated class must extend "_"+classname" (for example public MyClass extends _MyClass).

      Note: the parent should either be Object or some abstract/concrete class that implements Persistable, like WTObject or any of the wt.enterprise abstractions. Also, if you want to extend a link class, use GenAsBinaryLink instead.

      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[] interfaces
      The interfaces this class/interface extends/implements. These interfaces would normally be present in the extends clause (for an interface) or the implements clause (for a class), but must, instead, be present in this property because of the manner in which Java treats static final fields.

      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[] properties
      Properties of this Persistable. May include Java "primitives" (such as strings, ints, timestamps, etc.) or ObjectMappable classes but can not include other Persistable classes.

      Rose conversion note: Corresponds to Class Specification -> Attributes.

      Supported API: true

      See Also:
      Default:
      {}
    • foreignKeys

      GeneratedForeignKey[] foreignKeys
      Persistent objects aggregated by this persistable and stored as foreign key links. All foreign key associations must be modeled here as foreign keys (rather than as binary links) as the annotation processor would otherwise not know it's responsible for generating the accessor methods. Note, however, that the (binary link) association will be generated for you.

      Rose conversion note: Corresponds to any association modeled as a ForeignKeyLink.

      Supported API: true

      Default:
      {}
    • derivedProperties

      DerivedProperty[] derivedProperties
      Derived properties of this Persistable. May refer to any of the properties ( GeneratedProperty) of this Persistable or interfaces/parent classes.

      Supported API: true

      Default:
      {}
    • serializable

      Serialization serializable
      Indicates how the annotated class should be serialized.

      Rose conversion note: Corresponds to Class Specification -> Windchill -> Serializable.

      Supported API: true

      Default:
      EXTERNALIZABLE_BASIC
    • dataType

      DataType dataType
      Indicates the type of data (eg admin vs user) persisted by the class.

      Supported API: true

      Default:
      DEFAULT
    • extendable

      boolean extendable
      Indicates 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[] versions
      A list of externalization version UIDs needed to support deserialization of old versions of this class.

      Supported API: true

      Default:
      {}
    • depthLock

      int depthLock
      Replaces the mechanism of using DepthLock interfaces to force a specific depth for a given interface or class.

      Supported API: true

      Default:
      -1
    • tableProperties

      TableProperties tableProperties
      Specifies 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
    • iconProperties

      IconProperties iconProperties
      The locations of the icons for the Persistable. If defaulted, uses the parent's icon locations.

      Rose conversion note: Corresponds to Class Specification -> Windchill -> UI Properties.

      Supported API: true

      Default:
      @com.ptc.windchill.annotations.metadata.IconProperties