Esempio n. 1
0
  /**
   * Checks if the data that should be used to access the data is compatible with the data this node
   * can hold.
   *
   * @param data the data to be checked for compatibility
   * @throws IllegalArgumentException if data is invalid.
   */
  protected void checkDataCompatibility(ProductData data) throws IllegalArgumentException {

    Debug.assertNotNull(data);

    if (data.getType() != getDataType()) {
      throw new IllegalArgumentException(
          "illegal data for data node '"
              + getName()
              + "', type "
              + ProductData.getTypeString(getDataType())
              + " expected");
    }

    if (data.getNumElems() != getNumDataElems()) {
      throw new IllegalArgumentException(
          "illegal number of data elements for data node '"
              + getName()
              + "', "
              + getNumDataElems()
              + " elements expected");
    }
  }