Author: mreutegg
Date: Tue Aug 30 15:16:18 2016
New Revision: 1758410

URL: http://svn.apache.org/viewvc?rev=1758410&view=rev
Log:
OAK-4723: Optimize PathRev as/from String

Commit missing changes

Modified:
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/RevisionVector.java

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/RevisionVector.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/RevisionVector.java?rev=1758410&r1=1758409&r2=1758410&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/RevisionVector.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/RevisionVector.java
 Tue Aug 30 15:16:18 2016
@@ -326,13 +326,25 @@ public final class RevisionVector implem
             return "";
         }
         StringBuilder sb = new StringBuilder(len * 
Revision.REV_STRING_APPROX_SIZE + len - 1);
-        for (int i = 0; i < len; i++) {
+        return toStringBuilder(sb).toString();
+    }
+
+    /**
+     * Appends the string representation of this revision vector to the passed
+     * {@code StringBuilder}. The string representation is the same as returned
+     * by {@link #asString()}.
+     *
+     * @param sb the {@code StringBuilder} this revision vector is appended to.
+     * @return the passed {@code StringBuilder} object.
+     */
+    public StringBuilder toStringBuilder(StringBuilder sb) {
+        for (int i = 0; i < revisions.length; i++) {
             if (i > 0) {
                 sb.append(',');
             }
             revisions[i].toStringBuilder(sb);
         }
-        return sb.toString();
+        return sb;
     }
 
     /**
@@ -397,6 +409,16 @@ public final class RevisionVector implem
         return new RevisionVector(revs, false, false);
     }
 
+    /**
+     * Returns the dimensions of this revision vector. That is, the number of
+     * revision elements in this vector.
+     *
+     * @return the number of revision elements in this vector.
+     */
+    public int getDimensions() {
+        return revisions.length;
+    }
+
     //------------------------< CacheValue 
>------------------------------------
 
     @Override


Reply via email to