Class AgreementAuthorizedObject

java.lang.Object
wt.fc._WTObject
wt.fc.WTObject
wt.access.agreement._AgreementAuthorizedObject
wt.access.agreement.AgreementAuthorizedObject
All Implemented Interfaces:
Externalizable, Serializable, wt.access.agreement._AgreementItem, wt.access.agreement.AgreementItem, wt.fc._NetFactor, wt.fc._ObjectMappable, wt.fc._Persistable, NetFactor, ObjectMappable, Persistable, DisplayIdentification, RemoteAccess

@GenAsPersistable(superClass=WTObject.class,interfaces={RemoteAccess.class,wt.access.agreement.AgreementItem.class},serializable=EXTERNALIZABLE_BASIC,properties={@GeneratedProperty(name="authObjReferenceType",type=int.class,initialValue="AgreementAuthorizedObject.REFTYPE_UNSPECIFIED",javaDoc="This attribute stores the type of reference to the <code>SecurityLabeled</code> object. Three different types of references can be stored. If the <code>SecurityLabeled</code> object is <code>Iterated</code>, then the <code>ObjectReference</code> will reference a <code>ControlBranch</code> and the type will be REFTYPE_CONTROL_BRANCH_REFERENCE. Otherwise, the reference will be to the <code>SecurityLabeled</code> object itself and the type will be REFTYPE_OBJECT_REFERENCE. Finally, if the object is <code>Versioned</code> and a range of versions has been specified for the object, the reference will be REFTYPE_MASTER_REFERENCE to indicate a reference to the object <code>Master</code>. If the attribute has not been set yet, it will be of the type REFTYPE_UNSPECIFIED, though this value should never be persisted.",accessors=@PropertyAccessors(getAccess=PRIVATE)),@GeneratedProperty(name="authObjReference",type=ObjectReference.class,javaDoc="This attribute stores the reference to the <code>SecurityLabeled</code> object. Three different types of references can be stored. If the <code>SecurityLabeled</code> object is <code>Iterated</code>, then the <code>ObjectReference</code> will reference a <code>ControlBranch</code>. If the object is <code>Versioned</code> and a version range has been specified, then the <code>ObjectReference</code> will reference a <code>Master</code>. Otherwise, the reference will be to the <code>SecurityLabeled</code> object itself.",accessors=@PropertyAccessors(getAccess=PRIVATE)),@GeneratedProperty(name="securityLabeledReference",type=ObjectReference.class,javaDoc="This stores an <code>ObjectReference</code> to the <code>SecurityLabeled</code> object to which this <code>AgreementAuthorizedObject</code> refers. If this object refers to a <code>ControlBranch</code> object, this attribute stores the latest iteration for that control branch. The true reference is stored in the authObjReference attribute, which may refer to a <code>ControlBranch</code> or <code>SecurityLabeled</code> object. <p> This attribute is not persisted in the database, but is serialized.",accessors=@PropertyAccessors(getAccess=PRIVATE),columnProperties=@ColumnProperties(persistent=false)),@GeneratedProperty(name="authObjViewReference",type=ViewReference.class,javaDoc="This attribute stores the reference to the <code>ViewManageable</code> object. Each object is associated with one or more different types of views. However, only a single view reference will be stored. If the object is associated with another view, a distinct AgreementAuthorizedObject must be created. The <code>ViewReference</code> will store the reference to the specific view associated with this object. If the object is not <code>ViewManageable</code> the reference will be null."),@GeneratedProperty(name="authObjSeriesName",type=java.lang.String.class,javaDoc="This attribute stores the name of the version <code>Series</code> associated with the version range for this agreementAuthorizedObject. If the object is not <code>Versioned</code> the <code>Series</code> name will be set to null. The <code>Series</code> must be used to generate the appropriate version range associated with the versionRangeStart and versionRangeEnd attributes."),@GeneratedProperty(name="versionRangeStart",type=java.lang.String.class,javaDoc="This attribute stores the starting version for the range of allowed versions of this AgreementAuthorizedObject. If a valid range of versions was specified, the starting range identifier will be indicated. Otherwise, this field will be set to null.",accessors=@PropertyAccessors(getAccess=PRIVATE)),@GeneratedProperty(name="versionRangeEnd",type=java.lang.String.class,javaDoc="This attribute stores the ending version for the range of allowed versions of this AgreementAuthorizedObject. If a valid range of versions was specified, the ending range identifier will be indicated. Otherwise, this field will be set to null.",accessors=@PropertyAccessors(getAccess=PRIVATE)),@GeneratedProperty(name="versionRangeStartType",type=int.class,initialValue="AgreementAuthorizedObject.VERSION_NONE",javaDoc="This attribute stores the setting for the starting version evaluation, as specified by the Agreements Administrator. Various settings can be stored. If a specific starting version has been identified, VERSION_NONE will indicate no flags apply. This will also be set as a default value if no version range has been specified. Other settings can be indicated. Refer to each setting for details on specific setting functionality.",accessors=@PropertyAccessors(getAccess=PRIVATE)),@GeneratedProperty(name="versionRangeEndType",type=int.class,initialValue="AgreementAuthorizedObject.VERSION_NONE",javaDoc="This attribute stores the setting for the ending version evaluation, as specified by the Agreements Administrator. Various different settings can be stored. If a specific ending version has been identified, VERSION_NONE will indicate no flags apply. This will also be set as a default value if no version range has been specified. Other settings can be indicated. Refer to each setting for details on specific setting functionality.",accessors=@PropertyAccessors(getAccess=PRIVATE))},tableProperties=@TableProperties(compositeIndex1="authObjReference.key.id+thePersistInfo.markForDelete",compositeIndex2="agreementReference.key.id"),foreignKeys=@GeneratedForeignKey(name="AgreementAuthorizedObjectLink",superClassName="wt.access.agreement.AgreementItemLink",foreignKeyRole=@ForeignKeyRole(name="agreement",type=AuthorizationAgreement.class,cascade=false,constraints=@PropertyConstraints(required=true),javaDoc="The <code>AuthorizationAgreement</code> iteration this link refers to"),myRole=@MyRole(name="agreementItem",cascade=true,javaDoc="The <code>AgreementAuthorizedObject</code> this link refers to"))) public final class AgreementAuthorizedObject extends wt.access.agreement._AgreementAuthorizedObject
This class represents a SecurityLabeled object that the AuthorizationAgreement covers. The class stores a reference that can be resolved to SecurityLabeled object. Three different types of references can be stored. If the SecurityLabeled object is Iterated, then the ObjectReference will reference a ControlBranch and the type will be REFTYPE_CONTROL_BRANCH_REFERENCE. Otherwise, the reference will be to the SecurityLabeled object itself and the type will be REFTYPE_OBJECT_REFERENCE. Finally, if the object is Versioned and a range of versions has been specified for the object, the reference will be REFTYPE_MASTER_REFERENCE to indicate a reference to the object Master.

