Esempio n. 1
0
  @Override
  public void encodeData(AsnOutputStream asnOs) throws MAPException {
    if (data == null)
      throw new MAPException("Error while encoding " + _PrimitiveName + ": data is not provided.");
    if (data.length() != 4)
      throw new MAPException(
          "Error while encoding "
              + _PrimitiveName
              + ": data length is wrong, must be 4, found:"
              + data.length());
    for (int i1 = 0; i1 < data.length(); i1++) {
      if (!Character.isDigit(data.charAt(i1))) {
        throw new MAPException(
            "Error while encoding "
                + _PrimitiveName
                + ": data content must be only digital, found char:"
                + data.charAt(i1));
      }
    }

    try {
      asnOs.writeStringIA5Data(data);
    } catch (IOException e) {
      throw new MAPException(
          "IOException when encoding " + _PrimitiveName + ": " + e.getMessage(), e);
    } catch (AsnException e) {
      throw new MAPException(
          "AsnException when encoding " + _PrimitiveName + ": " + e.getMessage(), e);
    }
  }