diff options
Diffstat (limited to 'src/net/gcdc/asn1/datatypes/Asn1SequenceOf.java')
-rw-r--r-- | src/net/gcdc/asn1/datatypes/Asn1SequenceOf.java | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/src/net/gcdc/asn1/datatypes/Asn1SequenceOf.java b/src/net/gcdc/asn1/datatypes/Asn1SequenceOf.java deleted file mode 100644 index 2985c96..0000000 --- a/src/net/gcdc/asn1/datatypes/Asn1SequenceOf.java +++ /dev/null @@ -1,70 +0,0 @@ -package net.gcdc.asn1.datatypes; - -import java.lang.reflect.ParameterizedType; -import java.util.*; - -import logger.Logger; -import logger.LoggerFactory; - - -/** - * Class to represent ASN.1 construct "SEQUENCE OF". - * <p/> - * Extending classes should specify concrete types for T, generic collections can't be decoded (yet?). - * <p/> - * Usage example: - * <PRE> - * <code> - * {@literal @}Sequence - * public class Person { - * {@literal @}IntRange(minValue=0, maxValue=100, hasExtensionMarker=true) - * int age; - * Children children; - * } - * public class Children extends {@code Asn1SequenceOf<ChildInformation> } { - * public Children() { super(); } - * public Children({@code Collection<ChildInformation>} coll) { super(coll); } - * } - * </code> - * </PRE> - * - * <p/> - * Actually, UPER decoder and encoder consider anything that extends {@code List<T>} as a SEQUENCE OF. - * - * - * @param <T> type of elements contained. - */ -public abstract class Asn1SequenceOf<T> extends AbstractList<T> { - private final static Logger logger = LoggerFactory.getLogger("asnLogger"); - - private final List<T> bakingList; - - @Override public T get(int index) { return bakingList.get(index); } - @Override public int size() { return bakingList.size(); } - @Override public boolean add (T e){ return bakingList.add(e);} - - public Asn1SequenceOf() { this(new ArrayList<T>()); } - public Asn1SequenceOf(Collection<T> coll) { - logger.debug(String.format("Instantiating Sequence Of %s with %s", - ((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0], - coll)); - bakingList = new ArrayList<>(coll); - } - - - - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - if (!super.equals(o)) return false; - Asn1SequenceOf<?> that = (Asn1SequenceOf<?>) o; - return Objects.equals(bakingList, that.bakingList); - } - - @Override - public int hashCode() { - return Objects.hash(super.hashCode(), bakingList); - } -} |