Class Revision
- java.lang.Object
-
- org.opendaylight.yangtools.yang.common.Revision
-
- All Implemented Interfaces:
Serializable
,Comparable<Revision>
,Immutable
,MutationBehaviour<Immutable>
public final class Revision extends Object implements Comparable<Revision>, Immutable, Serializable
Dedicated object identifying a YANG module revision.API design note
This class defines the contents of a revision statement, but modules do not require to have a revision (e.g. they have not started to keep track of revisions).APIs which involve this class should always transfer instances via
Optional<Revision>
, which is the primary bridge data type. Implementations can use nullable fields with explicit conversions to/fromOptional
. Both patterns can take advantage ofcompare(Optional, Optional)
andcompare(Revision, Revision)
respectively.- Author:
- Robert Varga
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static Revision
MAX_VALUE
Revision which compares as greater than any other valid revision.static Pattern
STRING_FORMAT_PATTERN
String format pattern, which can be used to match parts of a string into components.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static int
compare(@NonNull Optional<Revision> first, @NonNull Optional<Revision> second)
Compare twoOptional
s wrapping Revisions.static int
compare(@Nullable Revision first, @Nullable Revision second)
Compare two explicitly nullable Revisions.int
compareTo(Revision o)
boolean
equals(Object obj)
int
hashCode()
static @NonNull Revision
of(@NonNull String str)
Parse a revision string.static @NonNull Optional<Revision>
ofNullable(@Nullable String str)
Parse a (potentially null) revision string.String
toString()
-
-
-
Method Detail
-
of
public static @NonNull Revision of(@NonNull String str)
Parse a revision string.- Parameters:
str
- String to be parsed- Returns:
- A Revision instance.
- Throws:
DateTimeParseException
- if the string format does not conform specification.NullPointerException
- if the string is null
-
ofNullable
public static @NonNull Optional<Revision> ofNullable(@Nullable String str)
Parse a (potentially null) revision string. Null strings result result inOptional.empty()
.- Parameters:
str
- String to be parsed- Returns:
- An optional Revision instance.
- Throws:
DateTimeParseException
- if the string format does not conform specification.
-
compare
public static int compare(@NonNull Optional<Revision> first, @NonNull Optional<Revision> second)
Compare twoOptional
s wrapping Revisions. Arguments and return value are consistent withComparator.compare(Object, Object)
interface contract. Missing revisions compare as lower than any other revision.- Parameters:
first
- First optional revisionsecond
- Second optional revision- Returns:
- Positive, zero, or negative integer.
-
compare
public static int compare(@Nullable Revision first, @Nullable Revision second)
Compare two explicitly nullable Revisions. UnlikecompareTo(Revision)
, this handles both arguments being null such that total ordering is defined.- Parameters:
first
- First revisionsecond
- Second revision- Returns:
- Positive, zero, or negative integer.
-
compareTo
public int compareTo(Revision o)
- Specified by:
compareTo
in interfaceComparable<Revision>
-
-