Enum Class ABIVersion

java.lang.Object
java.lang.Enum<ABIVersion>
org.opendaylight.controller.cluster.access.ABIVersion
All Implemented Interfaces:
Serializable, Comparable<ABIVersion>, Constable, WritableObject

public enum ABIVersion extends Enum<ABIVersion> implements WritableObject
Enumeration of all ABI versions supported by this implementation of the client access API.
  • Enum Constant Details

    • TEST_PAST_VERSION

      public static final ABIVersion TEST_PAST_VERSION
      Version which is older than any other version. This version exists purely for testing purposes.
    • POTASSIUM

      public static final ABIVersion POTASSIUM
      Oldest ABI version we support. The messages remain the same as CHLORINE_SR2, the serialization proxies in use are flat objects without any superclasses. Data encoding does not include augmentations as separate objects.
    • TEST_FUTURE_VERSION

      public static final ABIVersion TEST_FUTURE_VERSION
      Version which is newer than any other version. This version exists purely for testing purposes.
  • Method Details

    • values

      public static ABIVersion[] 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 ABIVersion 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
    • shortValue

      public short shortValue()
      Return the unsigned short integer identifying this version.
      Returns:
      Unsigned short integer identifying this version
    • current

      public static @NonNull ABIVersion current()
      Return the codebase-native ABI version. This version is the default version allocated to messages at runtime. Conversion to previous versions may incur additional overhead (such as object allocation).
      Returns:
      Current ABIVersion
    • valueOf

      public static @NonNull ABIVersion valueOf(short value) throws FutureVersionException, PastVersionException
      Return the ABIVersion corresponding to an unsigned short integer. This method is provided for callers which provide their own recovery strategy in case of version incompatibility.
      Parameters:
      value - Short integer as returned from shortValue()
      Returns:
      ABIVersion
      Throws:
      FutureVersionException - if the specified integer identifies a future version
      PastVersionException - if the specified integer identifies a past version which is no longer supported
    • lt

      public boolean lt(@NonNull ABIVersion other)
      Return true if this version is earier than some other version.
      Parameters:
      other - Other ABIVersion
      Returns:
      true if other is later
      Throws:
      NullPointerException - if other is null
    • writeTo

      public void writeTo(DataOutput out) throws IOException
      Specified by:
      writeTo in interface WritableObject
      Throws:
      IOException
    • getStreamVersion

      public abstract @NonNull NormalizedNodeStreamVersion getStreamVersion()
      Return the NormalizedNode stream version corresponding to this particular ABI.
      Returns:
      Stream Version to use for this ABI version
    • readFrom

      public static @NonNull ABIVersion readFrom(@NonNull DataInput in) throws IOException
      Read an ABIVersion from a DataInput. This method is provided for callers which do not have a recovery strategy for dealing with unsupported versions.
      Parameters:
      in - Input from which to read
      Returns:
      An ABIVersion
      Throws:
      IOException - If read fails or an unsupported version is encountered
    • inexactReadFrom

      public static @NonNull ABIVersion inexactReadFrom(@NonNull DataInput in) throws IOException
      Throws:
      IOException