You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by el...@apache.org on 2012/08/05 08:13:15 UTC

svn commit: r1369525 - in /labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer: BooleanSerializer.java ByteSerializer.java CharSerializer.java IntSerializer.java LongSerializer.java ShortSerializer.java StringSerializer.java

Author: elecharny
Date: Sun Aug  5 06:13:14 2012
New Revision: 1369525

URL: http://svn.apache.org/viewvc?rev=1369525&view=rev
Log:
o Created static methods in the serializers

Modified:
    labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/BooleanSerializer.java
    labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/ByteSerializer.java
    labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/CharSerializer.java
    labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/IntSerializer.java
    labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/LongSerializer.java
    labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/ShortSerializer.java
    labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/StringSerializer.java

Modified: labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/BooleanSerializer.java
URL: http://svn.apache.org/viewvc/labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/BooleanSerializer.java?rev=1369525&r1=1369524&r2=1369525&view=diff
==============================================================================
--- labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/BooleanSerializer.java (original)
+++ labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/BooleanSerializer.java Sun Aug  5 06:13:14 2012
@@ -43,12 +43,28 @@ public class BooleanSerializer implement
 
 
     /**
+     * A static method used to deserialize a Boolean from a byte array.
+     * @param in The byte array containing the boolean
+     * @return A boolean
+     */
+    public static Boolean deserialize( byte[] in )
+    {
+        if ( ( in == null ) || ( in.length < 1 ) )
+        {
+            throw new RuntimeException( "Cannot extract a Boolean from a buffer with not enough bytes" );
+        }
+
+        return in[0] == 0x01;
+    }
+
+
+    /**
      * {@inheritDoc}
      */
     public Boolean deserialize( BufferHandler bufferHandler ) throws IOException
     {
         byte[] in = bufferHandler.read( 1 );
 
-        return in[0] == 0x01;
+        return deserialize( in );
     }
 }

Modified: labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/ByteSerializer.java
URL: http://svn.apache.org/viewvc/labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/ByteSerializer.java?rev=1369525&r1=1369524&r2=1369525&view=diff
==============================================================================
--- labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/ByteSerializer.java (original)
+++ labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/ByteSerializer.java Sun Aug  5 06:13:14 2012
@@ -43,12 +43,28 @@ public class ByteSerializer implements E
 
 
     /**
+     * A static method used to deserialize a Byte from a byte array.
+     * @param in The byte array containing the Byte
+     * @return A Byte
+     */
+    public static Byte deserialize( byte[] in )
+    {
+        if ( ( in == null ) || ( in.length < 8 ) )
+        {
+            throw new RuntimeException( "Cannot extract a Byte from a buffer with not enough bytes" );
+        }
+
+        return in[0];
+    }
+
+
+    /**
      * {@inheritDoc}
      */
     public Byte deserialize( BufferHandler bufferHandler ) throws IOException
     {
         byte[] in = bufferHandler.read( 1 );
 
-        return in[0];
+        return deserialize( in );
     }
 }

Modified: labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/CharSerializer.java
URL: http://svn.apache.org/viewvc/labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/CharSerializer.java?rev=1369525&r1=1369524&r2=1369525&view=diff
==============================================================================
--- labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/CharSerializer.java (original)
+++ labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/CharSerializer.java Sun Aug  5 06:13:14 2012
@@ -46,13 +46,29 @@ public class CharSerializer implements E
 
 
     /**
+     * A static method used to deserialize a Character from a byte array.
+     * @param in The byte array containing the Character
+     * @return A Character
+     */
+    public static Character deserialize( byte[] in )
+    {
+        if ( ( in == null ) || ( in.length < 8 ) )
+        {
+            throw new RuntimeException( "Cannot extract a Character from a buffer with not enough bytes" );
+        }
+
+        return Character.valueOf( ( char ) ( ( in[0] << 8 ) +
+            ( in[1] & 0xFF ) ) );
+    }
+
+
+    /**
      * {@inheritDoc}
      */
     public Character deserialize( BufferHandler bufferHandler ) throws IOException
     {
         byte[] in = bufferHandler.read( 2 );
 
-        return Character.valueOf( ( char ) ( ( in[0] << 8 ) +
-            ( in[1] & 0xFF ) ) );
+        return deserialize( in );
     }
 }

