Class SmithyPattern.Segment
- java.lang.Object
-
- software.amazon.smithy.model.pattern.SmithyPattern.Segment
-
- Enclosing class:
- SmithyPattern
public static final class SmithyPattern.Segment extends java.lang.Object
Segment within a SmithyPattern.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
SmithyPattern.Segment.Type
-
Constructor Summary
Constructors Constructor Description Segment(java.lang.String content, SmithyPattern.Segment.Type segmentType)
Segment(java.lang.String content, SmithyPattern.Segment.Type segmentType, java.lang.Integer offset)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object other)
java.lang.String
getContent()
Get the content of the segment.int
hashCode()
boolean
isGreedyLabel()
boolean
isLabel()
boolean
isLiteral()
boolean
isNonGreedyLabel()
static SmithyPattern.Segment
parse(java.lang.String content, int offset)
Parse a segment from the given offset.java.lang.String
toString()
Get the segment as a literal value to be used in a pattern.
-
-
-
Constructor Detail
-
Segment
public Segment(java.lang.String content, SmithyPattern.Segment.Type segmentType)
-
Segment
public Segment(java.lang.String content, SmithyPattern.Segment.Type segmentType, java.lang.Integer offset)
-
-
Method Detail
-
parse
public static SmithyPattern.Segment parse(java.lang.String content, int offset)
Parse a segment from the given offset.- Parameters:
content
- Content of the segment.offset
- Character offset where the segment starts in the containing pattern.- Returns:
- Returns the created segment.
- Throws:
InvalidPatternException
- if the segment is invalid.
-
getContent
public java.lang.String getContent()
Get the content of the segment.The return value contains the segment in its entirety for non-labels, and the label name for both labels and greedy labels. For example, given a segment of "{label+}", the return value of getContent would be "label".
- Returns:
- Content of the segment.
-
isLiteral
public boolean isLiteral()
- Returns:
- True if the segment is a non-label literal.
-
isLabel
public boolean isLabel()
- Returns:
- True if the segment is a label regardless of whether is greedy or not.
-
isNonGreedyLabel
public boolean isNonGreedyLabel()
- Returns:
- True if the segment is a non-greedy label.
-
isGreedyLabel
public boolean isGreedyLabel()
- Returns:
- True if the segment is a greedy label.
-
toString
public java.lang.String toString()
Get the segment as a literal value to be used in a pattern.Unlike the result of
getContent()
, the return value oftoString
includes braces for labels and "+" for greedy labels.- Overrides:
toString
in classjava.lang.Object
- Returns:
- The literal segment.
-
equals
public boolean equals(java.lang.Object other)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
-