From 46039355e87825a9dce12ebaad0305d20eea3f43 Mon Sep 17 00:00:00 2001 From: CGantert345 <57003061+CGantert345@users.noreply.github.com> Date: Fri, 3 Jan 2020 10:37:01 +0100 Subject: basic asn.1 library --- src/net/gcdc/asn1/datatypes/Asn1SequenceOf.java | 70 +++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 src/net/gcdc/asn1/datatypes/Asn1SequenceOf.java (limited to 'src/net/gcdc/asn1/datatypes/Asn1SequenceOf.java') diff --git a/src/net/gcdc/asn1/datatypes/Asn1SequenceOf.java b/src/net/gcdc/asn1/datatypes/Asn1SequenceOf.java new file mode 100644 index 0000000..2985c96 --- /dev/null +++ b/src/net/gcdc/asn1/datatypes/Asn1SequenceOf.java @@ -0,0 +1,70 @@ +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". + *
+ * Extending classes should specify concrete types for T, generic collections can't be decoded (yet?). + * + * Usage example: + *
+ *
+ * {@literal @}Sequence
+ * public class Person {
+ * {@literal @}IntRange(minValue=0, maxValue=100, hasExtensionMarker=true)
+ * int age;
+ * Children children;
+ * }
+ * public class Children extends {@code Asn1SequenceOf } {
+ * public Children() { super(); }
+ * public Children({@code Collection} coll) { super(coll); }
+ * }
+ *
+ *
+ *
+ *
+ * Actually, UPER decoder and encoder consider anything that extends {@code List