Modified: labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/IntSerializer.java
URL: http://svn.apache.org/viewvc/labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/IntSerializer.java?rev=1369525&r1=1369524&r2=1369525&view=diff
==============================================================================
--- labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/IntSerializer.java (original)
+++ labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/IntSerializer.java Sun Aug  5 06:13:14 2012
@@ -48,15 +48,31 @@ public class IntSerializer implements El
 
 
     /**
-     * {@inheritDoc}
+     * A static method used to deserialize an Integer from a byte array.
+     * @param in The byte array containing the Integer
+     * @return An Integer
      */
-    public Integer deserialize( BufferHandler bufferHandler ) throws IOException
+    public static Integer deserialize( byte[] in )
     {
-        byte[] in = bufferHandler.read( 4 );
+        if ( ( in == null ) || ( in.length < 8 ) )
+        {
+            throw new RuntimeException( "Cannot extract a Integer from a buffer with not enough bytes" );
+        }
 
         return ( in[0] << 24 ) +
             ( ( in[1] & 0xFF ) << 16 ) +
             ( ( in[2] & 0xFF ) << 8 ) +
             ( in[3] & 0xFF );
     }
+
+
+    /**
+     * {@inheritDoc}
+     */
+    public Integer deserialize( BufferHandler bufferHandler ) throws IOException
+    {
+        byte[] in = bufferHandler.read( 4 );
+
+        return deserialize( in );
+    }
 }

Modified: labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/LongSerializer.java
URL: http://svn.apache.org/viewvc/labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/LongSerializer.java?rev=1369525&r1=1369524&r2=1369525&view=diff
==============================================================================
--- labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/LongSerializer.java (original)
+++ labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/LongSerializer.java Sun Aug  5 06:13:14 2012
@@ -53,8 +53,8 @@ public class LongSerializer implements E
 
     /**
      * A static method used to deserialize a Long from a byte array.
-     * @param in The byte array containing the long
-     * @return A long
+     * @param in The byte array containing the Long
+     * @return A Long
      */
     public static Long deserialize( byte[] in )
     {

Modified: labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/ShortSerializer.java
URL: http://svn.apache.org/viewvc/labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/ShortSerializer.java?rev=1369525&r1=1369524&r2=1369525&view=diff
==============================================================================
--- labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/ShortSerializer.java (original)
+++ labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/ShortSerializer.java Sun Aug  5 06:13:14 2012
@@ -46,12 +46,28 @@ public class ShortSerializer implements 
 
 
     /**
+     * A static method used to deserialize a Short from a byte array.
+     * @param in The byte array containing the Short
+     * @return A Short
+     */
+    public static Short deserialize( byte[] in )
+    {
+        if ( ( in == null ) || ( in.length < 8 ) )
+        {
+            throw new RuntimeException( "Cannot extract a Short from a buffer with not enough bytes" );
+        }
+
+        return ( short ) ( ( in[0] << 8 ) + ( in[1] & 0xFF ) );
+    }
+
+
+    /**
      * {@inheritDoc}
      */
     public Short deserialize( BufferHandler bufferHandler ) throws IOException
     {
         byte[] in = bufferHandler.read( 2 );
 
-        return ( short ) ( ( in[0] << 8 ) + ( in[1] & 0xFF ) );
+        return deserialize( in );
     }
 }

Modified: labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/StringSerializer.java
URL: http://svn.apache.org/viewvc/labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/StringSerializer.java?rev=1369525&r1=1369524&r2=1369525&view=diff
==============================================================================
--- labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/StringSerializer.java (original)
+++ labs/mavibot/trunk/mavibot/src/main/java/org/apache/mavibot/btree/serializer/StringSerializer.java Sun Aug  5 06:13:14 2012
@@ -99,10 +99,7 @@ public class StringSerializer implements
     {
         byte[] in = bufferHandler.read( 4 );
 
-        int len = ( in[0] << 24 ) +
-            ( ( in[1] & 0xFF ) << 16 ) +
-            ( ( in[2] & 0xFF ) << 8 ) +
-            ( in[3] & 0xFF );
+        int len = IntSerializer.deserialize( in );
 
         switch ( len )
         {



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org