Package org.hxzon.asn1.mms.choice

Source Code of org.hxzon.asn1.mms.choice.VariableSpecification

package org.hxzon.asn1.mms.choice;

import org.hxzon.asn1.core.parse.BerInputStream;
import org.hxzon.asn1.core.parse.Tag;
import org.hxzon.asn1.core.parse.ext.Asn1Utils;
import org.hxzon.asn1.core.type.base.BerNode;
import org.hxzon.asn1.core.type.ext.BerChoice;
import org.hxzon.asn1.mms.sequence.ScatteredAccessDescription;
import org.hxzon.asn1.mms.sequence.VariableDescription;

public class VariableSpecification extends BerChoice {

    public VariableSpecification() {
        setId("variable specification");
        setName("variable specification");
    }

//  VariableSpecification ::= CHOICE
//  {
//  name        [0] ObjectName,
//  address        [1] Address,
//  variableDescription    [2] IMPLICIT SEQUENCE
//    {
//    address      Address,
//    typeSpecification  TypeSpecification
//    },
//  scatteredAccessDescription  [3] IMPLICIT ScatteredAccessDescription,
//  invalidated      [4] IMPLICIT NULL
//  }

    public BerNode create(int tag, BerInputStream stream) {
        switch (tag) {
        case Tag.CONTEXT | 0:
            return new ObjectName().init(tag, stream, true);
        case Tag.CONTEXT | 1:
            return new Address().init(tag, stream, true);
        case Tag.CONTEXT | 2:
            return new VariableDescription().init(tag, stream);
        case Tag.CONTEXT | 3:
//      return new ScatteredAccessDescription().init("scatteredAccessDescription", "scatteredAccessDescription", tag, stream);
            return Asn1Utils.createBerSequenceOf("scatteredAccessDescription", "scatteredAccessDescription", tag, stream, ScatteredAccessDescription.class);
        case Tag.CONTEXT | 4:
            return Asn1Utils.createBerNull("invalidated", "invalidated", tag, stream);
        default:
            return Asn1Utils.createUnknown(tag, stream);
        }
    }

}
TOP

Related Classes of org.hxzon.asn1.mms.choice.VariableSpecification

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.