All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.ccsds.moims.mo.mal.structures.QoSLevel Maven / Gradle / Ivy

The newest version!
package org.ccsds.moims.mo.mal.structures;

/**
 * Enumeration class for QoSLevel.
 */
public final class QoSLevel extends org.ccsds.moims.mo.mal.structures.Enumeration {

    private static final long serialVersionUID = 281475027042407L;
    /**
     * The TypeId of this Element as a long.
     */
    public static final Long SHORT_FORM = 281475027042407L;
    /**
     * The TypeId of this Element.
     */
    public static final org.ccsds.moims.mo.mal.TypeId TYPE_ID = new org.ccsds.moims.mo.mal.TypeId(SHORT_FORM);

    /**
     * Enumeration ordinal index for value BESTEFFORT.
     */
    public static final int _BESTEFFORT_INDEX = 0;

    /**
     * Enumeration numeric value for value BESTEFFORT.
     */
    public static final org.ccsds.moims.mo.mal.structures.UInteger BESTEFFORT_NUM_VALUE = new org.ccsds.moims.mo.mal.structures.UInteger(1);

    /**
     * Enumeration singleton for value BESTEFFORT.
     */
    public static final org.ccsds.moims.mo.mal.structures.QoSLevel BESTEFFORT = new org.ccsds.moims.mo.mal.structures.QoSLevel(org.ccsds.moims.mo.mal.structures.QoSLevel._BESTEFFORT_INDEX);

    /**
     * Enumeration ordinal index for value ASSURED.
     */
    public static final int _ASSURED_INDEX = 1;

    /**
     * Enumeration numeric value for value ASSURED.
     */
    public static final org.ccsds.moims.mo.mal.structures.UInteger ASSURED_NUM_VALUE = new org.ccsds.moims.mo.mal.structures.UInteger(2);

    /**
     * Enumeration singleton for value ASSURED.
     */
    public static final org.ccsds.moims.mo.mal.structures.QoSLevel ASSURED = new org.ccsds.moims.mo.mal.structures.QoSLevel(org.ccsds.moims.mo.mal.structures.QoSLevel._ASSURED_INDEX);

    /**
     * Enumeration ordinal index for value QUEUED.
     */
    public static final int _QUEUED_INDEX = 2;

    /**
     * Enumeration numeric value for value QUEUED.
     */
    public static final org.ccsds.moims.mo.mal.structures.UInteger QUEUED_NUM_VALUE = new org.ccsds.moims.mo.mal.structures.UInteger(3);

    /**
     * Enumeration singleton for value QUEUED.
     */
    public static final org.ccsds.moims.mo.mal.structures.QoSLevel QUEUED = new org.ccsds.moims.mo.mal.structures.QoSLevel(org.ccsds.moims.mo.mal.structures.QoSLevel._QUEUED_INDEX);

    /**
     * Enumeration ordinal index for value TIMELY.
     */
    public static final int _TIMELY_INDEX = 3;

    /**
     * Enumeration numeric value for value TIMELY.
     */
    public static final org.ccsds.moims.mo.mal.structures.UInteger TIMELY_NUM_VALUE = new org.ccsds.moims.mo.mal.structures.UInteger(4);

    /**
     * Enumeration singleton for value TIMELY.
     */
    public static final org.ccsds.moims.mo.mal.structures.QoSLevel TIMELY = new org.ccsds.moims.mo.mal.structures.QoSLevel(org.ccsds.moims.mo.mal.structures.QoSLevel._TIMELY_INDEX);

    /**
     * Set of enumeration instances.
     */
    private static final org.ccsds.moims.mo.mal.structures.QoSLevel[] _ENUMERATIONS = {BESTEFFORT, ASSURED, QUEUED, TIMELY};

    /**
     * Set of enumeration string values.
     */
    private static final String[] _ENUMERATION_NAMES = {"BESTEFFORT", "ASSURED", "QUEUED", "TIMELY"};

    /**
     * Set of enumeration values.
     */
    private static final org.ccsds.moims.mo.mal.structures.UInteger[] _ENUMERATION_NUMERIC_VALUES = {BESTEFFORT_NUM_VALUE, ASSURED_NUM_VALUE, QUEUED_NUM_VALUE, TIMELY_NUM_VALUE};

