Class AgreementAttributes

java.lang.Object
wt.access.agreement.AgreementAttributes
All Implemented Interfaces:
Serializable

public final class AgreementAttributes extends Object implements Serializable
AgreementAttributes provides a place to specify the agreement attributes necessary for creating a new AuthorizationAgreement object.

Supported API: true

Extendable: false
See Also:
  • Field Details

    • FOLDER_SEPARATOR

      public static final String FOLDER_SEPARATOR
      The separator to use to separate folders.

      Supported API: true
      See Also:
  • Constructor Details

    • AgreementAttributes

      public AgreementAttributes(String externalTypeId, String name, String number, String description, State lifecycleState, boolean useApprovedLifecycleState, Timestamp startDate, Timestamp endDate, int pendingExpirationInterval, String folderPath, boolean createFolders, WTContainerRef containerRef)
      This is a public constructor. For descriptions of the parameters, see the relevant setters.

      Supported API: true
      Parameters:
      externalTypeId - The external type ID (Required)
      name - The name (Required)
      number - The number (Can be null)
      description - The description (Can be null)
      lifecycleState - The life cycle state (Can be null)
      useApprovedLifecycleState - Whether to create the agreement in the configured "approved" state for agreements
      startDate - The start date/time (Required)
      endDate - The end date/time (Required)
      pendingExpirationInterval - The pending expiration interval (Must be non-negative)
      folderPath - The folder path (Required)
      createFolders - Whether to create folders if they don't exist (Required)
      containerRef - The container to store the agreement in (Required)
    • AgreementAttributes

      public AgreementAttributes(String externalTypeId, String name, String number, String description, State lifecycleState, boolean useApprovedLifecycleState, Timestamp startDate, Timestamp endDate, int pendingExpirationInterval, ArrayList<State> authorizationLifecycleStates, ArrayList<String> authorizedRelatedChangeTypes, String folderPath, boolean createFolders, WTContainerRef containerRef)
      This is a public constructor, with additional attribute parameters. For descriptions of the parameters, see the relevant setters.

      Supported API: true
      Parameters:
      externalTypeId - The external type ID (Required)
      name - The name (Required)
      number - The number (Can be null)
      description - The description (Can be null)
      lifecycleState - The life cycle state (Can be null)
      useApprovedLifecycleState - Whether to create the agreement in the configured "approved" state for agreements
      startDate - The start date/time (Required)
      endDate - The end date/time (Required)
      pendingExpirationInterval - The pending expiration interval (Must be non-negative)
      authorizationLifecycleStates - The list of authorization life cycle states (Can be null for ALL states)
      authorizedRelatedChangeTypes - The list of authorized related change types (Can be null for NO Types)
      folderPath - The folder path (Required)
      createFolders - Whether to create folders if they don't exist (Required)
      containerRef - The container to store the agreement in (Required)
    • AgreementAttributes

      public AgreementAttributes(String externalTypeId, String name, String number, String description, State lifecycleState, boolean useApprovedLifecycleState, Timestamp startDate, Timestamp endDate, int pendingExpirationInterval, ArrayList<State> authorizationLifecycleStates, ArrayList<String> authorizedRelatedChangeTypes, Map<String,Set<String>> authorizedSecurityLabelValues, String folderPath, boolean createFolders, WTContainerRef containerRef)
      This is a public constructor, with additional attribute parameters. For descriptions of the parameters, see the relevant setters.

      Supported API: true
      Parameters:
      externalTypeId - The external type ID (Required)
      name - The name (Required)
      number - The number (Can be null)
      description - The description (Can be null)
      lifecycleState - The life cycle state (Can be null)
      useApprovedLifecycleState - Whether to create the agreement in the configured "approved" state for agreements
      startDate - The start date/time (Required)
      endDate - The end date/time (Required)
      pendingExpirationInterval - The pending expiration interval (Must be non-negative)
      authorizationLifecycleStates - The list of authorization life cycle states (Can be null for ALL states)
      authorizedRelatedChangeTypes - The list of authorized related change types (Can be null for NO Types)
      authorizedSecurityLabelValues - The map of authorized security label values (Can be null for ALL applicable values)
      folderPath - The folder path (Required)
      createFolders - Whether to create folders if they don't exist (Required)
      containerRef - The container to store the agreement in (Required)
  • Method Details

    • setExternalTypeId

      public void setExternalTypeId(String externalTypeId)
      Sets the external type ID of the agreement you wish to create. This external type ID must be a type of AuthorizationAgreement and must be in a form similar to: WCTYPE|wt.access.AuthorizationAgreement or WCTYPE|wt.access.AuthorizationAgreement|org.test.SomeSoftType

      Supported API: true
      Parameters:
      externalTypeId - The externalTypeId to set
    • getExternalTypeId

      public String getExternalTypeId()
      Returns the external type ID.

      Supported API: true
      Returns:
      The externalTypeId
    • setName

      public void setName(String name)
      Sets the name of the agreement you wish to create.

      Supported API: true
      Parameters:
      name - The name to set
    • setNumber

      public void setNumber(String number)
      Sets the number of the agreement you wish to create. If this is unspecified, the number will be assigned by object initialization rules.

      Supported API: true
      Parameters:
      number - The number to set
    • setDescription

      public void setDescription(String description)
      Sets the description of the agreement you wish to create.

      Supported API: true
      Parameters:
      description - The description to set
    • setLifecycleState

      public void setLifecycleState(State lifecycleState)
      Sets the life cycle state of the agreement you wish to create. NOTE: This will be ignored if useApprovedState is set to true.

      Supported API: true
      Parameters:
      lifecycleState - The life cycle state to set
    • setUseApprovedLifecycleState

      public void setUseApprovedLifecycleState(boolean useApprovedState)
      Sets whether to create the agreement in the configured "approved" lifecycle state for agreements. If this is true, any state value set via setLifecycleState will be ignored.

      Supported API: true
      Parameters:
      useApprovedState - True to use the "approved" life cycle state, false otherwise.
    • getUseApprovedLifecycleState

      public boolean getUseApprovedLifecycleState()
      Returns whether to create the agreement in the configured "approved" life cycle state for agreements. If this is true, any state value set via setLifecycleState will be ignored.

      Supported API: true
      Returns:
      True if using the "approved" life cycle state, false otherwise.
    • setStartDate

      public void setStartDate(Timestamp startDate)
      Sets the start date of the agreement you wish to create. The start date is the date/time at which the agreement begins to take effect if it is also in the configured approved life cycle state. It must be before the end date.

      Supported API: true
      Parameters:
      startDate - The startDate to set
    • getStartDate

      public Timestamp getStartDate()
      Returns the start date. The start date is the date/time at which the agreement begins to take effect if it is also in the configured approved life cycle state. It must be before the end date.

      Supported API: true
      Returns:
      The startDate
    • setEndDate

      public void setEndDate(Timestamp endDate)
      Sets the end date of the agreement you wish to create. The end date is the date/time at which the agreement is no longer valid. It must be after the start date.

      Supported API: true
      Parameters:
      endDate - The endDate to set
    • getEndDate

      public Timestamp getEndDate()
      Returns the end date. The end date is the date/time at which the agreement is no longer valid. It must be after the start date.

      Supported API: true
      Returns:
      The endDate
    • setPendingExpirationInterval

      public void setPendingExpirationInterval(int pendingExpirationInterval)
      Sets the pending expiration interval for the agreement you wish to create. The pending expiration interval is the number of days before the agreement expires, at which time a pending expiration event is dispatched.

      Supported API: true
      Parameters:
      pendingExpirationInterval - The pendingExpirationInterval to set
    • getPendingExpirationInterval

      public int getPendingExpirationInterval()
      Returns the pending expiration interval. The pending expiration interval is the number of days before the agreement expires, at which time a pending expiration event is dispatched.

      Supported API: true
      Returns:
      The pendingExpirationInterval
    • setAuthorizationLifecycleStates

      public void setAuthorizationLifecycleStates(ArrayList<State> authorizationLifecycleStates)
      Sets the authorizationLifecycleStates array for the agreement you wish to create. This array contains a list of life cycle states used to authorize AgreementAuthorizedObjects when evaluating access via this agreement. The array may be set to null, which indicates ALL life cycle states.

      Supported API: true
      Parameters:
      authorizationLifecycleStates - The list of authorized life cycle states to set
    • getAuthorizationLifecycleStates

      public ArrayList<State> getAuthorizationLifecycleStates()
      Returns the authorizationLifecycleStates array. This array contains a list of life cycle states used to authorize AgreementAuthorizedObjects when evaluating access via this agreement.

      Supported API: true
      Returns:
      ArrayList The list of authorized life cycle states set
    • setAuthorizedRelatedChangeTypes

      public void setAuthorizedRelatedChangeTypes(ArrayList<String> authorizedRelatedChangeTypes)
      Sets the authorized related change types for the agreement you wish to create. This array contains the list of types to reference when dynamically allowing access to change objects associated with AgreementAuthorizedObjects. The array may be set to null, which indicates NO types should be authorized.

      Supported API: true
      Parameters:
      authorizedRelatedChangeTypes - The list of authorized related change types (may be null)
    • setAuthorizedSecurityLabelValues

      public void setAuthorizedSecurityLabelValues(Map<String,Set<String>> authorizedSecurityLabelValues)
      Sets the authorizedSecurityLabelValues map. This map contains the set of security labels to security label values that the agreement can clear access to. The map can be null (which means that all the values associated with the agreement type in the configuration will be cleared), but it cannot be empty. Also, if a security label is in the map it must have at least one associated security label value.

      For example, if 5 security labels, 3 standard and 2 custom, the authorizedSecurityLabelValues map could look like this:

      StandardSecurityLabelOne -> Value1,Value2 (only Value1 and Value2 will be cleared by the agreement for this label)

      StandardSecurityLabelTwo -> AgreementConstants.SL_FILTER_ALL_VALUES (All applicable values will be cleared by the agreement for this label)

      CustomSecurityLabelOne -> AgreementConstants.SL_FILTER_ALL_VALUES (All values will be cleared by the agreement for this label)

      This map would mean that the agreement could not authorize any security label values for StandardSecurityLabelThree or CustomSecurityLabelTwo, as they do not appear in the map. It would only clear Value1 and Value2 for StandardSecurityLabelOne, all applicable values for StandardSecurityLabelTwo, and all values for CustomLabelOne.

      All security label names and security label values in the map should be in their internal form (i.e. the one in the security labels configuration file), or in the case of wanting all values for a particular security label, AgreementConstants.SL_FILTER_ALL_VALUES



      Supported API: true

      Parameters:
      authorizedSecurityLabelValues - The Map of security label to security label values (may be null)
    • getAuthorizedSecurityLabelValues

      public Map<String,Set<String>> getAuthorizedSecurityLabelValues()
      Returns the authorizedSecurityLabelValues map. This map contains the set of security labels to security label values that the agreement can clear access to.

      Supported API: true
      Returns:
      Map<String,Set> The Map of security label to security label values
    • setFolderPath

      public void setFolderPath(String folderPath) throws WTInvalidParameterException
      Sets the agreement's folder path. The folder path indicates the folder in which this agreement will be stored. The path takes the form "//" It must start with a "/", and contain one or more folders separated by a "/". It is legal to pass only a "/", in which case the agreement will be stored at the root level of the container specified as the containerRef in this object.

      Supported API: true
      Parameters:
      folderPath - The folder path to set
      Throws:
      WTInvalidParameterException - If the folder path does not start with a "/"
    • getFolderPath

      public String getFolderPath()
      Returns the agreement's folder path. The folder path indicates the folder in which this agreement will be stored. The path takes the form "//" It must start with a "/", and contain one or more folders separated by a "/". It is legal to pass only a "/", in which case the agreement will be stored at the root level of the container specified as the containerRef in this object.

      Supported API: true
      Returns:
      The folder path
    • setCreateFolders

      public void setCreateFolders(boolean createFolders)
      Sets the agreement's createFolders flag. This flag indicates whether to create the folders specified on the folder path when trying to create the agreement, if they don't already exist.

      Supported API: true
      Parameters:
      createFolders - True to create folders if they don't exist, false not to.
    • getCreateFolders

      public boolean getCreateFolders()
      Returns the agreement's createFolders flag. This flag indicates whether to create the folders specified on the folder path when trying to create the agreement, if they don't already exist.

      Supported API: true
      Returns:
      The createFolders flag
    • setContainerRef

      public void setContainerRef(WTContainerRef containerRef)
      Sets the agreement's container reference.

      Supported API: true
      Parameters:
      containerRef - The container reference to set
    • getContainerRef

      public WTContainerRef getContainerRef()
      Returns the agreement's container reference.

      Supported API: true
      Returns:
      The container reference