/**
 * This class file was automatically generated by jASN1 v1.8.0 (http://www.openmuc.org)
 */

package org.onosproject.xran.codecs.pdu;

import org.openmuc.jasn1.ber.types.BerEnum;

import java.math.BigInteger;

public class XrancApiID extends BerEnum {

	private static final long serialVersionUID = 1L;

	public XrancApiID() {
	}

	public XrancApiID(byte[] code) {
		super(code);
	}

	public XrancApiID(BigInteger value) {
		super(value);
	}

	public XrancApiID(long value) {
		super(value);
	}

}
