Class ArrayNode
java.lang.Object
software.amazon.smithy.model.node.Node
software.amazon.smithy.model.node.ArrayNode
- All Implemented Interfaces:
Iterable<Node>
,FromSourceLocation
,ToNode
,ToSmithyBuilder<ArrayNode>
Represents an array of nodes.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
Builder used to efficiently create an ArrayNode.Nested classes/interfaces inherited from class software.amazon.smithy.model.node.Node
Node.NonNumericFloat
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescription<R> R
accept
(NodeVisitor<R> visitor) Accepts a visitor with the node.Gets the node as an ArrayNode if it is an array.static ArrayNode.Builder
builder()
collect()
collect
(SourceLocation sloc) boolean
expectArrayNode
(String errorMessage) Casts the current node to anArrayNode
, throwingExpectationNotMetException
when the node is the wrong type.expectArrayNode
(Supplier<String> errorMessage) Casts the current node to anArrayNode
, throwingExpectationNotMetException
when the node is the wrong type.get
(int index) Gets a node from the given index.Gets the list of nodes.getElementsAs
(Class<T> type) Gets the elements of the array as a list of a specific type ofNode
.getElementsAs
(Function<K, T> f) Gets the elements of the ArrayNode as a specific type by applying a mapping function to each node.getType()
Gets the type of the node.int
hashCode()
boolean
isEmpty()
Returns true if the array node is empty.iterator()
Merges two ArrayNodes into a new ArrayNode.int
size()
Returns the number of elements in the array node.Take this object and create a builder that contains all of the current property values of this object.Copies the values from the current array node, adding the given node, returning them in a newArrayNode
.Methods inherited from class software.amazon.smithy.model.node.Node
arrayNode, arrayNode, asBooleanNode, asNullNode, asNumberNode, asObjectNode, assertEquals, asStringNode, diff, expectArrayNode, expectBooleanNode, expectBooleanNode, expectBooleanNode, expectNullNode, expectNullNode, expectNullNode, expectNumberNode, expectNumberNode, expectNumberNode, expectObjectNode, expectObjectNode, expectObjectNode, expectStringNode, expectStringNode, expectStringNode, from, from, from, from, fromNodes, fromNodes, fromStrings, fromStrings, getSourceLocation, isArrayNode, isBooleanNode, isNullNode, isNumberNode, isObjectNode, isStringNode, loadArrayOfString, nullNode, objectNode, objectNode, objectNodeBuilder, parse, parse, parse, parse, parseJsonWithComments, parseJsonWithComments, prettyPrintJson, prettyPrintJson, printJson, toNode, withDeepSortedKeys, withDeepSortedKeys
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
ArrayNode
-
-
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<ArrayNode>
- Returns:
- a builder for type T
-
iterator
-
getType
Description copied from class:Node
Gets the type of the node. -
accept
Description copied from class:Node
Accepts a visitor with the node. -
expectArrayNode
Description copied from class:Node
Casts the current node to anArrayNode
, throwingExpectationNotMetException
when the node is the wrong type.- Overrides:
expectArrayNode
in classNode
- Parameters:
errorMessage
- Error message to use if the node is of the wrong type.- Returns:
- Returns an array node.
-
expectArrayNode
Description copied from class:Node
Casts the current node to anArrayNode
, throwingExpectationNotMetException
when the node is the wrong type.- Overrides:
expectArrayNode
in classNode
- Parameters:
errorMessage
- Error message supplier.- Returns:
- Returns an array node.
-
asArrayNode
Description copied from class:Node
Gets the node as an ArrayNode if it is an array.- Overrides:
asArrayNode
in classNode
- Returns:
- Returns the optional array node.
-
getElements
Gets the list of nodes.- Returns:
- Returns a list of nodes.
-
get
Gets a node from the given index.- Parameters:
index
- Index of the value to get.- Returns:
- Returns an optional node at the given index.
-
isEmpty
public boolean isEmpty()Returns true if the array node is empty.- Returns:
- Returns true if the array node is empty.
-
size
public int size()Returns the number of elements in the array node.- Returns:
- Returns the number of elements in the array node.
-
withValue
Copies the values from the current array node, adding the given node, returning them in a newArrayNode
.- Parameters:
node
- The node to add.- Returns:
- Returns a new array node.
-
getElementsAs
Gets the elements of the array as a list of a specific type ofNode
.- Type Parameters:
T
- Type of Node to expect in each position.- Parameters:
type
- Type of Node to expect in each position.- Returns:
- Returns the List of the specified type.
- Throws:
ExpectationNotMetException
- if the list contains elements of a different type.
-
getElementsAs
Gets the elements of the ArrayNode as a specific type by applying a mapping function to each node.Each Node is cast to
K
and then mapped with the provided function to return typeT
.ArrayNode array = Node.fromStrings("foo", "baz", "bar"); List<String> strings = array.getElementsAs(StringNode::getValue);
- Type Parameters:
K
- Expected Node type.T
- Mapping function return value.- Parameters:
f
- Mapping function that takesK
and returnT
.- Returns:
- Returns the List of type T.
- Throws:
ExpectationNotMetException
- if the list contains elements of a different type thanK
.
-
merge
Merges two ArrayNodes into a new ArrayNode.If the current node has a source location, it is applied to the result. Otherwise, the source location of
other
is applied to the result.- Parameters:
other
- Node to merge with.- Returns:
- Returns a new merged array node.
-
collect
- Type Parameters:
T
- Type of value in the collection.- Returns:
- Creates a collector that create an ArrayNode.
-
collect
- Type Parameters:
T
- Type of value in the collection.- Parameters:
sloc
- Source location to use on the created node.- Returns:
- Creates a collector that create an ArrayNode.
-
equals
-
hashCode
public int hashCode()
-