Newer
Older
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());
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);