package org.etsi.its.tool.elvior; import org.etsi.ttcn.tci.Type; import org.etsi.ttcn.tci.Value; import org.etsi.ttcn.tri.TriMessage; /** * * Note that "Enable Internal Codec" field shall be set to true * */ public class LibItsMapemSpatem_asn1 extends LibIts_asn1 { /** * Constructor */ public LibItsMapemSpatem_asn1() { _logger.entering("LibItsMapemSpatem_asn1", "LibItsMapemSpatem_asn1"); _encodingName = "MAPEM_SPATEM_ETSI"; } @Override public TriMessage encode(final Value template) { _logger.entering("LibItsMapemSpatem_asn1", "encode", template.getType().getName()); TriMessage result; String type = String.format("%s.%s", _encodingName, template.getType().getName()); if (template.getType().getName().endsWith("SREM")) { _encodingName = "MAPEM_PDU_Descriptions"; result = super.encode(template); } else { _encodingName = "SPATEM_PDU_Descriptions"; result = super.encode(template); } _encodingName = "MAPEM_SPATEM_ETSI"; return result; } @Override public Value decode(final TriMessage message, final Type decodingHypothesis) { _logger.entering("LibItsMapemSpatem_asn1", "decode", decodingHypothesis.getName()); Value result; if (decodingHypothesis.getName().endsWith("MAPEM")) { Type type = getTypeForName("MAPEM_PDU_Descriptions.MAPEM"); _encodingName = "MAPEM_PDU_Descriptions"; result = super.decode(message, type); } else { Type type = getTypeForName("SPATEM_PDU_Descriptions.SPATEM"); _encodingName = "SPATEM_PDU_Descriptions"; result = super.decode(message, type); } _encodingName = "MAPEM_SPATEM_ETSI"; return result; } } // End of class LibItsMapemSpatem_asn1