Use the newAgreementAuthorizedObject static factory method(s), not the AgreementAuthorizedObject constructor, to construct instances of this class. Instances must be constructed using the static factory(s), in order to ensure proper initialization of the instance.



Supported API: true

Extendable: false

See Also:
  • Field Details

    • VERSION_NONE

      public static final int VERSION_NONE
      Indicates no dynamically resolved value specified to evaluate a version range for either the version range start or end type. The corresponding version range start or end should have a specific value set.

      Supported API: true
      See Also:
    • VERSION_INITIAL

      public static final int VERSION_INITIAL
      Indicates the initial version must be determined when evaluating access to this object. The associated version range start attribute is assumed to be null (not set). The version value will not be resolved in this case. This is a floating reference to the initial version of the object at any given time. It is only valid as a version range start type (it cannot be used as an end type).

      Supported API: true
      See Also:
    • VERSION_LATEST

      public static final int VERSION_LATEST
      Indicates the latest version must be determined when evaluating access to this object. The associated version range end attribute is assumed to be null (not set). The version value will not be resolved in this case. This is a floating reference to the latest possible version at any given time. It is only valid as a version range end type (it cannot be used as a start type).

      Supported API: true
      See Also:
  • Method Details

    • newAgreementAuthorizedObject

      public static AgreementAuthorizedObject newAgreementAuthorizedObject(WTReference authorizedObjectReference, ObjectReference agreementReference, String authorizedVersionRangeStart, String authorizedVersionRangeEnd, Integer authorizedVersionRangeStartType, Integer authorizedVersionRangeEndType) throws WTException
      This constructs an instance of this class using the WTReference passed in for a SecurityLabeled object and the ObjectReference passed in for the AuthorizationAgreement object. The authorizedObjectReference parameter must be of type ObjectReference or VersionReference and must reference a SecurityLabeled object. In addition, the version range to authorize for the SecurityLabeled object must be identified. The version range is identified by a version range start, specific or floating reference flag type, and a version range end, specific or floating reference flag type. If a valid version range cannot be resolved from the parameter settings indicated, the current version will be assumed and the corresponding attributes reset accordingly.

      Supported API: true
      Parameters:
      authorizedObjectReference - A reference to a SecurityLabeled object.
      agreementReference - A reference to an AuthorizationAgreement object.
      authorizedVersionRangeStart - Identifies the starting value of a specified version range. If null, and a valid VersionStartRangeType is not specified, current version will be assumed.
      authorizedVersionRangeEnd - Identifies the ending value of a specified version range. If null, and a valid VersionEndRangeType is not specified, current version will be assumed.
      authorizedVersionRangeStartType - Flag indicating a floating reference start type for a specified version range. Identifies the type of floating reference option selected. This attribute must be set to VERSION_INITIAL or VERSION_NONE, or if null, VERSION_NONE will be assumed.
      authorizedVersionRangeEndType - Flag indicating a floating reference end type for a specified version range. Identifies the type of floating reference option selected. This attribute must be set to VERSION_LATEST or VERSION_NONE, or if null, VERSION_NONE will be assumed.
      Returns:
      AgreementAuthorizedObject
      Throws:
      WTException