You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@johnzon.apache.org by rm...@apache.org on 2014/07/12 10:53:22 UTC

git commit: resetting StringBuilder in all implementations of bufferstrategy

Repository: incubator-fleece
Updated Branches:
  refs/heads/master d3c2381ce -> badf44a23


resetting StringBuilder in all implementations of bufferstrategy


Project: http://git-wip-us.apache.org/repos/asf/incubator-fleece/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-fleece/commit/badf44a2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-fleece/tree/badf44a2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-fleece/diff/badf44a2

Branch: refs/heads/master
Commit: badf44a2377a508ca58be93b1d2321c2b105bcfd
Parents: d3c2381
Author: Romain Manni-Bucau <rm...@gmail.com>
Authored: Sat Jul 12 10:53:04 2014 +0200
Committer: Romain Manni-Bucau <rm...@gmail.com>
Committed: Sat Jul 12 10:53:04 2014 +0200

----------------------------------------------------------------------
 .../org/apache/fleece/core/BufferStrategy.java    | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-fleece/blob/badf44a2/fleece-core/src/main/java/org/apache/fleece/core/BufferStrategy.java
----------------------------------------------------------------------
diff --git a/fleece-core/src/main/java/org/apache/fleece/core/BufferStrategy.java b/fleece-core/src/main/java/org/apache/fleece/core/BufferStrategy.java
index 9d37e66..e80dd91 100644
--- a/fleece-core/src/main/java/org/apache/fleece/core/BufferStrategy.java
+++ b/fleece-core/src/main/java/org/apache/fleece/core/BufferStrategy.java
@@ -85,6 +85,11 @@ public enum BufferStrategy {
         protected char[] newInstance(int size) {
             return new char[size];
         }
+
+        @Override
+        public void release(final char[] value) {
+            // no-op
+        }
     }
 
     private static class StringBuilderSingletonProvider extends SingletonProvider<StringBuilder> {
@@ -96,9 +101,14 @@ public enum BufferStrategy {
         protected StringBuilder newInstance(final int size) {
             return new StringBuilder(size);
         }
+
+        @Override
+        public void release(final StringBuilder value) {
+            value.setLength(0);
+        }
     }
 
-    private static abstract class SingletonProvider<T> implements BufferProvider<T>, Serializable {
+    private static abstract class SingletonProvider<T> implements BufferProvider<T> {
         protected final T buffer;
 
         public SingletonProvider(final int size) {
@@ -163,6 +173,12 @@ public enum BufferStrategy {
         protected StringBuilder newInstance(final int size) {
             return new StringBuilder(size);
         }
+
+        @Override
+        public void release(final StringBuilder value) {
+            value.setLength(0);
+            super.release(value);
+        }
     }
 
     private static class CharBufferByInstanceProvider implements BufferProvider<char[]> {