Enum Class IterationMethodType

java.lang.Object
java.lang.Enum<IterationMethodType>
com.evolveum.midpoint.xml.ns._public.common.common_3.IterationMethodType
All Implemented Interfaces:
TypeSafeEnum, Serializable, Comparable<IterationMethodType>, Constable

public enum IterationMethodType extends Enum<IterationMethodType> implements TypeSafeEnum
How to iterate through entities in searchObjectsIterative method. Can be used to avoid long-running transactions in some cases.
  • Enum Constant Details

    • DEFAULT

      public static final IterationMethodType DEFAULT
      Uses the default method configured for the particular database. For H2 the default is to emulate iteration via paging, for other databases it is traditional sequential read.
    • SINGLE_TRANSACTION

      public static final IterationMethodType SINGLE_TRANSACTION
      Fetches objects in single DB transaction. Not supported for all DBMSs.
    • SIMPLE_PAGING

      public static final IterationMethodType SIMPLE_PAGING
      Uses the "simple paging" method: takes objects (e.g.) numbered 0 to 49, then 50 to 99, then 100 to 149, and so on. The disadvantage is that if the order of objects is changed during operation (e.g. by inserting/deleting some of them) then some objects can be processed multiple times, where others can be skipped.
    • STRICTLY_SEQUENTIAL_PAGING

      public static final IterationMethodType STRICTLY_SEQUENTIAL_PAGING
      Uses the "strictly sequential paging" method: sorting returned objects by OID. This is (almost) reliable in such a way that no object would be skipped. However, custom paging cannot be used in this mode.
    • FETCH_ALL

      public static final IterationMethodType FETCH_ALL
      This is a workaround for situations when STRICTLY_SEQUENTIAL_PAGING cannot be used because a client-supplied paging is present. All the objects are fetched as in regular searchObjects() call and then send to the client one-by-one. (This defeats the basic purpose of searchObjectsIterative but can be safely used for small numbers of objects.) So this method is a safe fallback that is used when STRICTLY_SEQUENTIAL_PAGING is implicitly chosen but a custom paging exists, provided that the paging contains maxSize clause with a number not greater than a specified limit (maxObjectsForImplicitFetchAllIterationMethod).
  • Method Details

    • values

      public static IterationMethodType[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static IterationMethodType valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • value

      public String value()
      Description copied from interface: TypeSafeEnum
      Returns enum value defined as in schema.
      Specified by:
      value in interface TypeSafeEnum
      Returns:
    • fromValue

      public static IterationMethodType fromValue(String v)