添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
public final class ArrayNode
extends Node
implements java.lang.Iterable<Node>, ToSmithyBuilder<ArrayNode>
Represents an array of nodes.
static <T extends ToNode >
java.util.stream.Collector<T,java.util.List< Node >, ArrayNode >
collect () static <T extends ToNode >
java.util.stream.Collector<T,java.util.List< Node >, ArrayNode >
collect ( SourceLocation sloc) boolean equals (java.lang.Object other) ArrayNode expectArrayNode (java.lang.String errorMessage)
Casts the current node to an ArrayNode , throwing ExpectationNotMetException when the node is the wrong type.
ArrayNode expectArrayNode (java.util.function.Supplier<java.lang.String> errorMessage)
Casts the current node to an ArrayNode , throwing ExpectationNotMetException when the node is the wrong type.
java.util.Optional< Node > get (int index)
Gets a node from the given index.
java.util.List< Node > getElements ()
Gets the list of nodes.
<T extends Node >
java.util.List<T>
getElementsAs (java.lang.Class<T> type)
Gets the elements of the array as a list of a specific type of Node .
<T,K extends Node >
java.util.List<T>
getElementsAs (java.util.function.Function<K,T> f)
Gets the elements of the ArrayNode as a specific type by applying a mapping function to each node.
NodeType getType ()
Gets the type of the node.
hashCode () boolean isEmpty ()
Returns true if the array node is empty.
java.util.Iterator< Node > iterator () ArrayNode merge ( ArrayNode other)
Merges two ArrayNodes into a new ArrayNode.
size ()
Returns the number of elements in the array node.
SmithyBuilder < ArrayNode > toBuilder ()
Take this object and create a builder that contains all of the current property values of this object.
ArrayNode withValue ( Node node)
Copies the values from the current array node, adding the given node, returning them in a new ArrayNode .

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 , 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

toBuilder

public SmithyBuilder<ArrayNode> 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 interface ToSmithyBuilder < ArrayNode >
Returns:
a builder for type T
public NodeType getType()
Description copied from class: Node
Gets the type of the node.
Specified by:
getType in class Node
Returns:
Returns the node type.
public <R> R accept(NodeVisitor<R> visitor)
Description copied from class: Node
Accepts a visitor with the node.
Specified by:
accept in class Node
Type Parameters:
R - visitor return type.
Parameters:
visitor - Visitor to dispatch to.
Returns:
Returns the accepted result.

expectArrayNode

public ArrayNode expectArrayNode(java.lang.String errorMessage)
Description copied from class: Node
Casts the current node to an ArrayNode , throwing ExpectationNotMetException when the node is the wrong type.
Overrides:
expectArrayNode in class Node
Parameters:
errorMessage - Error message to use if the node is of the wrong type.
Returns:
Returns an array node.

expectArrayNode

public ArrayNode expectArrayNode(java.util.function.Supplier<java.lang.String> errorMessage)
Description copied from class: Node
Casts the current node to an ArrayNode , throwing ExpectationNotMetException when the node is the wrong type.
Overrides:
expectArrayNode in class Node
Parameters:
errorMessage - Error message supplier.
Returns:
Returns an array node.

asArrayNode

public java.util.Optional<ArrayNode> asArrayNode()
Description copied from class: Node
Gets the node as an ArrayNode if it is an array.
Overrides:
asArrayNode in class Node
Returns:
Returns the optional array node.

withValue

public ArrayNode withValue(Node node)
Copies the values from the current array node, adding the given node, returning them in a new ArrayNode .
Parameters:
node - The node to add.
Returns:
Returns a new array node.

getElementsAs

public <T extends Node> java.util.List<T> getElementsAs(java.lang.Class<T> type)
Gets the elements of the array as a list of a specific type of Node .
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

public <T,K extends Node> java.util.List<T> getElementsAs(java.util.function.Function<K,T> f)
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 type T . 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 takes K and return T .
Returns:
Returns the List of type T.
Throws:
ExpectationNotMetException - if the list contains elements of a different type than K .

merge

public ArrayNode merge(ArrayNode other)
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

public static <T extends ToNode> java.util.stream.Collector<T,java.util.List<Node>,ArrayNode> collect()
Type Parameters:
T - Type of value in the collection.
Returns:
Creates a collector that create an ArrayNode.

collect

public static <T extends ToNode> java.util.stream.Collector<T,java.util.List<Node>,ArrayNode> collect(SourceLocation sloc)
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.