You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by ap...@apache.org on 2013/07/28 08:37:05 UTC

git commit: refined the API, add more docs

Updated Branches:
  refs/heads/trunk 24f3eaf20 -> d7fe9b011


refined the API, add more docs


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

Branch: refs/heads/trunk
Commit: d7fe9b011f43e7e805f282927a16e44ad1e93a32
Parents: 24f3eaf
Author: paliwalashish <pa...@gmail.com>
Authored: Sun Jul 28 12:06:56 2013 +0530
Committer: paliwalashish <pa...@gmail.com>
Committed: Sun Jul 28 12:06:56 2013 +0530

----------------------------------------------------------------------
 .../org/apache/mina/avro/codec/AvroDecoder.java | 20 ++++++++++++++++----
 .../org/apache/mina/avro/codec/AvroEncoder.java | 19 +++++++++++++++++++
 .../codec/serialization/AvroMessageDecoder.java |  5 +++--
 3 files changed, 38 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mina/blob/d7fe9b01/avro/src/main/java/org/apache/mina/avro/codec/AvroDecoder.java
----------------------------------------------------------------------
diff --git a/avro/src/main/java/org/apache/mina/avro/codec/AvroDecoder.java b/avro/src/main/java/org/apache/mina/avro/codec/AvroDecoder.java
index 25ce582..5fbe738 100644
--- a/avro/src/main/java/org/apache/mina/avro/codec/AvroDecoder.java
+++ b/avro/src/main/java/org/apache/mina/avro/codec/AvroDecoder.java
@@ -28,14 +28,26 @@ import org.apache.mina.codec.delimited.SizePrefixedDecoder;
 import org.apache.mina.codec.delimited.ints.VarInt;
 
 /**
- *
+ * Avro Decoder
  */
 public class AvroDecoder<T extends GenericContainer> extends SizePrefixedDecoder<T> {
 
-    private Schema schema;
+    /**
+     * Construct an Avro Decoder
+     *
+     * @param sizeDecoder       Size decoder to decode size prefix
+     * @param payloadDecoder    Avro Message decoder to decode Avro message received
+     */
+    public AvroDecoder(IoBufferDecoder<Integer> sizeDecoder, IoBufferDecoder<T> payloadDecoder) {
+        super(sizeDecoder, payloadDecoder);
+    }
 
-    public AvroDecoder(IoBufferDecoder<Integer> sizeDecoder, IoBufferDecoder<T> payloadDecoder, Schema schema) {
+    /**
+     * Construct an Avro Decoder
+     *
+     * @param schema            Avro Schema to be used
+     */
+    public AvroDecoder(Schema schema) {
         super(new VarInt().getDecoder(), new AvroMessageDecoder<T>(schema));
-        this.schema = schema;
     }
 }

http://git-wip-us.apache.org/repos/asf/mina/blob/d7fe9b01/avro/src/main/java/org/apache/mina/avro/codec/AvroEncoder.java
----------------------------------------------------------------------
diff --git a/avro/src/main/java/org/apache/mina/avro/codec/AvroEncoder.java b/avro/src/main/java/org/apache/mina/avro/codec/AvroEncoder.java
index 22c9467..597d22e 100644
--- a/avro/src/main/java/org/apache/mina/avro/codec/AvroEncoder.java
+++ b/avro/src/main/java/org/apache/mina/avro/codec/AvroEncoder.java
@@ -27,10 +27,29 @@ import org.apache.mina.codec.delimited.SizePrefixedEncoder;
 import org.apache.mina.codec.delimited.ints.VarInt;
 
 /**
+ * Avro Encoder
  *
+ * It used GenericContainer, parent class for Avro's GenericRecord and SpecificRecord
+ * User need to specify the type while creating the instance of the Encoder. The default
+ * Size encoder is {@code VarInt} encoder
  */
 public class AvroEncoder<T extends GenericContainer> extends SizePrefixedEncoder<T> {
+
+    /**
+     * Intializes the Avro Encoder
+     *
+     * @param sizeEncoder       Size Prefix encoder
+     * @param payloadEncoder    Avro Encoder to encode message into Avro format
+     */
     public AvroEncoder(ByteBufferEncoder<Integer> sizeEncoder, ByteBufferEncoder<T> payloadEncoder) {
+        super(sizeEncoder, payloadEncoder);
+    }
+
+    /**
+     * Intializes the Avro Encoder
+     * Default Encoder are VarInt encoder for Size and {@link AvroEncoder} for Avro encoding
+     */
+    public AvroEncoder() {
         super(new VarInt().getEncoder(), new AvroMessageEncoder<T>());
     }
 }

http://git-wip-us.apache.org/repos/asf/mina/blob/d7fe9b01/avro/src/main/java/org/apache/mina/avro/codec/serialization/AvroMessageDecoder.java
----------------------------------------------------------------------
diff --git a/avro/src/main/java/org/apache/mina/avro/codec/serialization/AvroMessageDecoder.java b/avro/src/main/java/org/apache/mina/avro/codec/serialization/AvroMessageDecoder.java
index 013fea1..69944a8 100644
--- a/avro/src/main/java/org/apache/mina/avro/codec/serialization/AvroMessageDecoder.java
+++ b/avro/src/main/java/org/apache/mina/avro/codec/serialization/AvroMessageDecoder.java
@@ -45,15 +45,16 @@ public class AvroMessageDecoder<T extends GenericContainer> extends IoBufferDeco
     // Logger
     public static final Logger LOG = LoggerFactory.getLogger(AvroMessageDecoder.class);
 
+    // Avro Schema used for decoding
     private Schema schema;
 
     /**
      * Default Constructor
-     * @param schema
+     * @param schema    Avro Schema to be used for decoding the messages
      */
     public AvroMessageDecoder(Schema schema) {
         if(schema == null) {
-            LOG.error("Avro Schema passed cannot be null");
+            LOG.error("Avro Schema cannot be null");
             throw new IllegalArgumentException("Avro Schema cannot be null");
         }
         this.schema = schema;