Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/quite/humla-spongycastle.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/main/java/org/spongycastle/asn1/ASN1Choice.java')
-rw-r--r--core/src/main/java/org/spongycastle/asn1/ASN1Choice.java28
1 files changed, 28 insertions, 0 deletions
diff --git a/core/src/main/java/org/spongycastle/asn1/ASN1Choice.java b/core/src/main/java/org/spongycastle/asn1/ASN1Choice.java
new file mode 100644
index 00000000..233c5543
--- /dev/null
+++ b/core/src/main/java/org/spongycastle/asn1/ASN1Choice.java
@@ -0,0 +1,28 @@
+package org.spongycastle.asn1;
+
+/**
+ * Marker interface for CHOICE objects - if you implement this in a role your
+ * own object any attempt to tag the object implicitly will convert the tag to
+ * an explicit one as the encoding rules require.
+ * <p>
+ * If you use this interface your class should also implement the getInstance()
+ * pattern which takes a tag object and the tagging mode used.
+ * <p>
+ * <hr>
+ * <p><b>X.690</b></p>
+ * <p><b>8: Basic encoding rules</b></p>
+ * <p><b>8.13 Encoding of a choice value </b></p>
+ * <p>
+ * The encoding of a choice value shall be the same as the encoding of a value of the chosen type.
+ * <blockquote>
+ * NOTE 1 &mdash; The encoding may be primitive or constructed depending on the chosen type.
+ * <p>
+ * NOTE 2 &mdash; The tag used in the identifier octets is the tag of the chosen type,
+ * as specified in the ASN.1 definition of the choice type.
+ * </blockquote>
+ * </p>
+ */
+public interface ASN1Choice
+{
+ // marker interface
+}