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
How to iterate through entities in searchObjectsIterative method.
Can be used to avoid long-running transactions in some cases.
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>>
-
Enum Constant Summary
Enum ConstantDescriptionUses the default method configured for the particular database.This is a workaround for situations when STRICTLY_SEQUENTIAL_PAGING cannot be used because a client-supplied paging is present.Uses the "simple paging" method: takes objects (e.g.) numbered 0 to 49, then 50 to 99, then 100 to 149, and so on.Fetches objects in single DB transaction.Uses the "strictly sequential paging" method: sorting returned objects by OID. -
Method Summary
Modifier and TypeMethodDescriptionstatic IterationMethodType
value()
Returns enum value defined as in schema.static IterationMethodType
Returns the enum constant of this class with the specified name.static IterationMethodType[]
values()
Returns an array containing the constants of this enum class, in the order they are declared.
-
Enum Constant Details
-
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
Fetches objects in single DB transaction. Not supported for all DBMSs. -
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
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
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
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
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 nameNullPointerException
- if the argument is null
-
value
Description copied from interface:TypeSafeEnum
Returns enum value defined as in schema.- Specified by:
value
in interfaceTypeSafeEnum
- Returns:
-
fromValue
-