Package tech.ytsaurus.ysontree
Interface YTreeNode
-
- All Known Subinterfaces:
YTreeBooleanNode,YTreeCompositeNode<T>,YTreeDoubleNode,YTreeEntityNode,YTreeIntegerNode,YTreeListNode,YTreeMapNode,YTreeScalarNode<V>,YTreeStringNode
- All Known Implementing Classes:
YTreeBooleanNodeImpl,YTreeDoubleNodeImpl,YTreeEntityNodeImpl,YTreeIntegerNodeImpl,YTreeListNodeImpl,YTreeMapNodeImpl,YTreeNodeImpl,YTreeStringNodeImpl
public interface YTreeNodeYTreeNode is representation of yson object. To build such objectYTreeBuildercan be used.- See Also:
YTree, Yson documentation
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default java.util.List<YTreeNode>asList()Get list value assuming node contains it.default java.util.Map<java.lang.String,YTreeNode>asMap()Get map value assuming node contains it.default java.util.Set<java.lang.String>attributeKeys()default java.util.Collection<YTreeNode>attributeValues()default YTreeBooleanNodebooleanNode()default booleanboolValue()Get boolean value assuming node contains it.default byte[]bytesValue()Get bytes value assuming node is string-like.default <T extends YTreeNode>
Tcast()voidclearAttributes()booleancontainsAttribute(java.lang.String key)booleancontainsAttributes()default YTreeDoubleNodedoubleNode()default doubledoubleValue()Get floating point value assuming node contains it.default YTreeEntityNodeentityNode()default floatfloatValue()java.util.Optional<YTreeNode>getAttribute(java.lang.String key)YTreeNodegetAttributeOrThrow(java.lang.String key)YTreeNodegetAttributeOrThrow(java.lang.String key, java.util.function.Supplier<java.lang.String> createMessage)java.util.Map<java.lang.String,YTreeNode>getAttributes()Get attribute map of an object.default YTreeIntegerNodeintegerNode()default intintValue()Shortcut for `(int) node.getLong()`default booleanisBooleanNode()Check if node contains boolean value.default booleanisDoubleNode()Check if node contains signed or unsigned integral value.default booleanisEntityNode()Check if node contains null (or entity) value.default booleanisIntegerNode()Check if node contains signed or unsigned integral value.default booleanisListNode()Check if node contains list value.default booleanisMapNode()Check if node contains map value.default booleanisStringNode()Check if node contains string-like value.default YTreeListNodelistNode()default longlongValue()Get integral value assuming node contains it.default YTreeMapNodemapNode()java.util.Optional<YTreeNode>putAttribute(java.lang.String key, YTreeNode value)java.util.Optional<YTreeNode>removeAttribute(java.lang.String key)default <V> YTreeScalarNode<V>scalarNode()default YTreeStringNodestringNode()default java.lang.StringstringValue()Get string value assuming node is string-like.byte[]toBinary()Get binary yson representation of value.
-
-
-
Method Detail
-
getAttributes
java.util.Map<java.lang.String,YTreeNode> getAttributes()
Get attribute map of an object. Return empty map if object doesn't have attributes.
-
clearAttributes
void clearAttributes()
-
containsAttributes
boolean containsAttributes()
-
containsAttribute
boolean containsAttribute(java.lang.String key)
-
removeAttribute
java.util.Optional<YTreeNode> removeAttribute(java.lang.String key)
-
attributeKeys
default java.util.Set<java.lang.String> attributeKeys()
-
attributeValues
default java.util.Collection<YTreeNode> attributeValues()
-
getAttribute
java.util.Optional<YTreeNode> getAttribute(java.lang.String key)
-
getAttributeOrThrow
YTreeNode getAttributeOrThrow(java.lang.String key)
-
getAttributeOrThrow
YTreeNode getAttributeOrThrow(java.lang.String key, java.util.function.Supplier<java.lang.String> createMessage)
-
cast
default <T extends YTreeNode> T cast()
-
listNode
default YTreeListNode listNode()
-
mapNode
default YTreeMapNode mapNode()
-
booleanNode
default YTreeBooleanNode booleanNode()
-
integerNode
default YTreeIntegerNode integerNode()
-
doubleNode
default YTreeDoubleNode doubleNode()
-
stringNode
default YTreeStringNode stringNode()
-
entityNode
default YTreeEntityNode entityNode()
-
scalarNode
default <V> YTreeScalarNode<V> scalarNode()
-
asList
default java.util.List<YTreeNode> asList()
Get list value assuming node contains it.- Throws:
java.lang.RuntimeException- if node is not integral.
-
asMap
default java.util.Map<java.lang.String,YTreeNode> asMap()
Get map value assuming node contains it.- Throws:
java.lang.RuntimeException- if node is not integral.
-
longValue
default long longValue()
Get integral value assuming node contains it. Can be used with nodes containing unsigned integral value in that case returned value should be interpreted as bit representation of unsigned value and `Long.*Unsigned*` methods can be used to work with it.- Throws:
java.lang.RuntimeException- if node is not integral.- See Also:
Long
-
intValue
default int intValue()
Shortcut for `(int) node.getLong()`- See Also:
longValue()
-
doubleValue
default double doubleValue()
Get floating point value assuming node contains it.- Throws:
java.lang.RuntimeException- if node is of unexpected type.
-
floatValue
default float floatValue()
-
boolValue
default boolean boolValue()
Get boolean value assuming node contains it.- Throws:
java.lang.RuntimeException- if node is of an unexpected type.
-
stringValue
default java.lang.String stringValue()
Get string value assuming node is string-like. If node contains binary data it would be interpreted as UTF8 string likeString(byte[], Charset)does.- Throws:
java.lang.RuntimeException- if node is of an unexpected type.
-
bytesValue
default byte[] bytesValue()
Get bytes value assuming node is string-like. If node was constructed withStringobject UTF8 representation of string is returned.- Throws:
java.lang.RuntimeException- if node is of an unexpected type.
-
isListNode
default boolean isListNode()
Check if node contains list value.
-
isMapNode
default boolean isMapNode()
Check if node contains map value.
-
isBooleanNode
default boolean isBooleanNode()
Check if node contains boolean value.
-
isIntegerNode
default boolean isIntegerNode()
Check if node contains signed or unsigned integral value. Note: value of integer node always fits Java's long type but not always fit Java's int type.
-
isDoubleNode
default boolean isDoubleNode()
Check if node contains signed or unsigned integral value. Note, it doesn't mean that value fits Java's int type.
-
isStringNode
default boolean isStringNode()
Check if node contains string-like value. Note, string-like value can contain arbitrary byte sequence.
-
isEntityNode
default boolean isEntityNode()
Check if node contains null (or entity) value.
-
toBinary
byte[] toBinary()
Get binary yson representation of value.- See Also:
YsonBinaryWriter
-
-