You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by md...@apache.org on 2012/04/04 12:34:37 UTC
svn commit: r1309327 -
/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/TransientNodeState.java
Author: mduerig
Date: Wed Apr 4 10:34:37 2012
New Revision: 1309327
URL: http://svn.apache.org/viewvc?rev=1309327&view=rev
Log:
OAK-9: Internal tree builder
add methods for count and existence of nodes/properties
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/TransientNodeState.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/TransientNodeState.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/TransientNodeState.java?rev=1309327&r1=1309326&r2=1309327&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/TransientNodeState.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/kernel/TransientNodeState.java Wed Apr 4 10:34:37 2012
@@ -78,6 +78,18 @@ public class TransientNodeState {
? null
: persistentState.getProperty(name);
}
+
+ public boolean hasProperty(String name) {
+ return getProperty(name) != null;
+ }
+
+ public long getPropertyCount() {
+ long persistentCount = persistentState == null
+ ? 0
+ : persistentState.getPropertyCount();
+
+ return persistentCount + addedProperties.size() - removedProperties.size();
+ }
public TransientNodeState getChildNode(String name) {
TransientNodeState state = addedNodes.get(name);
@@ -93,6 +105,14 @@ public class TransientNodeState {
public boolean hasNode(String name) {
return getChildNode(name) != null;
}
+
+ public long getChildNodeCount() {
+ long persistentCount = persistentState == null
+ ? 0
+ : persistentState.getChildNodeCount();
+
+ return persistentCount + addedNodes.size() - removedNodes.size();
+ }
public Iterable<PropertyState> getProperties() {
final Set<String> removed = new HashSet<String>();