Class TraitDefinition
- java.lang.Object
-
- software.amazon.smithy.model.traits.AbstractTrait
-
- software.amazon.smithy.model.traits.TraitDefinition
-
- All Implemented Interfaces:
FromSourceLocation
,ToNode
,ToShapeId
,Trait
,software.amazon.smithy.utils.ToSmithyBuilder<TraitDefinition>
public final class TraitDefinition extends AbstractTrait implements software.amazon.smithy.utils.ToSmithyBuilder<TraitDefinition>
Trait definition trait.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
TraitDefinition.Builder
Builder to create a TraitDefinition.static class
TraitDefinition.Provider
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
CONFLICTS_KEY
static ShapeId
ID
static java.lang.String
SELECTOR_KEY
static java.lang.String
STRUCTURALLY_EXCLUSIVE_KEY
-
Constructor Summary
Constructors Constructor Description TraitDefinition(TraitDefinition.Builder builder)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static TraitDefinition.Builder
builder()
protected Node
createNode()
The result of toNode is used for hashCodes and equality.java.util.List<ShapeId>
getConflicts()
Gets the trait names that conflict with this trait.Selector
getSelector()
Gets the valid places in a model that this trait can be applied.boolean
isStructurallyExclusive()
TraitDefinition.Builder
toBuilder()
-
Methods inherited from class software.amazon.smithy.model.traits.AbstractTrait
equals, getSourceLocation, hashCode, toNode, toShapeId, toString
-
-
-
-
Field Detail
-
ID
public static final ShapeId ID
-
SELECTOR_KEY
public static final java.lang.String SELECTOR_KEY
- See Also:
- Constant Field Values
-
STRUCTURALLY_EXCLUSIVE_KEY
public static final java.lang.String STRUCTURALLY_EXCLUSIVE_KEY
- See Also:
- Constant Field Values
-
CONFLICTS_KEY
public static final java.lang.String CONFLICTS_KEY
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
TraitDefinition
public TraitDefinition(TraitDefinition.Builder builder)
-
-
Method Detail
-
builder
public static TraitDefinition.Builder builder()
-
toBuilder
public TraitDefinition.Builder toBuilder()
- Specified by:
toBuilder
in interfacesoftware.amazon.smithy.utils.ToSmithyBuilder<TraitDefinition>
-
getSelector
public Selector getSelector()
Gets the valid places in a model that this trait can be applied.- Returns:
- Returns the trait selector.
-
getConflicts
public java.util.List<ShapeId> getConflicts()
Gets the trait names that conflict with this trait.- Returns:
- Returns the conflicting trait names.
-
isStructurallyExclusive
public boolean isStructurallyExclusive()
- Returns:
- Returns true if the trait is structurally exclusive.
-
createNode
protected Node createNode()
Description copied from class:AbstractTrait
The result of toNode is used for hashCodes and equality. Subclasses must implement createNode to turn the trait into a Node. This is then cached for subsequent retrievals.- Specified by:
createNode
in classAbstractTrait
- Returns:
- Returns the trait as a node.
-
-