Class SmithyPattern
java.lang.Object
software.amazon.smithy.model.pattern.SmithyPattern
- Direct Known Subclasses:
 UriPattern
Represents a contained pattern.
 
A pattern is a series of segments, some of which may be labels.
Labels may appear in the pattern in the form of "{label}". Labels must not be repeated, must not contain other labels (e.g., "{fo{bar}oo}"), and the label name must match the regex "^[a-zA-Z0-9_]+$". No labels can appear after the query string.
Greedy labels, a specialized type of label, may be specified using "{label+}". Only a single greedy label may appear in a pattern, and it must be the last label in a pattern. Greedy labels may be disabled for a pattern as part of the builder construction.
- 
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classBuilder used to create a SmithyPattern.static final classSegment within a SmithyPattern. - 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionstatic SmithyPattern.Builderbuilder()booleangetConflictingLabelSegmentsMap(SmithyPattern otherPattern) Gets a map of explicitly conflicting label segments between this pattern and another.final Optional<SmithyPattern.Segment>Gets the greedy label of the pattern, if present.final Optional<SmithyPattern.Segment>Get a label by case-insensitive name.final List<SmithyPattern.Segment>Get a list of all segments that are labels.final List<SmithyPattern.Segment>Gets all segments, in order.inthashCode()toString() 
- 
Constructor Details
- 
SmithyPattern
 
 - 
 - 
Method Details
- 
getSegments
Gets all segments, in order.- Returns:
 - All segments, in order, in an unmodifiable list.
 
 - 
getLabels
Get a list of all segments that are labels.- Returns:
 - Label segments in an unmodifiable list.
 
 - 
getLabel
Get a label by case-insensitive name.- Parameters:
 name- Name of the label to retrieve.- Returns:
 - An optionally found label.
 
 - 
getGreedyLabel
Gets the greedy label of the pattern, if present.- Returns:
 - Returns the optionally found segment that is a greedy label.
 
 - 
toString
 - 
equals
 - 
getConflictingLabelSegmentsMap
public Map<SmithyPattern.Segment,SmithyPattern.Segment> getConflictingLabelSegmentsMap(SmithyPattern otherPattern) Gets a map of explicitly conflicting label segments between this pattern and another.- Parameters:
 otherPattern- SmithyPattern to check against.- Returns:
 - A map of Segments where each pair represents a conflict and where the key is a segment from this pattern. This map is ordered so segments that appear first in this pattern appear first when iterating the map.
 
 - 
hashCode
public int hashCode() - 
builder
- Returns:
 - Returns a builder used to create a SmithyPattern.
 
 
 -