Class TraitDefinition
java.lang.Object
software.amazon.smithy.model.traits.AbstractTrait
software.amazon.smithy.model.traits.TraitDefinition
- All Implemented Interfaces:
FromSourceLocation
,ToNode
,ToShapeId
,Trait
,ToSmithyBuilder<TraitDefinition>
public final class TraitDefinition
extends AbstractTrait
implements ToSmithyBuilder<TraitDefinition>
Trait definition trait.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
Represents an individual trait diff rule to define backward compatibility rules.static final class
Builder to create a TraitDefinition.static enum
static final class
static enum
The structural exclusion semantics of the trait. -
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic TraitDefinition.Builder
builder()
protected Node
The result of toNode is used for hashCodes and equality.boolean
Gets the trait names that conflict with this trait.Gets the valid places in a model that this trait can be applied.Gets thestructurallyExclusive
property of the trait.int
hashCode()
boolean
boolean
Take this object and create a builder that contains all of the current property values of this object.Methods inherited from class software.amazon.smithy.model.traits.AbstractTrait
getSourceLocation, setNodeCache, toNode, toShapeId, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface software.amazon.smithy.model.traits.Trait
isSynthetic
-
Field Details
-
ID
-
-
Constructor Details
-
TraitDefinition
-
-
Method Details
-
builder
-
toBuilder
Description copied from interface:ToSmithyBuilder
Take this object and create a builder that contains all of the current property values of this object.- Specified by:
toBuilder
in interfaceToSmithyBuilder<TraitDefinition>
- Returns:
- a builder for type T
-
getSelector
Gets the valid places in a model that this trait can be applied.- Returns:
- Returns the trait selector.
-
getConflicts
Gets the trait names that conflict with this trait.- Returns:
- Returns the conflicting trait names.
-
getStructurallyExclusive
Gets thestructurallyExclusive
property of the trait.- Returns:
- Returns the
structurallyExclusive
property of the trait.
-
isStructurallyExclusiveByMember
public boolean isStructurallyExclusiveByMember()- Returns:
- Returns true if the trait is
structurallyExclusive
by member.
-
isStructurallyExclusiveByTarget
public boolean isStructurallyExclusiveByTarget()- Returns:
- Returns true if the trait is
structurallyExclusive
by target.
-
getBreakingChanges
- Returns:
- Returns the breaking change rules of the trait.
-
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.
-
equals
- Overrides:
equals
in classAbstractTrait
-
hashCode
public int hashCode()- Overrides:
hashCode
in classAbstractTrait
-