Enum ModifiableMetadata.State

java.lang.Object
java.lang.Enum<ModifiableMetadata.State>
org.apache.sis.metadata.ModifiableMetadata.State
All Implemented Interfaces:
Serializable, Comparable<ModifiableMetadata.State>, java.lang.constant.Constable
Enclosing class:
ModifiableMetadata

public static enum ModifiableMetadata.State extends Enum<ModifiableMetadata.State>
Whether the metadata is still editable or has been made final. New ModifiableMetadata instances are initially EDITABLE and can be made FINAL after construction by a call to ModifiableMetadata.transitionTo(State).
Note: more states may be added in future Apache SIS versions. On possible candidate is STAGED. See SIS-81.
Since:
1.0
Version:
1.0
See Also:
  • Enum Constant Details

    • EDITABLE

      public static final ModifiableMetadata.State EDITABLE
      The metadata is modifiable. This is the default state when new ModifiableMetadata instances are created. Note that a modifiable metadata instance does not imply that all properties contained in that instance are also editable.
    • COMPLETABLE

      public static final ModifiableMetadata.State COMPLETABLE
      The metadata allows missing values to be set, but does not allow existing values to be modified. This state is not appendable, i.e. it does not allow adding elements in a collection.
    • FINAL

      public static final ModifiableMetadata.State FINAL
      The metadata is unmodifiable. When a metadata is final, it cannot be moved back to an editable state (but it is still possible to create a modifiable copy with MetadataCopier). Invoking any setter method on an unmodifiable metadata cause an UnmodifiableMetadataException to be thrown.
  • Field Details

    • VALUES

      private static final ModifiableMetadata.State[] VALUES
      Mapping from ModifiableMetadata private flags to State enumeration. A mapping exists because ModifiableMetadata does not use the same set of enumeration values (e.g. it has an internal ModifiableMetadata.FREEZING value), and because future versions may use a bitmask.
    • code

      final byte code
      The numerical code associated to this enumeration value. It serves similar purpose to the Enum.ordinal() value, but is nevertheless provided for the reasons given in VALUES.
  • Constructor Details

    • State

      private State(byte code)
      Creates a new state associated to the given code numerical code.
  • Method Details

    • values

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

      public static ModifiableMetadata.State 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
    • isUnmodifiable

      final boolean isUnmodifiable()
      Whether this enumeration represents a state where data cannot be modified anymore.