Skip to content

Commit 4f3ec72

Browse files
committed
Improved Java library API (IEncoder no longer uses useless generics)
1 parent 8d9ed21 commit 4f3ec72

19 files changed

+47
-52
lines changed

JavaLibrary/src/main/java/org/bn/CoderFactory.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ public static CoderFactory getInstance() {
132132
/**
133133
* Create new default encoder (The BER encoding is default)
134134
*/
135-
public <T> IEncoder<T> newEncoder() {
135+
public IEncoder newEncoder() {
136136
return newEncoder("BER");
137137
}
138138

@@ -144,15 +144,15 @@ public <T> IEncoder<T> newEncoder() {
144144
* @return Encoder for specified specification
145145
* @throws IllegalArgumentException if the encodingSchema is not recognized
146146
*/
147-
public <T> IEncoder<T> newEncoder(String encodingSchema) {
147+
public IEncoder newEncoder(String encodingSchema) {
148148
if (encodingSchema.equalsIgnoreCase("BER")) {
149-
return new BEREncoder<T>();
149+
return new BEREncoder();
150150
} else if (encodingSchema.equalsIgnoreCase("PER") || encodingSchema.equalsIgnoreCase("PER/Aligned") || encodingSchema.equalsIgnoreCase("PER/A")) {
151-
return new PERAlignedEncoder<T>();
151+
return new PERAlignedEncoder();
152152
} else if (encodingSchema.equalsIgnoreCase("PER/Unaligned") || encodingSchema.equalsIgnoreCase("PER/U")) {
153-
return new PERUnalignedEncoder<T>();
153+
return new PERUnalignedEncoder();
154154
} else if (encodingSchema.equalsIgnoreCase("DER")) {
155-
return new DEREncoder<T>();
155+
return new DEREncoder();
156156
} else {
157157
throw new IllegalArgumentException("Unknown encoding schema '"+encodingSchema+"'");
158158
}

JavaLibrary/src/main/java/org/bn/IEncoder.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
/*
22
Copyright 2006-2011 Abdulla Abdurakhmanov ([email protected])
3-
Original sources are available at www.latestbit.com
4-
3+
54
Licensed under the Apache License, Version 2.0 (the "License");
65
you may not use this file except in compliance with the License.
76
You may obtain a copy of the License at
@@ -21,13 +20,13 @@
2120
/**
2221
* The ASN.1 encoder interface
2322
*/
24-
public interface IEncoder<T> {
23+
public interface IEncoder {
2524
/**
2625
* Encode object
2726
* @param object User object
2827
* @param stream Stream to encoding
2928
* @see CoderFactory
3029
* @throws Exception
3130
*/
32-
public void encode(T object, OutputStream stream) throws Exception;
31+
public void encode(Object object, OutputStream stream) throws Exception;
3332
}

JavaLibrary/src/main/java/org/bn/coders/Decoder.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import java.io.InputStream;
1919
import java.lang.reflect.Constructor;
2020
import java.lang.reflect.Field;
21-
import java.lang.reflect.InvocationTargetException;
2221
import java.lang.reflect.Method;
2322
import java.lang.reflect.Modifier;
2423
import org.bn.IDecoder;

JavaLibrary/src/main/java/org/bn/coders/Encoder.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,10 @@
4040
import org.bn.types.BitString;
4141
import org.bn.types.ObjectIdentifier;
4242

43-
public abstract class Encoder<T> implements IEncoder<T>, IASN1TypesEncoder {
43+
public abstract class Encoder implements IEncoder, IASN1TypesEncoder {
4444

4545
@Override
46-
public void encode(T object, OutputStream stream) throws Exception {
46+
public void encode(Object object, OutputStream stream) throws Exception {
4747
ElementInfo elemInfo = new ElementInfo();
4848
elemInfo.setAnnotatedClass(object.getClass());
4949
//elemInfo.setASN1ElementInfo(object.getClass().getAnnotation(ASN1Element.class));

JavaLibrary/src/main/java/org/bn/coders/ber/BEREncoder.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,13 @@
3131
import org.bn.types.ObjectIdentifier;
3232
import org.bn.utils.ReverseByteArrayOutputStream;
3333

34-
public class BEREncoder<T> extends Encoder<T> {
34+
public class BEREncoder extends Encoder {
3535

3636
public BEREncoder() {
3737
}
3838

3939
@Override
40-
public void encode(T object, OutputStream stream) throws Exception {
40+
public void encode(Object object, OutputStream stream) throws Exception {
4141
ReverseByteArrayOutputStream reverseStream = new ReverseByteArrayOutputStream();
4242
super.encode(object, reverseStream);
4343
reverseStream.writeTo(stream);

JavaLibrary/src/main/java/org/bn/coders/der/DEREncoder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
import org.bn.coders.ber.BERCoderUtils;
2727
import org.bn.coders.ber.BEREncoder;
2828

29-
public class DEREncoder<T> extends BEREncoder<T> {
29+
public class DEREncoder extends BEREncoder {
3030

3131
public DEREncoder() {
3232
}

JavaLibrary/src/main/java/org/bn/coders/per/PERAlignedEncoder.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,13 @@
3434
import org.bn.types.ObjectIdentifier;
3535
import org.bn.utils.BitArrayOutputStream;
3636

37-
public class PERAlignedEncoder<T> extends Encoder<T> {
37+
public class PERAlignedEncoder extends Encoder {
3838

3939
public PERAlignedEncoder() {
4040
}
4141

4242
@Override
43-
public void encode(T object, OutputStream stream) throws Exception {
43+
public void encode(Object object, OutputStream stream) throws Exception {
4444
BitArrayOutputStream bitStream = new BitArrayOutputStream();
4545
super.encode(object, bitStream);
4646
bitStream.writeTo(stream);

JavaLibrary/src/main/java/org/bn/coders/per/PERUnalignedEncoder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import org.bn.coders.ElementInfo;
2020
import org.bn.utils.BitArrayOutputStream;
2121

22-
public class PERUnalignedEncoder<T> extends PERAlignedEncoder<T> {
22+
public class PERUnalignedEncoder extends PERAlignedEncoder {
2323

2424
public PERUnalignedEncoder() {
2525
}

JavaLibrary/src/test/java/org/bn/coders/DecoderTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public DecoderTest(CoderTestUtilities coderTestUtils) {
3535
this.coderTestUtils = coderTestUtils;
3636
}
3737

38-
protected abstract IDecoder newDecoder() throws Exception;
38+
protected abstract IDecoder newDecoder();
3939

4040
private void checkData(Data dec, Data std) {
4141
if (std.isBinarySelected()) {

JavaLibrary/src/test/java/org/bn/coders/EncoderTest.java

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,14 @@ protected void printEncoded(String details, IEncoder encoder, Object obj) throws
3737
System.out.println("Encoded by "+encoder.getClass()+" ("+details+") : " + ByteTools.byteArrayToHexString(outputStream.toByteArray()));
3838
}
3939

40-
protected abstract <T> IEncoder<T> newEncoder() throws Exception;
40+
protected abstract IEncoder newEncoder();
4141

4242
/**
43-
* @see Encoder#encode(T,OutputStream)
43+
* @see Encoder#encode(Object,OutputStream)
4444
*/
4545
@Test
4646
public void testEncodeChoice() throws Exception {
47-
IEncoder<Data> encoder = newEncoder();
47+
IEncoder encoder = newEncoder();
4848
assertNotNull(encoder);
4949
Data choice = new Data();
5050

@@ -75,11 +75,11 @@ public void testEncodeChoice() throws Exception {
7575
}
7676

7777
/**
78-
* @see Encoder#encode(T,OutputStream)
78+
* @see Encoder#encode(Object,OutputStream)
7979
*/
8080
@Test
8181
public void testEncode() throws Exception {
82-
IEncoder<DataSeq> encoder = newEncoder();
82+
IEncoder encoder = newEncoder();
8383
assertNotNull(encoder);
8484
printEncoded("SequenceMO test",encoder, coderTestUtils.createDataSeqMO());
8585
checkEncoded(encoder, coderTestUtils.createDataSeqMO(), coderTestUtils.createDataSeqMOBytes());
@@ -89,11 +89,11 @@ public void testEncode() throws Exception {
8989
}
9090

9191
/**
92-
* @see Encoder#encode(T,OutputStream)
92+
* @see Encoder#encode(Object,OutputStream)
9393
*/
9494
@Test
9595
public void testITUEncode() throws Exception {
96-
IEncoder<ITUSequence> encoder = newEncoder();
96+
IEncoder encoder = newEncoder();
9797
assertNotNull(encoder);
9898
printEncoded("ITUSequence test",encoder, coderTestUtils.createITUSeq());
9999
checkEncoded(encoder, coderTestUtils.createITUSeq(), coderTestUtils.createITUSeqBytes());
@@ -108,47 +108,47 @@ protected void checkEncoded(IEncoder encoder, Object obj, byte[] standard) throw
108108

109109
@Test
110110
public void testNullEncode() throws Exception {
111-
IEncoder<NullSequence> encoder = newEncoder();
111+
IEncoder encoder = newEncoder();
112112
assertNotNull(encoder);
113113
printEncoded("NullSequence test",encoder, coderTestUtils.createNullSeq());
114114
checkEncoded(encoder, coderTestUtils.createNullSeq(), coderTestUtils.createNullSeqBytes());
115115
}
116116

117117
@Test
118118
public void testTaggedNullEncode() throws Exception {
119-
IEncoder<TaggedNullSequence> encoder = newEncoder();
119+
IEncoder encoder = newEncoder();
120120
assertNotNull(encoder);
121121
printEncoded("TaggedNullSequence test",encoder, coderTestUtils.createTaggedNullSeq());
122122
checkEncoded(encoder, coderTestUtils.createTaggedNullSeq(), coderTestUtils.createTaggedNullSeqBytes());
123123
}
124124

125125
@Test
126126
public void testEnum() throws Exception {
127-
IEncoder<ContentSchema> encoder = newEncoder();
127+
IEncoder encoder = newEncoder();
128128
assertNotNull(encoder);
129129
printEncoded("Enum test",encoder, coderTestUtils.createEnum());
130130
checkEncoded(encoder, coderTestUtils.createEnum(), coderTestUtils.createEnumBytes());
131131
}
132132

133133
@Test
134134
public void testSequenceWithEnum() throws Exception {
135-
IEncoder<SequenceWithEnum> encoder = newEncoder();
135+
IEncoder encoder = newEncoder();
136136
assertNotNull(encoder);
137137
printEncoded("Sequence Enum test",encoder, coderTestUtils.createSequenceWithEnum());
138138
checkEncoded(encoder, coderTestUtils.createSequenceWithEnum(), coderTestUtils.createSequenceWithEnumBytes());
139139
}
140140

141141
@Test
142142
public void testSequenceOfString() throws Exception {
143-
IEncoder<StringArray> encoder = newEncoder();
143+
IEncoder encoder = newEncoder();
144144
assertNotNull(encoder);
145145
printEncoded("Sequence Of String",encoder, coderTestUtils.createStringArray());
146146
checkEncoded(encoder, coderTestUtils.createStringArray(), coderTestUtils.createStringArrayBytes());
147147
}
148148

149149
@Test
150150
public void testRecursiveDefinition() throws Exception {
151-
IEncoder<TestRecursiveDefinetion> encoder = newEncoder();
151+
IEncoder encoder = newEncoder();
152152
assertNotNull(encoder);
153153
printEncoded("Recursive test",encoder, coderTestUtils.createTestRecursiveDefinition());
154154
checkEncoded(encoder, coderTestUtils.createTestRecursiveDefinition(), coderTestUtils.createTestRecursiveDefinitionBytes());
@@ -318,7 +318,7 @@ public void testEncodeReals() throws Exception {
318318

319319
@Test
320320
public void testSequenceWithNull() throws Exception {
321-
IEncoder<SequenceWithNull> encoder = newEncoder();
321+
IEncoder encoder = newEncoder();
322322
assertNotNull(encoder);
323323
printEncoded("SequenceWithNull test",encoder, coderTestUtils.createSeqWithNull());
324324
checkEncoded(encoder, coderTestUtils.createSeqWithNull(), coderTestUtils.createSeqWithNullBytes());
@@ -342,7 +342,7 @@ public void testEncodeLongTag2() throws Exception {
342342

343343
@Test
344344
public void testSequenceOfUTFString() throws Exception {
345-
IEncoder<UTF8StringArray> encoder = newEncoder();
345+
IEncoder encoder = newEncoder();
346346
assertNotNull(encoder);
347347
printEncoded("Sequence Of UTF8String",encoder, coderTestUtils.createUTF8StringArray());
348348
checkEncoded(encoder, coderTestUtils.createUTF8StringArray(), coderTestUtils.createUTF8StringArrayBytes());
@@ -372,7 +372,7 @@ public void testEncodeOID() throws Exception {
372372

373373
@Test
374374
public void testEncodeTaggedSet() throws Exception {
375-
IEncoder<?> encoder = newEncoder();
375+
IEncoder encoder = newEncoder();
376376
assertNotNull(encoder);
377377
//
378378
Config taggedSet = coderTestUtils.createTaggedSet();
@@ -382,7 +382,7 @@ public void testEncodeTaggedSet() throws Exception {
382382

383383
@Test
384384
public void testEncodeTaggedSetInSet() throws Exception {
385-
IEncoder<?> encoder = newEncoder();
385+
IEncoder encoder = newEncoder();
386386
assertNotNull(encoder);
387387

388388
TestTaggedSetInSet taggedSet = coderTestUtils.createTaggedSetInSet();

0 commit comments

Comments
 (0)