    /**
     * 
     * @param ordinal null.
     */
    private QoSLevel(int ordinal) {
        super(ordinal);
    }

    /**
     * Returns a String object representing this type"s value.
     * 
     * @return a string representation of the value of this object.
     */
    public String toString() {
        switch (getOrdinal()) {
          case _BESTEFFORT_INDEX:
            return "BESTEFFORT";
          case _ASSURED_INDEX:
            return "ASSURED";
          case _QUEUED_INDEX:
            return "QUEUED";
          case _TIMELY_INDEX:
            return "TIMELY";
          default:
            throw new RuntimeException("Unknown ordinal!");
        }
    }

    /**
     * Returns the enumeration element represented by the supplied string, or 
     * null if not matched. 
     * 
     * @param s s The string to search for.
     * @return The matched enumeration element, or null if not matched.
     */
    public static org.ccsds.moims.mo.mal.structures.QoSLevel fromString(String s) {
        for (int i = 0; i < _ENUMERATION_NAMES.length; i++) {
          if (_ENUMERATION_NAMES[i].equals(s)) {
            return _ENUMERATIONS[i];
          }
        }
        return null;
    }

    /**
     * Returns the nth element of the enumeration.
     * 
     * @param ordinal ordinal The index of the enumeration element to return. 
     * @return The matched enumeration element.
     */
    public static org.ccsds.moims.mo.mal.structures.QoSLevel fromOrdinal(int ordinal) {
        return _ENUMERATIONS[ordinal];
    }

    /**
     * Returns the enumeration element represented by the supplied numeric value, 
     * or null if not matched. 
     * 
     * @param value value The numeric value to search for.
     * @return The matched enumeration value, or null if not matched.
     */
    public static org.ccsds.moims.mo.mal.structures.QoSLevel fromNumericValue(org.ccsds.moims.mo.mal.structures.UInteger value) {
        for (int i = 0; i < _ENUMERATION_NUMERIC_VALUES.length; i++) {
          if (_ENUMERATION_NUMERIC_VALUES[i].equals(value)) {
            return _ENUMERATIONS[i];
          }
        }
        return null;
    }

    /**
     * Returns the index of the enumerated item as a {@code UOctet}.
     * 
     * @return the index of the enumerated item as a {@code UOctet}.
     */
    public org.ccsds.moims.mo.mal.structures.UOctet getOrdinalUOctet() {
        return new org.ccsds.moims.mo.mal.structures.UOctet(ordinal.shortValue());
    }

    /**
     * Returns the numeric value of the enumeration element.
     * 
     * @return The numeric value.
     */
    public org.ccsds.moims.mo.mal.structures.UInteger getNumericValue() {
        return _ENUMERATION_NUMERIC_VALUES[ordinal];
    }

    /**
     * Returns an instance of this type using the first element of the enumeration. 
     * It is a generic factory method but just returns an existing element of 
     * the enumeration as new values of enumerations cannot be created at runtime. 
     * 
     * @return The first element of the enumeration.
     */
    public org.ccsds.moims.mo.mal.structures.Element createElement() {
        return _ENUMERATIONS[0];
    }

    /**
     * Encodes the value of this object using the provided MALEncoder.
     * 
     * @param encoder The encoder to use for encoding.
     * @throws org.ccsds.moims.mo.mal.MALException if any encoding errors are 
     * detected. 
     */
    public void encode(org.ccsds.moims.mo.mal.MALEncoder encoder) throws org.ccsds.moims.mo.mal.MALException {
        encoder.encodeUOctet(new org.ccsds.moims.mo.mal.structures.UOctet(ordinal.shortValue()));
    }

    /**
     * Decodes the value of this object using the provided MALDecoder.
     * 
     * @param decoder The decoder to use for decoding.
     * @return Returns this object.
     * @throws org.ccsds.moims.mo.mal.MALException if any decoding errors are 
     * detected. 
     */
    public org.ccsds.moims.mo.mal.structures.Element decode(org.ccsds.moims.mo.mal.MALDecoder decoder) throws org.ccsds.moims.mo.mal.MALException {
        return fromOrdinal(decoder.decodeUOctet().getValue());
    }

    /**
     * Returns the TypeId of this element.
     * 
     * @return The TypeId of this element.
     */
    public org.ccsds.moims.mo.mal.TypeId getTypeId() {
        return TYPE_ID;
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy