Class EndpointRuleSetTrait
java.lang.Object
software.amazon.smithy.model.traits.AbstractTrait
software.amazon.smithy.rulesengine.traits.EndpointRuleSetTrait
- All Implemented Interfaces:
FromSourceLocation,ToNode,ToShapeId,Trait,ToSmithyBuilder<EndpointRuleSetTrait>
public final class EndpointRuleSetTrait
extends AbstractTrait
implements ToSmithyBuilder<EndpointRuleSetTrait>
Defines an endpoint rule-set used to resolve the client's transport endpoint.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classstatic final class -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic EndpointRuleSetTrait.Builderbuilder()protected NodeThe result of toNode is used for hashCodes and equality.Gets theEndpointComponentFactoryused to resolve this rule-set's functions, built-ins, and auth-scheme validators.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
equals, getSourceLocation, hashCode, setNodeCache, toNode, toShapeId, toStringMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface software.amazon.smithy.model.traits.Trait
isSynthetic
-
Field Details
-
ID
-
-
Method Details
-
builder
-
getRuleSet
-
getComponentFactory
Gets theEndpointComponentFactoryused to resolve this rule-set's functions, built-ins, and auth-scheme validators.Built lazily from the classloader captured when this trait was created (the classloader used to assemble the model) and cached, so endpoint extensions are discovered once and reused across deserialization and validation. Extensions living only in a caller-supplied closure classloader (for example
smithy-aws-endpoints, which registersaws.partition) are found because that closure classloader is used here.- Returns:
- the factory used to resolve endpoint components.
-
getEndpointRuleSet
-
createNode
Description copied from class:AbstractTraitThe 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:
createNodein classAbstractTrait- Returns:
- Returns the trait as a node.
-
toBuilder
Description copied from interface:ToSmithyBuilderTake this object and create a builder that contains all of the current property values of this object.- Specified by:
toBuilderin interfaceToSmithyBuilder<EndpointRuleSetTrait>- Returns:
- a builder for type T
-