Class GatekeeperMessage

java.lang.Object
org.jets3t.service.utils.gatekeeper.GatekeeperMessage

public class GatekeeperMessage extends Object
Represents a set of properties that will be sent to or received from a Gatekeeper service as a message document. This class includes utility methods to generate and parse plain text encodings of messages.

For more information about the Gatekeeper message format, please see: Gatekeeper Concepts

Author:
James Murty
  • Field Details

    • DELIM

      public static final String DELIM
      All message property names are delimited with a vertical bar (|).
      See Also:
    • PROPERTY_TRANSACTION_ID

      public static final String PROPERTY_TRANSACTION_ID
      The property name for message-specific transaction IDs: transactionId
      See Also:
    • PROPERTY_PRIOR_FAILURE_MESSAGE

      public static final String PROPERTY_PRIOR_FAILURE_MESSAGE
      The property name for storing information about prior failures in the gatekeeper client application.
      See Also:
    • PROPERTY_CLIENT_VERSION_ID

      public static final String PROPERTY_CLIENT_VERSION_ID
      The property name for storing information about a client application such as its version number. This information can be useful to server-side components to confirm compatibility with the client.
      See Also:
    • APP_PROPERTY_GATEKEEPER_ERROR_CODE

      public static final String APP_PROPERTY_GATEKEEPER_ERROR_CODE
      The property name for storing error codes a Gatekeeper can return to a client. The error codes can be any string value.
      See Also:
    • SUMMARY_DOCUMENT_METADATA_FLAG

      public static final String SUMMARY_DOCUMENT_METADATA_FLAG
      A flag name used to indicate when an S3Object is a summary XML document, as generated by the Uploader application.
      See Also:
    • LIST_OBJECTS_IN_BUCKET_FLAG

      public static final String LIST_OBJECTS_IN_BUCKET_FLAG
      A flag name that indicates the Gatekeeper servlet should perform a bucket listing - for example as used by CockpitLite
      See Also:
  • Constructor Details

    • GatekeeperMessage

      public GatekeeperMessage()
      Constructs a message with no properties.
  • Method Details

    • addSignatureRequest

      public void addSignatureRequest(SignatureRequest signatureRequest)
      Adds a Signature Request to the message, indicating a request that a particular operation be allowed on a particular object.
      Parameters:
      signatureRequest -
    • addSignatureRequests

      public void addSignatureRequests(SignatureRequest[] signatureRequests)
      Adds multiple signature requests to the message.
      Parameters:
      signatureRequests -
    • getSignatureRequests

      public SignatureRequest[] getSignatureRequests()
      Returns the signature requests in a message. When this method is called on a request message, this list will include only the requested operations. When this method is called on a message that is a response from a Gatekeeper service, the resulting list will include the signed URLs or reasons why requests were declined.
      Returns:
      the set of signature requests in this message.
    • addApplicationProperty

      public void addApplicationProperty(String propertyName, String propertyValue)
      Adds an application-specific property to the message.
      Parameters:
      propertyName -
      propertyValue -
    • addApplicationProperties

      public void addApplicationProperties(Map propertiesMap)
      Adds a set of application-specific properties to the message.
      Parameters:
      propertiesMap -
    • getApplicationProperties

      public Properties getApplicationProperties()
      Returns:
      the application-specific properties in this message.
    • addMessageProperty

      public void addMessageProperty(String propertyName, String propertyValue)
      Adds a message-specific property to the message.
      Parameters:
      propertyName -
      propertyValue -
    • addMessageProperties

      public void addMessageProperties(Map propertiesMap)
      Adds a set of message-specific properties to the message.
      Parameters:
      propertiesMap -
    • getMessageProperties

      public Properties getMessageProperties()
      Returns:
      the message-specific properties in this message.
    • encodeToProperties

      public Properties encodeToProperties()
      Encodes a Gatekeeper message as a properties object, with all signature requests identified with a unique zero-based index number.
      Returns:
      all the properties of the message.
    • decodeFromProperties

      public static GatekeeperMessage decodeFromProperties(Map postProperties)
      Decodes (parses) a Gatekeeper message from the given properties. Any properties that are not part of the message format are ignored.
      Parameters:
      postProperties -
      Returns:
      a Gatekeeper message object representing the contents of the properties.