Annotation Interface GenAsBinaryLink


@Retention(CLASS) @Target(TYPE) @Documented public @interface GenAsBinaryLink
Indicates that the annotated class is to be treated as a link associating two Persistable objects. The link may be persisted as a table (if it extends ObjectToObjectLink, ObjectToVersionLink, or VersionToVersionLink) or as a reference in a Persistable's table (if it extends ForeignKeyLink or VersionForeignKey).

Supported API: true

  • Element Details

    • superClass

      Class superClass
      The parent class for this link 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 must be an abstract/concrete class that implements BinaryLink, like ObjectToObjectLink.

      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:
      {}
    • roleA

      The properties of the "A" role of the association. BinaryLinks have two roles, an "A" role (which usually represents the "strong" or "owning" side of the association) and a "B" role.

      Rose conversion note: Corresponds to Association Specification -> Role A General as well as Association Specification -> Windchill A.

      Supported API: true

    • roleB

      The properties of the "B" role of the association. BinaryLinks have two roles, an "A" role (which usually represents the "strong" or "owning" side of the association) and a "B" role.

      Rose conversion note: Corresponds to Association Specification -> Role B General as well as Association Specification -> Windchill B.

      Supported API: true

    • properties

      GeneratedProperty[] properties
      Properties of this BinaryLink. 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 association 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

      See Also:
      Default:
      {}
    • derivedProperties

      DerivedProperty[] derivedProperties
      Derived properties of this BinaryLink. May refer to any of the properties ( GeneratedProperty) of this wt.fc.BinaryLink BinaryLink 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
    • myRoleIsRoleA

      boolean myRoleIsRoleA
      FOR INTERNAL USE ONLY! DO NOT ASSIGN!

      Supported API: false

      Default:
      true