Code cleanup and formatting. Migrated to java 1.8.
[svjatoslav_commons.git] / src / main / java / eu / svjatoslav / commons / data / BitOutputStream.java
index 6348d0a..b356ea0 100755 (executable)
@@ -1,10 +1,10 @@
 /*
  * Svjatoslav Commons - shared library of common functionality.
- * Copyright (C) 2012, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
- * 
+ * Copyright ©2012-2014, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
+ *
  * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public License
- * as published by the Free Software Foundation.
+ * modify it under the terms of version 3 of the GNU Lesser General Public License
+ * or later as published by the Free Software Foundation.
  */
 
 package eu.svjatoslav.commons.data;
@@ -18,55 +18,43 @@ import java.io.OutputStream;
 
 public class BitOutputStream {
 
-       int currentByte;
-       int currentBytePointer;
-
-       OutputStream outputStream;
-
-       public BitOutputStream(final OutputStream outputStream) {
-               currentByte = 0;
-               currentBytePointer = 0;
-               this.outputStream = outputStream;
-       };
-
-       public void finishByte() throws IOException {
-               if (currentBytePointer != 0) {
-                       outputStream.write(currentByte);
-                       currentBytePointer = 0;
-               }
-       }
-
-       public void storeBits(final int data, final int bitCount)
-                       throws IOException {
-               for (int i = bitCount - 1; i >= 0; i--) {
-
-                       int mask = 1;
-                       mask = mask << i;
-
-                       final int currentBit = data & mask;
-                       currentByte = currentByte << 1;
-
-                       if (currentBit != 0) {
-                               currentByte = currentByte | 1;
-                       }
-                       currentBytePointer++;
-
-                       if (currentBytePointer == 8) {
-                               currentBytePointer = 0;
-                               outputStream.write(currentByte);
-                               currentByte = 0;
-                       }
-               }
-       }
-
-       public void storeIntegerCompressed8(final int data) throws IOException {
-               if (data < 256) {
-                       storeBits(0, 1);
-                       storeBits(data, 8);
-               } else {
-                       storeBits(1, 1);
-                       storeBits(data, 32);
-               }
-       }
+    private final OutputStream outputStream;
+    private int currentByte;
+    private int currentBytePointer;
+
+    public BitOutputStream(final OutputStream outputStream) {
+        currentByte = 0;
+        currentBytePointer = 0;
+        this.outputStream = outputStream;
+    }
+
+    public void finishByte() throws IOException {
+        if (currentBytePointer != 0) {
+            outputStream.write(currentByte);
+            currentBytePointer = 0;
+        }
+    }
+
+    public void storeBits(final int data, final int bitCount)
+            throws IOException {
+        for (int i = bitCount - 1; i >= 0; i--) {
+
+            int mask = 1;
+            mask = mask << i;
+
+            final int currentBit = data & mask;
+            currentByte = currentByte << 1;
+
+            if (currentBit != 0)
+                currentByte = currentByte | 1;
+            currentBytePointer++;
+
+            if (currentBytePointer == 8) {
+                currentBytePointer = 0;
+                outputStream.write(currentByte);
+                currentByte = 0;
+            }
+        }
+    }
 
 }