Enum IterationMethodType

    • 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 name
        NullPointerException - if the argument is null
      • value

        public String value()