- java.lang.Object
-
- org.junit.platform.engine.UniqueId
-
- All Implemented Interfaces:
Serializable
,Cloneable
@API(status=STABLE, since="1.0") public class UniqueId extends Object implements Cloneable, Serializable
UniqueId
encapsulates the creation, parsing, and display of unique IDs forTestDescriptors
.Instances of this class have value semantics and are immutable.
- Since:
- 1.0
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
UniqueId.Segment
A segment of aUniqueId
comprises a type and a value.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description UniqueId
append(String segmentType, String value)
Construct a newUniqueId
by appending a newUniqueId.Segment
, based on the suppliedsegmentType
andvalue
, to the end of thisUniqueId
.UniqueId
append(UniqueId.Segment segment)
protected Object
clone()
boolean
equals(Object o)
static UniqueId
forEngine(String engineId)
Create an engine's unique ID from itsengineId
using the default format.Optional<String>
getEngineId()
Get the engine ID stored in thisUniqueId
, if available.UniqueId.Segment
getLastSegment()
Get the lastUniqueId.Segment
of thisUniqueId
.List<UniqueId.Segment>
getSegments()
Get the immutable list of segments that make up thisUniqueId
.int
hashCode()
boolean
hasPrefix(UniqueId potentialPrefix)
Determine if the suppliedUniqueId
is a prefix for thisUniqueId
.static UniqueId
parse(String uniqueId)
Parse aUniqueId
from the supplied string representation using the default format.UniqueId
removeLastSegment()
static UniqueId
root(String segmentType, String value)
Create a root unique ID from the suppliedsegmentType
andvalue
using the default format.String
toString()
Generate the unique, formatted string representation of thisUniqueId
using the configuredUniqueIdFormat
.
-
-
-
Method Detail
-
parse
public static UniqueId parse(String uniqueId) throws JUnitException
Parse aUniqueId
from the supplied string representation using the default format.- Parameters:
uniqueId
- the string representation to parse; nevernull
or blank- Returns:
- a properly constructed
UniqueId
- Throws:
JUnitException
- if the string cannot be parsed
-
forEngine
public static UniqueId forEngine(String engineId)
Create an engine's unique ID from itsengineId
using the default format.The engine ID will be stored in a
UniqueId.Segment
withtype
"engine"
.- Parameters:
engineId
- the engine ID; nevernull
or blank- See Also:
root(String, String)
-
root
public static UniqueId root(String segmentType, String value)
Create a root unique ID from the suppliedsegmentType
andvalue
using the default format.- Parameters:
segmentType
- the segment type; nevernull
or blankvalue
- the value; nevernull
or blank- See Also:
forEngine(String)
-
getEngineId
public final Optional<String> getEngineId()
Get the engine ID stored in thisUniqueId
, if available.- See Also:
forEngine(String)
-
getSegments
public final List<UniqueId.Segment> getSegments()
Get the immutable list of segments that make up thisUniqueId
.
-
append
public final UniqueId append(String segmentType, String value)
Construct a newUniqueId
by appending a newUniqueId.Segment
, based on the suppliedsegmentType
andvalue
, to the end of thisUniqueId
.This
UniqueId
will not be modified.Neither the
segmentType
nor thevalue
may contain any of the special characters used for constructing the string representation of thisUniqueId
.- Parameters:
segmentType
- the type of the segment; nevernull
or blankvalue
- the value of the segment; nevernull
or blank
-
append
@API(status=STABLE, since="1.1") public final UniqueId append(UniqueId.Segment segment)
Construct a newUniqueId
by appending a newUniqueId.Segment
to the end of thisUniqueId
.This
UniqueId
will not be modified.- Parameters:
segment
- the segment to be appended; nevernull
- Since:
- 1.1
-
hasPrefix
@API(status=STABLE, since="1.1") public boolean hasPrefix(UniqueId potentialPrefix)
Determine if the suppliedUniqueId
is a prefix for thisUniqueId
.- Parameters:
potentialPrefix
- theUniqueId
to be checked; nevernull
- Since:
- 1.1
-
removeLastSegment
@API(status=STABLE, since="1.5") public UniqueId removeLastSegment()
Construct a newUniqueId
and removing the lastUniqueId.Segment
of thisUniqueId
.This
UniqueId
will not be modified.- Returns:
- a new
UniqueId
; nevernull
- Throws:
PreconditionViolationException
- if thisUniqueId
contains a single segment- Since:
- 1.5
-
getLastSegment
@API(status=STABLE, since="1.5") public UniqueId.Segment getLastSegment()
Get the lastUniqueId.Segment
of thisUniqueId
.- Returns:
- the last
Segment
; nevernull
- Since:
- 1.5
-
clone
protected Object clone() throws CloneNotSupportedException
- Overrides:
clone
in classObject
- Throws:
CloneNotSupportedException
-
-