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;