Enum Class DatasetMetadataPredicates

java.lang.Object
java.lang.Enum<DatasetMetadataPredicates>
io.gdcc.spi.export.DatasetMetadataPredicates
All Implemented Interfaces:
Serializable, Comparable<DatasetMetadataPredicates>, Constable

public enum DatasetMetadataPredicates extends Enum<DatasetMetadataPredicates>
Predicates for controlling which dataset metadata is included in an export and at what level of detail.

These predicates are used in a DatasetExportQuery to shape dataset-level retrieval. They are exclusively concerned with dataset-level concerns — file-level filtering is handled separately by FileMetadataPredicates via FileExportQuery.

Predicates may conflict with each other; use checkConflicts(Set) to validate a combination before use.

See Also:
  • Method Details

    • values

      public static DatasetMetadataPredicates[] 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 DatasetMetadataPredicates 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
    • conflictsWith

      public boolean conflictsWith(DatasetMetadataPredicates p)
      Returns true if this predicate conflicts with the given predicate.
      Parameters:
      p - the predicate to check against; null is safe and returns false
      Returns:
      true if a conflict exists, false otherwise
    • checkConflicts

      public static Set<DatasetMetadataPredicates> checkConflicts(Set<DatasetMetadataPredicates> predicates)
      Checks for conflicts among the given set of dataset metadata predicates. A predicate is considered conflicting if it has a conflict relationship with any other predicate in the set.
      Parameters:
      predicates - the set of predicates to check for conflicts
      Returns:
      an unmodifiable set of predicates from the input that conflict with at least one other predicate; empty if no conflicts exist