summaryrefslogtreecommitdiffstats
path: root/src/net/gcdc/asn1/datatypes
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/gcdc/asn1/datatypes')
-rw-r--r--src/net/gcdc/asn1/datatypes/Alphabet.java20
-rw-r--r--src/net/gcdc/asn1/datatypes/AlphabetBuilder.java32
-rw-r--r--src/net/gcdc/asn1/datatypes/Asn1AnonymousType.java15
-rw-r--r--src/net/gcdc/asn1/datatypes/Asn1BigInteger.java72
-rw-r--r--src/net/gcdc/asn1/datatypes/Asn1Default.java12
-rw-r--r--src/net/gcdc/asn1/datatypes/Asn1Integer.java56
-rw-r--r--src/net/gcdc/asn1/datatypes/Asn1Optional.java20
-rw-r--r--src/net/gcdc/asn1/datatypes/Asn1SequenceOf.java70
-rw-r--r--src/net/gcdc/asn1/datatypes/Asn1String.java17
-rw-r--r--src/net/gcdc/asn1/datatypes/Asn1VarSizeBitstring.java58
-rw-r--r--src/net/gcdc/asn1/datatypes/Bitstring.java16
-rw-r--r--src/net/gcdc/asn1/datatypes/CharacterRestriction.java13
-rw-r--r--src/net/gcdc/asn1/datatypes/Choice.java12
-rw-r--r--src/net/gcdc/asn1/datatypes/DefaultAlphabet.java8
-rw-r--r--src/net/gcdc/asn1/datatypes/FieldOrder.java13
-rw-r--r--src/net/gcdc/asn1/datatypes/FixedSize.java12
-rw-r--r--src/net/gcdc/asn1/datatypes/HasExtensionMarker.java12
-rw-r--r--src/net/gcdc/asn1/datatypes/IntMinValue.java13
-rw-r--r--src/net/gcdc/asn1/datatypes/IntRange.java14
-rw-r--r--src/net/gcdc/asn1/datatypes/IsExtension.java12
-rw-r--r--src/net/gcdc/asn1/datatypes/NoAsn1Field.java10
-rw-r--r--src/net/gcdc/asn1/datatypes/Optional.java96
-rw-r--r--src/net/gcdc/asn1/datatypes/RestrictedString.java13
-rw-r--r--src/net/gcdc/asn1/datatypes/Sequence.java9
-rw-r--r--src/net/gcdc/asn1/datatypes/SizeRange.java14
-rw-r--r--src/net/gcdc/asn1/datatypes/package-info.java7
26 files changed, 0 insertions, 646 deletions
diff --git a/src/net/gcdc/asn1/datatypes/Alphabet.java b/src/net/gcdc/asn1/datatypes/Alphabet.java
deleted file mode 100644
index b89c481..0000000
--- a/src/net/gcdc/asn1/datatypes/Alphabet.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package net.gcdc.asn1.datatypes;
-
-/**
- * Alphabet class for Restricted Strings.
- *
- * Use {@link AlphabetBuilder} for convenient construction of restriction alphabets.
- */
-public abstract class Alphabet {
-
- private final String chars;
-
- protected Alphabet(String chars) {
- this.chars = chars;
- }
-
- public final String chars() {
- return chars;
- }
-
-}
diff --git a/src/net/gcdc/asn1/datatypes/AlphabetBuilder.java b/src/net/gcdc/asn1/datatypes/AlphabetBuilder.java
deleted file mode 100644
index cdff30e..0000000
--- a/src/net/gcdc/asn1/datatypes/AlphabetBuilder.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package net.gcdc.asn1.datatypes;
-
-
-public class AlphabetBuilder {
-
- private final StringBuilder sb = new StringBuilder();
-
- public AlphabetBuilder() {}
-
- public String chars() {
- return sb.toString();
- }
-
- public AlphabetBuilder withRange(char from, char to) {
- for (char c = from; c <= to; c++) {
- sb.append(c);
- }
- return this;
- }
-
- public AlphabetBuilder withChars(String str) {
- sb.append(str);
- return this;
- }
-
- public AlphabetBuilder withChars(Character... chars) {
- for (char c : chars) {
- sb.append(c);
- }
- return this;
- }
-}
diff --git a/src/net/gcdc/asn1/datatypes/Asn1AnonymousType.java b/src/net/gcdc/asn1/datatypes/Asn1AnonymousType.java
deleted file mode 100644
index 4a30d23..0000000
--- a/src/net/gcdc/asn1/datatypes/Asn1AnonymousType.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package net.gcdc.asn1.datatypes;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Target;
-/**
- * This annotation indicates that the class is not present in the original ASN.1 declaration.
- * This happens when SEQUENCE members have restrictions (ranges, alphabets etc).
- *
- * This annotation plays no role in the UPER encoding.
- *
- */
-@Target({ElementType.TYPE})
-public @interface Asn1AnonymousType {
-
-}
diff --git a/src/net/gcdc/asn1/datatypes/Asn1BigInteger.java b/src/net/gcdc/asn1/datatypes/Asn1BigInteger.java
deleted file mode 100644
index 23fd584..0000000
--- a/src/net/gcdc/asn1/datatypes/Asn1BigInteger.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package net.gcdc.asn1.datatypes;
-
-import java.math.BigInteger;
-
-//outdated: use BigInteger
-public class Asn1BigInteger {
-
- private final BigInteger value;
-
- public Asn1BigInteger(final BigInteger value) {
- this.value = value;
- }
-
- @Override public String toString() {
- return "" + value;
- }
-
- public BigInteger value() { return value; }
-
- public Long longValue() {
- return value.longValue();
- }
-
- public Integer intValue() {
- return value.intValue();
- }
-
- public Asn1BigInteger(Long num) {
- this.value = BigInteger.valueOf(num);
- }
-
- public Asn1BigInteger(long num) {
- this.value = BigInteger.valueOf(num);
- }
-
- public Asn1BigInteger(Integer num) {
- this.value = BigInteger.valueOf(num);
- }
-
- public Asn1BigInteger(int num) {
- this.value = BigInteger.valueOf(num);
- }
-
- public static Long toLong(Asn1BigInteger object) {
- if (object == null) return null;
- return object.longValue();
- }
-
- public static Asn1BigInteger toAsn1(Long object) {
- if (object == null) return null;
- return new Asn1BigInteger(object);
- }
-
- public static Asn1BigInteger toAsn1(Integer object) {
- if (object == null) return null;
- return new Asn1BigInteger(object);
- }
-
- public Long toLong(){
- if (this.value != null) {
- return this.value.longValue();
- }
- return null;
- }
-
- public BigInteger toBigInteger(){
- return value;
- }
-
-
-
-}
diff --git a/src/net/gcdc/asn1/datatypes/Asn1Default.java b/src/net/gcdc/asn1/datatypes/Asn1Default.java
deleted file mode 100644
index 03bb8d0..0000000
--- a/src/net/gcdc/asn1/datatypes/Asn1Default.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package net.gcdc.asn1.datatypes;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Target({ElementType.TYPE, ElementType.FIELD})
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Asn1Default {
- String value();
-}
diff --git a/src/net/gcdc/asn1/datatypes/Asn1Integer.java b/src/net/gcdc/asn1/datatypes/Asn1Integer.java
deleted file mode 100644
index 188a363..0000000
--- a/src/net/gcdc/asn1/datatypes/Asn1Integer.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package net.gcdc.asn1.datatypes;
-
-
-
-//outdated: use BigInteger
-public class Asn1Integer {
-
- public long value;
-
- public Asn1Integer() {}
- public Asn1Integer(long value) {
- this.value = value;
- }
-
- public Long value() { return value; }
-
- @Override public String toString() {
- return "" + value;
- }
-
- public Long longObject () {
- return new Long(value());
- }
-
- public Asn1Integer(Long num) {
- this.value = num;
- }
-
-
- public Asn1Integer(Integer num) {
- this.value = num;
- }
-
- public Asn1Integer(int num) {
- this.value = num;
- }
-
- public static Long toLong(Asn1Integer object) {
- if (object == null) return null;
- return object.value();
- }
-
-
- public static Asn1Integer toAsn1(Long object) {
- if (object == null) return null;
- return new Asn1Integer(object);
- }
-
-
-
-
-
-
-
-
-}
diff --git a/src/net/gcdc/asn1/datatypes/Asn1Optional.java b/src/net/gcdc/asn1/datatypes/Asn1Optional.java
deleted file mode 100644
index 12865e3..0000000
--- a/src/net/gcdc/asn1/datatypes/Asn1Optional.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package net.gcdc.asn1.datatypes;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * Indicates that the field is OPTIONAL in ASN.1. Implemented as null. Equivalent to @Nullable.
- *
- * Using Optional<T> would require Manifests to capture generics (like in Gson).
- *
- */
-@Target({ElementType.FIELD})
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-public @interface Asn1Optional {
-
-}
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);
- }
-}
diff --git a/src/net/gcdc/asn1/datatypes/Asn1String.java b/src/net/gcdc/asn1/datatypes/Asn1String.java
deleted file mode 100644
index 6d3305d..0000000
--- a/src/net/gcdc/asn1/datatypes/Asn1String.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package net.gcdc.asn1.datatypes;
-
-public class Asn1String {
-
- private String value;
-
- public Asn1String() { this(""); }
-
- public Asn1String(String value) {
- this.value = value;
- }
-
- @Override public String toString() { return value; }
-
- public String value() { return value; }
-
-}
diff --git a/src/net/gcdc/asn1/datatypes/Asn1VarSizeBitstring.java b/src/net/gcdc/asn1/datatypes/Asn1VarSizeBitstring.java
deleted file mode 100644
index 631072f..0000000
--- a/src/net/gcdc/asn1/datatypes/Asn1VarSizeBitstring.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package net.gcdc.asn1.datatypes;
-
-import java.util.AbstractList;
-import java.util.BitSet;
-import java.util.Collection;
-import java.util.Objects;
-
-/**
- * Convenience class for Bitstrings of variable size.
- * For UPER, {@code List<Boolean>} works just as well.
- */
-public class Asn1VarSizeBitstring extends AbstractList<Boolean> {
-
- private final BitSet backing;
-
- @Override public Boolean get(int index) {
- return backing.get(index);
- }
-
- @Override public int size() {
- return backing.length();
- }
-
- public Asn1VarSizeBitstring(Collection<Boolean> coll) {
- backing = new BitSet();
- int bitIndex = 0;
- for (Boolean b : coll) {
- backing.set(bitIndex, b);
- bitIndex++;
- }
- }
-
- public Asn1VarSizeBitstring(BitSet bitset) {
- backing = (BitSet) bitset.clone();
- }
-
- protected void setBit(int bitIndex, boolean value) {
- backing.set(bitIndex, value);
- }
-
- public boolean getBit(int bitIndex) {
- return backing.get(bitIndex);
- }
-
- @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;
- Asn1VarSizeBitstring booleen = (Asn1VarSizeBitstring) o;
- return Objects.equals(backing, booleen.backing);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(super.hashCode(), backing);
- }
-}
diff --git a/src/net/gcdc/asn1/datatypes/Bitstring.java b/src/net/gcdc/asn1/datatypes/Bitstring.java
deleted file mode 100644
index 387f2aa..0000000
--- a/src/net/gcdc/asn1/datatypes/Bitstring.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package net.gcdc.asn1.datatypes;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/** This annotation is used for bitstrings.
- * In UPER, a SEQUENCE OF Booleans would look exactly as bitstring, so this annotation can be
- * omitted for {@code List<Boolean>}.
- */
-@Target({ElementType.TYPE})
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Bitstring {
-
-}
diff --git a/src/net/gcdc/asn1/datatypes/CharacterRestriction.java b/src/net/gcdc/asn1/datatypes/CharacterRestriction.java
deleted file mode 100644
index 608a9fc..0000000
--- a/src/net/gcdc/asn1/datatypes/CharacterRestriction.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package net.gcdc.asn1.datatypes;
-
-public enum CharacterRestriction {
- NumericString,
- PrintableString,
- VisibleString,
- ISO646String,
- IA5String,
- BMPString,
- UniversalString,
- UTF8String,
- ObjectIdentifier;
-}
diff --git a/src/net/gcdc/asn1/datatypes/Choice.java b/src/net/gcdc/asn1/datatypes/Choice.java
deleted file mode 100644
index c58f71a..0000000
--- a/src/net/gcdc/asn1/datatypes/Choice.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package net.gcdc.asn1.datatypes;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Target({ElementType.TYPE})
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Choice {
-
-}
diff --git a/src/net/gcdc/asn1/datatypes/DefaultAlphabet.java b/src/net/gcdc/asn1/datatypes/DefaultAlphabet.java
deleted file mode 100644
index 8f6697f..0000000
--- a/src/net/gcdc/asn1/datatypes/DefaultAlphabet.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package net.gcdc.asn1.datatypes;
-
-public class DefaultAlphabet extends Alphabet {
-
- public DefaultAlphabet() {
- super("");
- }
-}
diff --git a/src/net/gcdc/asn1/datatypes/FieldOrder.java b/src/net/gcdc/asn1/datatypes/FieldOrder.java
deleted file mode 100644
index 23fb8fa..0000000
--- a/src/net/gcdc/asn1/datatypes/FieldOrder.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package net.gcdc.asn1.datatypes;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.FIELD)
-public @interface FieldOrder {
- int order() default -1;
-}
-
diff --git a/src/net/gcdc/asn1/datatypes/FixedSize.java b/src/net/gcdc/asn1/datatypes/FixedSize.java
deleted file mode 100644
index cb893d8..0000000
--- a/src/net/gcdc/asn1/datatypes/FixedSize.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package net.gcdc.asn1.datatypes;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Target({ElementType.TYPE, ElementType.FIELD})
-@Retention(RetentionPolicy.RUNTIME)
-public @interface FixedSize {
- int value();
-}
diff --git a/src/net/gcdc/asn1/datatypes/HasExtensionMarker.java b/src/net/gcdc/asn1/datatypes/HasExtensionMarker.java
deleted file mode 100644
index 560eca2..0000000
--- a/src/net/gcdc/asn1/datatypes/HasExtensionMarker.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package net.gcdc.asn1.datatypes;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Target({ElementType.TYPE})
-@Retention(RetentionPolicy.RUNTIME)
-public @interface HasExtensionMarker {
-
-}
diff --git a/src/net/gcdc/asn1/datatypes/IntMinValue.java b/src/net/gcdc/asn1/datatypes/IntMinValue.java
deleted file mode 100644
index 4c1b49a..0000000
--- a/src/net/gcdc/asn1/datatypes/IntMinValue.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package net.gcdc.asn1.datatypes;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Target({ElementType.TYPE, ElementType.FIELD})
-@Retention(RetentionPolicy.RUNTIME)
-public @interface IntMinValue {
- long minValue();
- boolean hasExtensionMarker() default false;
-}
diff --git a/src/net/gcdc/asn1/datatypes/IntRange.java b/src/net/gcdc/asn1/datatypes/IntRange.java
deleted file mode 100644
index 417b299..0000000
--- a/src/net/gcdc/asn1/datatypes/IntRange.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package net.gcdc.asn1.datatypes;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Target({ElementType.TYPE, ElementType.FIELD})
-@Retention(RetentionPolicy.RUNTIME)
-public @interface IntRange {
- long minValue();
- long maxValue();
- boolean hasExtensionMarker() default false;
-}
diff --git a/src/net/gcdc/asn1/datatypes/IsExtension.java b/src/net/gcdc/asn1/datatypes/IsExtension.java
deleted file mode 100644
index 0cc7b3c..0000000
--- a/src/net/gcdc/asn1/datatypes/IsExtension.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package net.gcdc.asn1.datatypes;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Target({ElementType.FIELD})
-@Retention(RetentionPolicy.RUNTIME)
-public @interface IsExtension {
-
-}
diff --git a/src/net/gcdc/asn1/datatypes/NoAsn1Field.java b/src/net/gcdc/asn1/datatypes/NoAsn1Field.java
deleted file mode 100644
index 3fa2442..0000000
--- a/src/net/gcdc/asn1/datatypes/NoAsn1Field.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package net.gcdc.asn1.datatypes;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Target({ElementType.TYPE, ElementType.FIELD})
-@Retention(RetentionPolicy.RUNTIME)
-public @interface NoAsn1Field {} \ No newline at end of file
diff --git a/src/net/gcdc/asn1/datatypes/Optional.java b/src/net/gcdc/asn1/datatypes/Optional.java
deleted file mode 100644
index 18f495f..0000000
--- a/src/net/gcdc/asn1/datatypes/Optional.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package net.gcdc.asn1.datatypes;
-
-import java.util.NoSuchElementException;
-import java.util.Objects;
-
-/** Represents optional values.
- *
- * Should be replaced by java.util.Optional from Java 8, when project moves to Java 8.
- *
- * @param <T> type of contained elements */
-public class Optional<T> {
-
- private final T element;
- private final boolean isPresent;
-
- private Optional(T element, boolean isPresent) {
- this.element = element;
- this.isPresent = isPresent;
- }
-
- /** @return true if the Option contains a value */
- public boolean isPresent() {
- return isPresent;
- }
-
- /** @return the element if the option is not empty
- * @throws java.util.NoSuchElementException if the option is empty */
- public T get() {
- if (isPresent) {
- return element;
- } else {
- throw new NoSuchElementException("None.get");
- }
- }
-
- /** @return the value, if present, otherwise return {@code other}
- * @param other the value to be returned if there is no value present */
- public T orElse(T other) {
- return isPresent() ? get() : other;
- }
-
- /**
- * Indicates whether some other object is "equal to" this Optional. The
- * other object is considered equal if:
- * <ul>
- * <li>it is also an {@code Optional} and;
- * <li>both instances have no value present or;
- * <li>the present values are "equal to" each other via {@code equals()}.
- * </ul>
- *
- * @param obj an object to be tested for equality
- * @return {code true} if the other object is "equal to" this object
- * otherwise {@code false}
- */
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
-
- if (!(obj instanceof Optional)) {
- return false;
- }
-
- Optional<?> other = (Optional<?>) obj;
- return Objects.equals(element, other.element);
- }
-
- /**
- * Returns the hash code value of the present value, if any, or 0 (zero) if
- * no value is present.
- *
- * @return hash code value of the present value or 0 if no value is present
- */
- @Override
- public int hashCode() {
- return Objects.hashCode(element);
- }
-
- /** Returns an Option containing the value.
- *
- * @param <A> the type of the value
- * @param element contained value
- * @return a new Option that contains the value */
- public static <A> Optional<A> of(final A element) {
- return new Optional<A>(element, true);
- }
-
- /** Returns an empty option.
- *
- * @param <A>
- * @return an empty Option */
- public static <A> Optional<A> empty() {
- return new Optional<A>(null, false);
- }
-}
diff --git a/src/net/gcdc/asn1/datatypes/RestrictedString.java b/src/net/gcdc/asn1/datatypes/RestrictedString.java
deleted file mode 100644
index 6ad6bdc..0000000
--- a/src/net/gcdc/asn1/datatypes/RestrictedString.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package net.gcdc.asn1.datatypes;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Target({ElementType.TYPE, ElementType.FIELD})
-@Retention(RetentionPolicy.RUNTIME)
-public @interface RestrictedString {
- CharacterRestriction value();
- Class<? extends Alphabet> alphabet() default DefaultAlphabet.class;
-}
diff --git a/src/net/gcdc/asn1/datatypes/Sequence.java b/src/net/gcdc/asn1/datatypes/Sequence.java
deleted file mode 100644
index 2a823ec..0000000
--- a/src/net/gcdc/asn1/datatypes/Sequence.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package net.gcdc.asn1.datatypes;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-//@Target({ElementType.ANNOTATION_TYPE})
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Sequence {
-
-}
diff --git a/src/net/gcdc/asn1/datatypes/SizeRange.java b/src/net/gcdc/asn1/datatypes/SizeRange.java
deleted file mode 100644
index 835d80c..0000000
--- a/src/net/gcdc/asn1/datatypes/SizeRange.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package net.gcdc.asn1.datatypes;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Target({ElementType.TYPE, ElementType.FIELD})
-@Retention(RetentionPolicy.RUNTIME)
-public @interface SizeRange {
- int minValue();
- int maxValue();
- boolean hasExtensionMarker() default false;
-}
diff --git a/src/net/gcdc/asn1/datatypes/package-info.java b/src/net/gcdc/asn1/datatypes/package-info.java
deleted file mode 100644
index 33644d5..0000000
--- a/src/net/gcdc/asn1/datatypes/package-info.java
+++ /dev/null
@@ -1,7 +0,0 @@
-/** Annotations to create Java classes that correspond to ASN.1 specifications.
- *
- * Some annotations (e.g. {@link SizeRange}, {@link FixedSize}, {@link IntRange},{@link IntMaxValue}
- * {@link RestrictedString}) are Type-only annotations and sometime require creating extra classes,
- * they can be extended to work as Field annotations too, but this will require modifications to the
- * Encoder. */
-package net.gcdc.asn1.datatypes;