Class CTSOptions

java.lang.Object
org.forgerock.am.cts.api.CTSOptions

public final class CTSOptions extends Object
CTSOptions are intended to provide guidance to the CTS as to how it should perform the requested operation.

Each CTSOption maps to an Option which will be passed to the backing CTS implementation. The implementation may or may not be able to support the requested option and if it is unable to do so, should provide meaningful feedback to the caller.

As such, each CTSOption describes a generic concept which will be implemented in a backing implementation specific way.

Since:
14.0.0
  • Field Details

    • PRE_DELETE_READ_OPTION

      public static final Option<CoreTokenField[]> PRE_DELETE_READ_OPTION
      Signals the CTS to perform a read of a CTS token on delete.

      The value of the option will be used to determine if the token is read on the delete operation.

      Applicable for use only with the delete CTS operation.

    • ASSERTION_REQUEST_OPTION

      public static final Option<TokenFilter> ASSERTION_REQUEST_OPTION
      Signals the CTS to perform an assertion using the provided TokenFilter before performing the requested operation.
    • VLV_SORT_ATTRIBUTE

      public static final Option<String> VLV_SORT_ATTRIBUTE
      Signals the CTS to utilise a pre-registered VLV-index based query, with the provided sort order.
    • ETAG_READ_OPTION

      public static final Option<ETag> ETAG_READ_OPTION
      Signals to the CTS backing implementation to include the result of an optimistic concurrency ETag in the response for this request.

      When this option is provided, any returned Token from the CTS will include an ETag value which can be accessed with Token.getETag().

      This ETag instance should be used in a subsequent modification request of the Token to verify that the entire Token has not changed between the read and subsequent modification requests.

      Note: The value provided with this Option is not used in the read request, only for the ETAG_ASSERT_OPTION option.

      See Also:
    • ETAG_ASSERT_OPTION

      public static final Option<ETag> ETAG_ASSERT_OPTION
      Signals to the CTS backing implementation to assert that the CTS entry being updated still has the given ETag before applying the requested modification to it.

      This ETag is acquired by using the ETAG_READ_OPTION option on a previous request.

      If the ETag has changed in the mean time, then the CTS will provide the caller with an exception which allows them to decide how to respond to this failure.

      See Also:
  • Method Details

    • singleOption

      public static <T> Options singleOption(Option<T> option, T value)