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

package org.onosproject.xran.codecs.api;

import org.onosproject.xran.codecs.ber.types.BerEnum;

import java.math.BigInteger;


public class DuplexMode extends BerEnum {

	private static final long serialVersionUID = 1L;

	public DuplexMode() {
	}

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

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

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

}
