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

org.ccsds.moims.mo.com.structures.InstanceBooleanPair Maven / Gradle / Ivy

There is a newer version: 8.2
Show newest version
package org.ccsds.moims.mo.com.structures;

/**
 * Simple pair of an object instance identifier and a Boolean value.
 */
public final class InstanceBooleanPair implements org.ccsds.moims.mo.mal.structures.Composite
{
  /**
   * Short form for type.
   */
  public static final Integer TYPE_SHORT_FORM = Integer.valueOf(5);
  /**
   * Short form for area.
   */
  public static final org.ccsds.moims.mo.mal.structures.UShort AREA_SHORT_FORM = new org.ccsds.moims.mo.mal.structures.UShort(2);
  /**
   * Version for area.
   */
  public static final org.ccsds.moims.mo.mal.structures.UOctet AREA_VERSION = new org.ccsds.moims.mo.mal.structures.UOctet((short)1);
  /**
   * Short form for service.
   */
  public static final org.ccsds.moims.mo.mal.structures.UShort SERVICE_SHORT_FORM = new org.ccsds.moims.mo.mal.structures.UShort(0);
  /**
   * Absolute short form for type.
   */
  public static final Long SHORT_FORM = Long.valueOf(562949970198533L);
  private static final long serialVersionUID = 562949970198533L;
  /**
   * The object instance identifier.
   */
  private Long id;
  /**
   * An associated Boolean value.
   */
  private Boolean value;
  /**
   * Default constructor for InstanceBooleanPair.
   */
  public InstanceBooleanPair()
  {
  }

  /**
   * Constructor that initialises the values of the structure.
   * @param id The object instance identifier.
   * @param value An associated Boolean value.
   */
  public InstanceBooleanPair(Long id, Boolean value)
  {
    this.id = id;
    this.value = value;
  }

  /**
   * Creates an instance of this type using the default constructor. It is a generic factory method.
   * @return A new instance of this type with default field values.
   */
  public org.ccsds.moims.mo.mal.structures.Element createElement()
  {
    return new org.ccsds.moims.mo.com.structures.InstanceBooleanPair();
  }

  /**
   * Returns the field id.
   * @return The field id.
   */
  public Long getId()
  {
    return id;
  }

  /**
   * Sets the field id.
   * @param __newValue __newValue The new value.
   */
  public void setId(Long __newValue)
  {
    id = __newValue;
  }

  /**
   * Returns the field value.
   * @return The field value.
   */
  public Boolean getValue()
  {
    return value;
  }

  /**
   * Sets the field value.
   * @param __newValue __newValue The new value.
   */
  public void setValue(Boolean __newValue)
  {
    value = __newValue;
  }

  /**
   * Compares this object to the specified object. The result is true if and only if the argument is not null and is the same type that contains the same value as this object.
   * @param obj obj the object to compare with.
   * @return true if the objects are the same; false otherwise.
   */
  public boolean equals(Object obj)
  {
    if (obj instanceof InstanceBooleanPair)
    {
      InstanceBooleanPair other = (InstanceBooleanPair) obj;
      if (id == null)
      {
        if (other.id != null)
        {
          return false;
        }
      }
      else
      {
        if (! id.equals(other.id))
        {
          return false;
        }
      }
      if (value == null)
      {
        if (other.value != null)
        {
          return false;
        }
      }
      else
      {
        if (! value.equals(other.value))
        {
          return false;
        }
      }
      return true;
    }
    return false;
  }

  /**
   * Returns a hash code for this object.
   * @return a hash code value for this object.
   */
  public int hashCode()
  {
    int hash = 7;
    hash = 83 * hash + (id != null ? id.hashCode() : 0);
    hash = 83 * hash + (value != null ? value.hashCode() : 0);
    return hash;
  }

  /**
   * Returns a String object representing this type's value.
   * @return a string representation of the value of this object.
   */
  public String toString()
  {
    StringBuilder buf = new StringBuilder();
    buf.append('(');
    buf.append(",id=");
    buf.append(id);
    buf.append(",value=");
    buf.append(value);
    buf.append(')');
    return buf.toString();
  }

  /**
   * Encodes the value of this object using the provided MALEncoder.
   * @param encoder 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.encodeLong(id);
    encoder.encodeBoolean(value);
  }

  /**
   * Decodes the value of this object using the provided MALDecoder.
   * @param decoder 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
  {
    id = decoder.decodeLong();
    value = decoder.decodeBoolean();
    return this;
  }

  /**
   * Returns the absolute short form of this type.
   * @return The absolute short form of this type.
   */
  public Long getShortForm()
  {
    return SHORT_FORM;
  }

  /**
   * Returns the type short form of this type which is unique to the area/service it is defined in but not unique across all types.
   * @return The type short form of this type.
   */
  public Integer getTypeShortForm()
  {
    return TYPE_SHORT_FORM;
  }

  /**
   * Returns the area number of this type.
   * @return The area number of this type.
   */
  public org.ccsds.moims.mo.mal.structures.UShort getAreaNumber()
  {
    return AREA_SHORT_FORM;
  }

  /**
   * Returns the area version of this type.
   * @return The area number of this type.
   */
  public org.ccsds.moims.mo.mal.structures.UOctet getAreaVersion()
  {
    return AREA_VERSION;
  }

  /**
   * Returns the service number of this type.
   * @return The service number of this type.
   */
  public org.ccsds.moims.mo.mal.structures.UShort getServiceNumber()
  {
    return SERVICE_SHORT_FORM;
  }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy