You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by jv...@apache.org on 2013/06/10 22:42:45 UTC

git commit: added some javadoc

Updated Branches:
  refs/heads/trunk 557b2fa5c -> 411ed0049


added some javadoc


Project: http://git-wip-us.apache.org/repos/asf/mina/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina/commit/411ed004
Tree: http://git-wip-us.apache.org/repos/asf/mina/tree/411ed004
Diff: http://git-wip-us.apache.org/repos/asf/mina/diff/411ed004

Branch: refs/heads/trunk
Commit: 411ed00493488a4c3e2a511136d01f4f76cfb582
Parents: 557b2fa
Author: jvermillard <jv...@apache.org>
Authored: Mon Jun 10 22:42:12 2013 +0200
Committer: jvermillard <jv...@apache.org>
Committed: Mon Jun 10 22:42:12 2013 +0200

----------------------------------------------------------------------
 .../mina/codec/delimited/ByteBufferEncoder.java | 12 +++---
 .../mina/codec/delimited/ProtobufDecoder.java   |  6 ++-
 .../mina/codec/delimited/ProtobufEncoder.java   |  8 +++-
 .../serialization/ThriftMessageDecoder.java     | 42 +++++++++++++++-----
 .../serialization/ThriftMessageEncoder.java     | 26 +++++++++---
 5 files changed, 68 insertions(+), 26 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mina/blob/411ed004/codec/src/main/java/org/apache/mina/codec/delimited/ByteBufferEncoder.java
----------------------------------------------------------------------
diff --git a/codec/src/main/java/org/apache/mina/codec/delimited/ByteBufferEncoder.java b/codec/src/main/java/org/apache/mina/codec/delimited/ByteBufferEncoder.java
index 5dbc786..23060a9 100644
--- a/codec/src/main/java/org/apache/mina/codec/delimited/ByteBufferEncoder.java
+++ b/codec/src/main/java/org/apache/mina/codec/delimited/ByteBufferEncoder.java
@@ -35,13 +35,13 @@ import org.apache.mina.codec.StatelessProtocolEncoder;
  * ByteBuffer.
  * </p>
  * 
- * @param <OUTPUT>
+ * @param <INPUT>
  *            the type of the messages which will be encoded in ByteBuffers and
  *            decoded from ByteBuffers.
  * 
  * @author <a href="http://mina.apache.org">Apache MINA Project</a>
  */
