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