summaryrefslogtreecommitdiff
path: root/repackaged/bcprov/src/main/java/com/android/org/bouncycastle/its/asn1/SspRange.java
diff options
context:
space:
mode:
Diffstat (limited to 'repackaged/bcprov/src/main/java/com/android/org/bouncycastle/its/asn1/SspRange.java')
-rw-r--r--repackaged/bcprov/src/main/java/com/android/org/bouncycastle/its/asn1/SspRange.java142
1 files changed, 142 insertions, 0 deletions
diff --git a/repackaged/bcprov/src/main/java/com/android/org/bouncycastle/its/asn1/SspRange.java b/repackaged/bcprov/src/main/java/com/android/org/bouncycastle/its/asn1/SspRange.java
new file mode 100644
index 00000000..7c5903d2
--- /dev/null
+++ b/repackaged/bcprov/src/main/java/com/android/org/bouncycastle/its/asn1/SspRange.java
@@ -0,0 +1,142 @@
+/* GENERATED SOURCE. DO NOT MODIFY. */
+package com.android.org.bouncycastle.its.asn1;
+
+import java.io.IOException;
+
+import com.android.org.bouncycastle.asn1.ASN1Null;
+import com.android.org.bouncycastle.asn1.ASN1Object;
+import com.android.org.bouncycastle.asn1.ASN1Primitive;
+import com.android.org.bouncycastle.asn1.ASN1Sequence;
+import com.android.org.bouncycastle.asn1.DERNull;
+
+/**
+ * <pre>
+ * SspRange ::= CHOICE {
+ * opaque SequenceOfOctetString,
+ * all NULL,
+ * ...
+ * bitmapSspRange BitmapSspRange
+ * }
+ * </pre>
+ * @hide This class is not part of the Android public SDK API
+ */
+public class SspRange
+ extends ASN1Object
+{
+ private final boolean isAll;
+ private final SequenceOfOctetString opaque;
+ private final BitmapSspRange bitmapSspRange;
+
+ private SspRange()
+ {
+ isAll = true;
+ opaque = null;
+ bitmapSspRange = null;
+ }
+
+ private SspRange(SequenceOfOctetString seq)
+ {
+ this.isAll = false;
+ if (seq.size() != 2)
+ {
+ opaque = seq;
+ bitmapSspRange = null;
+ }
+ else
+ {
+ // ambiguous
+ opaque = SequenceOfOctetString.getInstance(seq);
+
+ BitmapSspRange bitMapRange;
+ try
+ {
+ bitMapRange = BitmapSspRange.getInstance(seq);
+ }
+ catch (IllegalArgumentException e)
+ {
+ bitMapRange = null;
+ }
+
+ bitmapSspRange = bitMapRange;
+ }
+ }
+
+ public SspRange(BitmapSspRange range)
+ {
+ this.isAll = false;
+ this.bitmapSspRange = range;
+ this.opaque = null;
+ }
+
+ public static SspRange getInstance(Object src)
+ {
+ if (src == null)
+ {
+ return null;
+ }
+
+ if (src instanceof SspRange)
+ {
+ return (SspRange)src;
+ }
+
+ if (src instanceof ASN1Null)
+ {
+ return new SspRange();
+ }
+
+ if (src instanceof ASN1Sequence)
+ {
+ return new SspRange(SequenceOfOctetString.getInstance(src));
+ }
+
+ if (src instanceof byte[])
+ {
+ try
+ {
+ return getInstance(ASN1Primitive.fromByteArray((byte[])src));
+ }
+ catch (IOException e)
+ {
+ throw new IllegalArgumentException("unable to parse encoded general name");
+ }
+ }
+
+ throw new IllegalArgumentException("unknown object in getInstance: " + src.getClass().getName());
+ }
+
+ public boolean isAll()
+ {
+ return isAll;
+ }
+
+ public boolean maybeOpaque()
+ {
+ return opaque != null;
+ }
+
+ public BitmapSspRange getBitmapSspRange()
+ {
+ return bitmapSspRange;
+ }
+
+ public SequenceOfOctetString getOpaque()
+ {
+ return opaque;
+ }
+
+ public ASN1Primitive toASN1Primitive()
+ {
+ if (isAll)
+ {
+ return DERNull.INSTANCE;
+ }
+
+ if (bitmapSspRange != null)
+ {
+ return bitmapSspRange.toASN1Primitive();
+ }
+
+ return opaque.toASN1Primitive();
+ }
+}