-public abstract class ByteBufferEncoder<OUTPUT> implements StatelessProtocolEncoder<OUTPUT, ByteBuffer> {
+public abstract class ByteBufferEncoder<INPUT> implements StatelessProtocolEncoder<INPUT, ByteBuffer> {
 
     /**
      * Being stateless, this method is left empty
@@ -62,7 +62,7 @@ public abstract class ByteBufferEncoder<OUTPUT> implements StatelessProtocolEnco
      * @return the buffer containing {@link ByteBuffer} representation of the
      *         message
      */
-    public ByteBuffer encode(OUTPUT message) {
+    public ByteBuffer encode(INPUT message) {
         ByteBuffer buffer = ByteBuffer.allocate(getEncodedSize(message));
         int oldPos = buffer.position();
         writeTo(message, buffer);
@@ -79,7 +79,7 @@ public abstract class ByteBufferEncoder<OUTPUT> implements StatelessProtocolEnco
      */
 
     @Override
-    public final ByteBuffer encode(OUTPUT message, Void context) {
+    public final ByteBuffer encode(INPUT message, Void context) {
         return encode(message);
     }
 
@@ -91,7 +91,7 @@ public abstract class ByteBufferEncoder<OUTPUT> implements StatelessProtocolEnco
      *            a message to be encoded
      * @return the size of the serialized form of the message
      */
-    public abstract int getEncodedSize(OUTPUT message);
+    public abstract int getEncodedSize(INPUT message);
 
     /**
      * Writes a message on a {@link ByteBuffer}.
@@ -106,6 +106,6 @@ public abstract class ByteBufferEncoder<OUTPUT> implements StatelessProtocolEnco
      * @param buffer
      *            a target {@link ByteBuffer}
      */
-    public abstract void writeTo(OUTPUT message, ByteBuffer buffer);
+    public abstract void writeTo(INPUT message, ByteBuffer buffer);
 
 }

http://git-wip-us.apache.org/repos/asf/mina/blob/411ed004/protobuf/src/main/java/org/apache/mina/codec/delimited/ProtobufDecoder.java
----------------------------------------------------------------------
diff --git a/protobuf/src/main/java/org/apache/mina/codec/delimited/ProtobufDecoder.java b/protobuf/src/main/java/org/apache/mina/codec/delimited/ProtobufDecoder.java
index 08d3c3b..dfdf889 100644
--- a/protobuf/src/main/java/org/apache/mina/codec/delimited/ProtobufDecoder.java
+++ b/protobuf/src/main/java/org/apache/mina/codec/delimited/ProtobufDecoder.java
@@ -26,9 +26,11 @@ import com.google.protobuf.ExtensionRegistryLite;
 import com.google.protobuf.GeneratedMessage;
 
 /**
+ * Decode Protocol Buffer messages of type OUTPUT
+ * 
  * @author <a href="http://mina.apache.org">Apache MINA Project</a>
  */
-public class ProtobufDecoder<M extends GeneratedMessage> extends SizePrefixedDecoder<M> {
+public class ProtobufDecoder<OUTPUT extends GeneratedMessage> extends SizePrefixedDecoder<OUTPUT> {
     public static <L extends GeneratedMessage> ProtobufDecoder<L> newInstance(Class<L> clazz,
             ExtensionRegistryLite registry) throws NoSuchMethodException {
         return new ProtobufDecoder<L>(clazz, registry);
@@ -39,7 +41,7 @@ public class ProtobufDecoder<M extends GeneratedMessage> extends SizePrefixedDec
         return newInstance(clazz, ExtensionRegistryLite.getEmptyRegistry());
     }
 
-    public ProtobufDecoder(Class<M> clazz, ExtensionRegistryLite registry) throws NoSuchMethodException {
+    public ProtobufDecoder(Class<OUTPUT> clazz, ExtensionRegistryLite registry) throws NoSuchMethodException {
         super(new VarInt.Decoder(), ProtobufMessageDecoder.newInstance(clazz, registry));
     }
 }

http://git-wip-us.apache.org/repos/asf/mina/blob/411ed004/protobuf/src/main/java/org/apache/mina/codec/delimited/ProtobufEncoder.java
----------------------------------------------------------------------
diff --git a/protobuf/src/main/java/org/apache/mina/codec/delimited/ProtobufEncoder.java b/protobuf/src/main/java/org/apache/mina/codec/delimited/ProtobufEncoder.java
index 68a4afa..836212f 100644
--- a/protobuf/src/main/java/org/apache/mina/codec/delimited/ProtobufEncoder.java
+++ b/protobuf/src/main/java/org/apache/mina/codec/delimited/ProtobufEncoder.java
@@ -25,15 +25,19 @@ import org.apache.mina.codec.delimited.serialization.ProtobufMessageEncoder;
 import com.google.protobuf.GeneratedMessage;
 
 /**
+ * Encode for protocol buffer messages.
+ * 
+ * @param INPUT base type for the encoded messages
+ * 
  * @author <a href="http://mina.apache.org">Apache MINA Project</a>
  */
-public class ProtobufEncoder<OUT extends GeneratedMessage> extends SizePrefixedEncoder<OUT> {
+public class ProtobufEncoder<INPUT extends GeneratedMessage> extends SizePrefixedEncoder<INPUT> {
 
     public static <L extends GeneratedMessage> ProtobufEncoder<L> newInstance(Class<L> clazz) {
         return new ProtobufEncoder<L>(clazz);
     }
 
-    public ProtobufEncoder(Class<OUT> clazz) {
+    public ProtobufEncoder(Class<INPUT> clazz) {
         super(new VarInt.Encoder(), ProtobufMessageEncoder.newInstance(clazz));
     }
 }

http://git-wip-us.apache.org/repos/asf/mina/blob/411ed004/thrift/src/main/java/org/apache/mina/codec/delimited/serialization/ThriftMessageDecoder.java
----------------------------------------------------------------------
diff --git a/thrift/src/main/java/org/apache/mina/codec/delimited/serialization/ThriftMessageDecoder.java b/thrift/src/main/java/org/apache/mina/codec/delimited/serialization/ThriftMessageDecoder.java
index a25c20e..3a1cfb4 100644
--- a/thrift/src/main/java/org/apache/mina/codec/delimited/serialization/ThriftMessageDecoder.java
+++ b/thrift/src/main/java/org/apache/mina/codec/delimited/serialization/ThriftMessageDecoder.java
@@ -21,36 +21,58 @@ package org.apache.mina.codec.delimited.serialization;
 
 import java.nio.ByteBuffer;
 
+import org.apache.mina.codec.ProtocolDecoderException;
 import org.apache.mina.codec.delimited.ByteBufferDecoder;
 import org.apache.thrift.TBase;
 import org.apache.thrift.TDeserializer;
+import org.apache.thrift.TException;
 import org.apache.thrift.protocol.TBinaryProtocol;
 
-public class ThriftMessageDecoder<IN extends TBase<?, ?>> extends ByteBufferDecoder<IN> {
+/**
+ * Decode {@link ByteBuffer} into Thrift messages.
+ * 
+ * @param <OUTPUT> the base type for decoded messages.
+ * 
+ * @author <a href="http://mina.apache.org">Apache MINA Project</a>
+ */
+public class ThriftMessageDecoder<OUTPUT extends TBase<?, ?>> extends ByteBufferDecoder<OUTPUT> {
     private TDeserializer deserializer = new TDeserializer(new TBinaryProtocol.Factory());
 
-    private final Class<IN> clazz;
+    private final Class<OUTPUT> clazz;
+
+    /**
+     * Create thrift message decoder
+     * 
+     * @param clazz the base class for decoded messages
+     */
+    public ThriftMessageDecoder(Class<OUTPUT> clazz) {
+        super();
+        this.clazz = clazz;
+    }
 
     public static <L extends TBase<?, ?>> ThriftMessageDecoder<L> newInstance(Class<L> clazz) {
         return new ThriftMessageDecoder<L>(clazz);
     }
 
+    /**
+     * {@inheritDoc}
+     */
     @Override
-    public IN decode(ByteBuffer input) {
-        IN object;
+    public OUTPUT decode(ByteBuffer input) {
+        OUTPUT object;
         try {
             byte array[] = new byte[input.remaining()];
             input.get(array);
             object = clazz.newInstance();
             deserializer.deserialize(object, array);
             return object;
-        } catch (Exception e) {
-            return null;
+        } catch (TException e) {
+            throw new ProtocolDecoderException(e);
+        } catch (InstantiationException e) {
+            throw new ProtocolDecoderException(e);
+        } catch (IllegalAccessException e) {
+            throw new ProtocolDecoderException(e);
         }
     }
 
-    public ThriftMessageDecoder(Class<IN> clazz) {
-        super();
-        this.clazz = clazz;
-    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mina/blob/411ed004/thrift/src/main/java/org/apache/mina/codec/delimited/serialization/ThriftMessageEncoder.java
----------------------------------------------------------------------
diff --git a/thrift/src/main/java/org/apache/mina/codec/delimited/serialization/ThriftMessageEncoder.java b/thrift/src/main/java/org/apache/mina/codec/delimited/serialization/ThriftMessageEncoder.java
index 8f204bc..4bb9539 100644
--- a/thrift/src/main/java/org/apache/mina/codec/delimited/serialization/ThriftMessageEncoder.java
+++ b/thrift/src/main/java/org/apache/mina/codec/delimited/serialization/ThriftMessageEncoder.java
@@ -21,16 +21,24 @@ package org.apache.mina.codec.delimited.serialization;
 
 import java.nio.ByteBuffer;
 
+import org.apache.mina.codec.ProtocolEncoderException;
 import org.apache.mina.codec.delimited.ByteBufferEncoder;
 import org.apache.thrift.TBase;
 import org.apache.thrift.TException;
 import org.apache.thrift.TSerializer;
 import org.apache.thrift.protocol.TBinaryProtocol;
 
-public class ThriftMessageEncoder<OUT extends TBase<?, ?>> extends ByteBufferEncoder<OUT> {
+/**
+ * Encode Thrift message into {@link ByteBuffer}
+ * 
+ * @param <INPUT> the base type for message to encode
+ * 
+ * @author <a href="http://mina.apache.org">Apache MINA Project</a>
+ */
+public class ThriftMessageEncoder<INPUT extends TBase<?, ?>> extends ByteBufferEncoder<INPUT> {
     private final TSerializer serializer = new TSerializer(new TBinaryProtocol.Factory());
 
-    private OUT lastMessage;
+    private INPUT lastMessage;
 
     private byte[] lastBuffer;
 
@@ -38,7 +46,7 @@ public class ThriftMessageEncoder<OUT extends TBase<?, ?>> extends ByteBufferEnc
         return new ThriftMessageEncoder<L>();
     }
 
-    private byte[] prepareBuffer(OUT message) throws TException {
+    private byte[] prepareBuffer(INPUT message) throws TException {
         if (message != lastMessage) {
             lastBuffer = serializer.serialize(message);
             this.lastMessage = message;
@@ -46,8 +54,11 @@ public class ThriftMessageEncoder<OUT extends TBase<?, ?>> extends ByteBufferEnc
         return lastBuffer;
     }
 
+    /**
+     * {@inheritDoc}
+     */
     @Override
-    public int getEncodedSize(OUT message) {
+    public int getEncodedSize(INPUT message) {
         try {
             return prepareBuffer(message).length;
         } catch (TException e) {
@@ -55,12 +66,15 @@ public class ThriftMessageEncoder<OUT extends TBase<?, ?>> extends ByteBufferEnc
         }
     }
 
+    /**
+     * {@inheritDoc}
+     */
     @Override
-    public void writeTo(OUT message, ByteBuffer buffer) {
+    public void writeTo(INPUT message, ByteBuffer buffer) {
         try {
             buffer.put(prepareBuffer(message));
         } catch (TException e) {
-            //
+            throw new ProtocolEncoderException(e);
         }
     }
 }
\ No newline at end of file