001package org.apache.commons.ssl.org.bouncycastle.asn1; 002 003/** 004 * Marker interface for CHOICE objects - if you implement this in a role your 005 * own object any attempt to tag the object implicitly will convert the tag to 006 * an explicit one as the encoding rules require. 007 * <p> 008 * If you use this interface your class should also implement the getInstance() 009 * pattern which takes a tag object and the tagging mode used. 010 * <p> 011 * <hr> 012 * <p><b>X.690</b></p> 013 * <p><b>8: Basic encoding rules</b></p> 014 * <p><b>8.13 Encoding of a choice value </b></p> 015 * <p> 016 * The encoding of a choice value shall be the same as the encoding of a value of the chosen type. 017 * <blockquote> 018 * NOTE 1 — The encoding may be primitive or constructed depending on the chosen type. 019 * <p> 020 * NOTE 2 — The tag used in the identifier octets is the tag of the chosen type, 021 * as specified in the ASN.1 definition of the choice type. 022 * </blockquote> 023 * </p> 024 */ 025public interface ASN1Choice 026{ 027 // marker interface 028}