@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); } }