| Modifier and Type | Field and Description |
|---|---|
static NodeState |
EMPTY_NODE |
static NodeState |
MISSING_NODE |
| Modifier and Type | Method and Description |
|---|---|
NodeBuilder |
builder()
Returns a builder for constructing a new node state based on
this state, i.e.
|
boolean |
compareAgainstBaseState(NodeState base,
NodeStateDiff diff)
Compares this node state against the given base state.
|
static boolean |
compareAgainstEmptyState(NodeState state,
NodeStateDiff diff) |
boolean |
equals(Object object) |
boolean |
exists()
Checks whether this node exists.
|
boolean |
getBoolean(String name)
Returns the boolean value of the named property.
|
NodeState |
getChildNode(String name)
Returns the named, possibly non-existent, child node.
|
long |
getChildNodeCount(long max)
Returns the number of iterable child nodes of this node.
|
Iterable<? extends ChildNodeEntry> |
getChildNodeEntries()
Returns the iterable child node entries of this instance.
|
Iterable<String> |
getChildNodeNames()
Returns the names of all iterable child nodes.
|
long |
getLong(String name)
Returns the long value of the named property.
|
String |
getName(String name)
Returns the name value of the named property.
|
Iterable<String> |
getNames(String name)
Returns the name values of the named property.
|
Iterable<? extends org.apache.jackrabbit.oak.api.PropertyState> |
getProperties()
Returns an iterable of the properties of this node.
|
org.apache.jackrabbit.oak.api.PropertyState |
getProperty(String name)
Returns the named property, or
null if no such property exists. |
long |
getPropertyCount()
Returns the number of properties of this node.
|
String |
getString(String name)
Returns the string value of the named property.
|
Iterable<String> |
getStrings(String name)
Returns the string values of the named property.
|
boolean |
hasChildNode(String name)
Checks whether the named child node exists.
|
int |
hashCode() |
boolean |
hasProperty(String name)
Checks whether the named property exists.
|
static boolean |
isEmptyState(NodeState state) |
String |
toString() |
public static final NodeState EMPTY_NODE
public static final NodeState MISSING_NODE
public boolean exists()
NodeStatepublic long getPropertyCount()
NodeStategetPropertyCount in interface NodeStatepublic boolean hasProperty(@Nonnull String name)
NodeStategetProperty(name) != null, but may be optimized
to avoid having to load the property value.hasProperty in interface NodeStatename - property nametrue if the named property exists,
false otherwise@CheckForNull public org.apache.jackrabbit.oak.api.PropertyState getProperty(@Nonnull String name)
NodeStatenull if no such property exists.getProperty in interface NodeStatename - name of the property to returnnull if not foundpublic boolean getBoolean(@Nonnull String name)
NodeState
PropertyState property = state.getProperty(name);
return property != null
&& property.getType() == Type.BOOLEAN
&& property.getValue(Type.BOOLEAN);
getBoolean in interface NodeStatename - property namefalsepublic long getLong(String name)
NodeState
PropertyState property = state.getProperty(name);
if (property != null && property.getType() == Type.LONG) {
return property.getValue(Type.LONG);
} else {
return 0;
}
public String getString(String name)
NodeState
PropertyState property = state.getProperty(name);
if (property != null && property.getType() == Type.STRING) {
return property.getValue(Type.STRING);
} else {
return null;
}
@Nonnull public Iterable<String> getStrings(@Nonnull String name)
NodeState
PropertyState property = state.getProperty(name);
if (property != null && property.getType() == Type.STRINGS) {
return property.getValue(Type.STRINGS);
} else {
return Collections.emptyList();
}
getStrings in interface NodeStatename - property name@CheckForNull public String getName(@Nonnull String name)
NodeState
PropertyState property = state.getProperty(name);
if (property != null && property.getType() == Type.NAME) {
return property.getValue(Type.NAME);
} else {
return null;
}
@Nonnull public Iterable<String> getNames(@Nonnull String name)
NodeState
PropertyState property = state.getProperty(name);
if (property != null && property.getType() == Type.NAMES) {
return property.getValue(Type.NAMES);
} else {
return Collections.emptyList();
}
@Nonnull public Iterable<? extends org.apache.jackrabbit.oak.api.PropertyState> getProperties()
NodeStategetProperties in interface NodeStatepublic long getChildNodeCount(long max)
NodeStateIf an implementation knows the exact value, it returns it (even if the value is higher than max). If the implementation does not know the exact value, and the child node count is higher than max, it may return Long.MAX_VALUE. The cost of the operation is at most O(max).
getChildNodeCount in interface NodeStatemax - the maximum number of entries to traversepublic boolean hasChildNode(@Nonnull String name)
NodeStategetChildNode(name).exists(), except that
passing an invalid name as argument will result in a false
return value instead of an IllegalArgumentException.hasChildNode in interface NodeStatename - name of the child nodetrue if the named child node exists,
false otherwise@Nonnull public NodeState getChildNode(@Nonnull String name)
NodeStateNodeState.exists() method on the returned child node to determine
whether the node exists or not.getChildNode in interface NodeStatename - name of the child node to returnpublic Iterable<String> getChildNodeNames()
NodeStategetChildNodeNames in interface NodeState@Nonnull public Iterable<? extends ChildNodeEntry> getChildNodeEntries()
NodeState
Note on cost and performance: while it is possible to iterate over
all child NodeStates with the two methods NodeState.getChildNodeNames() and NodeState.getChildNode(String), this method is
considered more efficient because an implementation can potentially
perform the retrieval of the name and NodeState in one call.
This results in O(n) vs. O(n log n) when iterating over the child node
names and then look up the NodeState by name.
getChildNodeEntries in interface NodeState@Nonnull public NodeBuilder builder()
NodeStatepublic boolean compareAgainstBaseState(NodeState base, NodeStateDiff diff)
NodeStateTODO: Define the behavior of this method with regards to iterability/existence of child nodes.
compareAgainstBaseState in interface NodeStatebase - base statediff - handler of node state differencestrue if the full diff was performed, or
false if it was aborted as requested by the handler
(see the NodeStateDiff contract for more details)public static boolean compareAgainstEmptyState(NodeState state, NodeStateDiff diff)
public static boolean isEmptyState(NodeState state)
Copyright © 2012–2017 The Apache Software Foundation. All rights reserved.