Class TraitContainer.VersionAwareTraitContainer
java.lang.Object
software.amazon.smithy.model.loader.TraitContainer.VersionAwareTraitContainer
- All Implemented Interfaces:
TraitContainer
- Enclosing interface:
- TraitContainer
public static final class TraitContainer.VersionAwareTraitContainer
extends Object
implements TraitContainer
Performs version-specific validation on traits as they are added.
For example, this class will throw a ModelSyntaxException
if
the mixin trait is used in Smithy IDL 1.0.
-
Nested Class Summary
Nested classes/interfaces inherited from interface software.amazon.smithy.model.loader.TraitContainer
TraitContainer.TraitHashMap, TraitContainer.VersionAwareTraitContainer
-
Field Summary
Fields inherited from interface software.amazon.smithy.model.loader.TraitContainer
EMPTY
-
Method Summary
Modifier and TypeMethodDescriptionvoid
clearTraitsForShape
(ShapeId shape) Clears the traits applied to a shape.Gets all traits applied to the prelude.getTraitsForShape
(ShapeId shape) Gets the traits applied to a shape.void
Create and add a trait.void
Add a trait.traits()
-
Method Details
-
traits
- Specified by:
traits
in interfaceTraitContainer
- Returns:
- Gets all traits in the value map.
-
getTraitsForShape
Description copied from interface:TraitContainer
Gets the traits applied to a shape.- Specified by:
getTraitsForShape
in interfaceTraitContainer
- Parameters:
shape
- Shape to get the traits of.- Returns:
- Returns the traits of the shape.
-
clearTraitsForShape
Description copied from interface:TraitContainer
Clears the traits applied to a shape.This is useful in the event of errors that occur while attempting to create a shape so that validation events about traits applied to shapes that couldn't be created are not emitted.
- Specified by:
clearTraitsForShape
in interfaceTraitContainer
- Parameters:
shape
- Shape to clear the traits for.
-
getTraitsAppliedToPrelude
Description copied from interface:TraitContainer
Gets all traits applied to the prelude.- Specified by:
getTraitsAppliedToPrelude
in interfaceTraitContainer
- Returns:
- Returns the traits applied to prelude shapes.
-
onTrait
Description copied from interface:TraitContainer
Add a trait.- Specified by:
onTrait
in interfaceTraitContainer
- Parameters:
target
- Shape to add the trait to.value
- Trait to add.
-
onTrait
Description copied from interface:TraitContainer
Create and add a trait.- Specified by:
onTrait
in interfaceTraitContainer
- Parameters:
target
- Shape to add the trait to.traitId
- Trait shape ID to create.value
- The value to assign to the trait.
-