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

package org.onosproject.xran.asn1lib.pdu;


import org.onosproject.xran.asn1lib.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);
	}

}
