/**
   * This is a concrete implementation of this method inherited from the base class. This method
   * will perform a deep copy of <code>source</code> into <code>destination</code>.
   *
   * @param src The Object which contains the data to be copied.
   * @return Returns <code>destination</code>.
   * @exception NullPointerException If <code>destination</code> or <code>source</code> is null.
   * @exception ClassCastException If either <code>destination</code> or <code>this</code> is not a
   *     <code>SunRadiationData</code> type.
   */
  public Object copy_data(Object destination, Object source) {

    SunRadiationData typedDst = (SunRadiationData) destination;
    SunRadiationData typedSrc = (SunRadiationData) source;

    return typedDst.copy_from(typedSrc);
  }
  public Object deserialize_sample(
      Object endpoint_data,
      Object dst,
      CdrInputStream src,
      boolean deserialize_encapsulation,
      boolean deserialize_sample,
      Object endpoint_plugin_qos) {
    int position = 0;

    if (deserialize_encapsulation) {
      src.deserializeAndSetCdrEncapsulation();

      position = src.resetAlignment();
    }

    if (deserialize_sample) {

      SunRadiationData typedDst = (SunRadiationData) dst;
      typedDst.clear();
      try {
        typedDst.timestamp = src.readLong();
        typedDst.value = src.readFloat();
      } catch (IllegalCdrStateException stateEx) {
        if (src.available() >= CdrEncapsulation.CDR_ENCAPSULATION_PARAMETER_ID_ALIGNMENT) {
          throw new RETCODE_ERROR(
              "Error deserializing sample! Remainder: "
                  + src.available()
                  + "\n"
                  + "Exception caused by: "
                  + stateEx.getMessage());
        }
      } catch (Exception ex) {
        throw new RETCODE_ERROR(ex.getMessage());
      }
    }
    if (deserialize_encapsulation) {
      src.restoreAlignment(position);
    }

    return dst;
  }
 public Object create_data() {
   return SunRadiationData.create();
 }