public class RegistrationControl
extends oracle.security.crypto.cert.AttributeTypeAndValue
The CRMF specification (RFC 2511) defines several registration controls and their OIDs (e.g., id-regCtrl-pkiPublicationInfo) but, technically, any valid attributeTypeAndValue structure may be used. For ease of use, the classes representing the controls defined in CRMF provide methods for accessing their values that are tailored to their particular structures. For this reason, it is desirable that a registration control be cast-able to its subclass type after being input from, for example, a stream.
To facilitate this behavior, a static inputInstance(java.io.InputStream) method is provided in the RegistrationControl base class. For defined/recognized controls, the method returns an instance of the appropriate RegistrationControl subclass, which can then be cast to its real type. For all other valid AttributeTypeAndValue objects, an instance of the RegistrationControl base class is returned, which can be manipulated using its AttributeTypeAndValue superclass methods.
AttributeTypeAndValue, Serialized Form| Modifier and Type | Field and Description | 
|---|---|
| protected boolean | decodedThis field is used for coordinating ASN.1 input with the superclass. | 
| protected boolean | encodedThis field is used for coordinating ASN.1 output with the superclass. | 
| Constructor and Description | 
|---|
| RegistrationControl(oracle.security.crypto.asn1.ASN1ObjectID type, oracle.security.crypto.asn1.ASN1Object value)Creates a new  RegistrationControlinstance. | 
| Modifier and Type | Method and Description | 
|---|---|
| protected void | decodeValue()Decodes the superclass  AttributeTypeAndValue'sASN1Objectvalue to populate this control's fields. | 
| protected void | encodeValue()Encodes this control's fields as an  ASN1Objectfor the superclassAttributeTypeAndValue's value. | 
| void | input(java.io.InputStream is)Defines this attribute type-value pair by reading its encoding from the given input stream. | 
| static RegistrationControl | inputInstance(java.io.InputStream is)Creates a new CRMF  RegistrationControlby reading its encoding from the given input stream. | 
| int | length() | 
| void | output(java.io.OutputStream os) | 
| void | setValue(oracle.security.crypto.asn1.ASN1Object value)Sets the value. | 
protected boolean encoded
encoded must be set to false. When the new value has been communicated to the superclass, encoded must be set to true.
The initial value is false.
protected boolean decoded
decoded must be set to false. When the new value has been communicated to the subclass, decoded must be set to true.
The initial value is true.
public RegistrationControl(oracle.security.crypto.asn1.ASN1ObjectID type,
                   oracle.security.crypto.asn1.ASN1Object value)
RegistrationControl instance.public void setValue(oracle.security.crypto.asn1.ASN1Object value)
oracle.security.crypto.cert.AttributeTypeAndValuesetValue in class oracle.security.crypto.cert.AttributeTypeAndValueprotected void encodeValue()
ASN1Object for the superclass AttributeTypeAndValue's value.
Subclasses must override this method to properly test and set the encoded field, and invoke the superclass setValue(oracle.security.crypto.asn1.ASN1Object) method to set the encoded structure.
protected void decodeValue()
AttributeTypeAndValue's ASN1Object value to populate this control's fields.
Subclasses must override this method to invoke the superclass AttributeTypeAndValue.getValue() method to get the structure to decode, and properly test and set the decoded field.
public static RegistrationControl inputInstance(java.io.InputStream is) throws java.io.IOException
RegistrationControl by reading its encoding from the given input stream.is - the input stream.java.io.IOException - if an I/O error occurs during input, or the encoding does not have the correct format.
public void input(java.io.InputStream is)
           throws java.io.IOException
oracle.security.crypto.cert.AttributeTypeAndValueinput in interface oracle.security.crypto.util.Streamableinput in class oracle.security.crypto.cert.AttributeTypeAndValueis - the input streamjava.io.IOException
public void output(java.io.OutputStream os)
            throws java.io.IOException
output in interface oracle.security.crypto.util.Streamableoutput in class oracle.security.crypto.cert.AttributeTypeAndValuejava.io.IOExceptionpublic int length()
length in interface oracle.security.crypto.util.Streamablelength in class oracle.security.crypto.cert.AttributeTypeAndValue