Enum IterationMethodType
- java.lang.Object
-
- java.lang.Enum<IterationMethodType>
-
- com.evolveum.midpoint.xml.ns._public.common.common_3.IterationMethodType
-
- All Implemented Interfaces:
Serializable
,Comparable<IterationMethodType>
public enum IterationMethodType extends Enum<IterationMethodType>
How to iterate through entities in searchObjectsIterative method. Can be used to avoid long-running transactions in some cases.
-
-
Enum Constant Summary
Enum Constants Enum Constant Description DEFAULT
Uses the default method configured for the particular database.FETCH_ALL
This is a workaround for situations when STRICTLY_SEQUENTIAL_PAGING cannot be used because a client-supplied paging is present.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.SINGLE_TRANSACTION
Fetches objects in single DB transaction.STRICTLY_SEQUENTIAL_PAGING
Uses the "strictly sequential paging" method: sorting returned objects by OID.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static IterationMethodType
fromValue(String v)
String
value()
static IterationMethodType
valueOf(String name)
Returns the enum constant of this type with the specified name.static IterationMethodType[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
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 Detail
-
values
public static IterationMethodType[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (IterationMethodType c : IterationMethodType.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static IterationMethodType valueOf(String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (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 type has no constant with the specified nameNullPointerException
- if the argument is null
-
value
public String value()
-
fromValue
public static IterationMethodType fromValue(String v)
-
-