@Override protected void readSingleChildElement( XMLStreamReader reader, ParsingInfo parsingInfo, RawRoot root, Map<String, Object> objectMap, MessageGroup object) throws XMLStreamException { if (s_dictRefReader.canRead(reader)) { MdmiDomainDictionaryReference ref = s_dictRefReader.readAndBuild(reader, parsingInfo, root, objectMap); ref.setMessageGroup(object); object.setDomainDictionary(ref); } else if (s_modelReader.canRead(reader)) { MessageModel model = s_modelReader.readAndBuild(reader, parsingInfo, root, objectMap); model.setGroup(object); object.addModel(model); } else if (s_dataRuleReader.canRead(reader)) { DataRule rule = s_dataRuleReader.readAndBuild(reader, parsingInfo, root, objectMap); rule.setScope(object); object.addDataRule(rule); } else if (s_extTypeReader.canRead(reader)) { DTExternal type = s_extTypeReader.readAndBuild(reader, parsingInfo, root, objectMap); object.addDatatype(type); type.setOwner(object); } else if (s_choiceTypeReader.canRead(reader)) { DTCChoice type = s_choiceTypeReader.readAndBuild(reader, parsingInfo, root, objectMap); object.addDatatype(type); type.setOwner(object); } else if (s_structTypeReader.canRead(reader)) { DTCStructured type = s_structTypeReader.readAndBuild(reader, parsingInfo, root, objectMap); object.addDatatype(type); type.setOwner(object); } else if (s_enumTypeReader.canRead(reader)) { DTSEnumerated type = s_enumTypeReader.readAndBuild(reader, parsingInfo, root, objectMap); object.addDatatype(type); type.setOwner(object); } else if (s_derivedTypeReader.canRead(reader)) { DTSDerived type = s_derivedTypeReader.readAndBuild(reader, parsingInfo, root, objectMap); object.addDatatype(type); type.setOwner(object); } else if (s_primTypeReader.canRead(reader)) { DTSPrimitive type = s_primTypeReader.readAndBuild(reader, parsingInfo, root, objectMap); object.addDatatype(type); } }
protected void toString(StringBuffer out, String indent) { out.append(indent + "SemanticElement: " + m_name + "\r\n"); indent += " "; if (m_description != null && m_description.length() > 0) { out.append(indent + "description: " + m_description + "\r\n"); } if (m_elementType != null) { out.append(indent + "element type: " + m_elementType + "\r\n"); } if (m_datatype != null) { out.append(indent + "datatype: " + m_datatype.getTypeName() + "\r\n"); } if (m_multipleInstances) { out.append(indent + "multiple instances: true\r\n"); } if (m_parent != null) { out.append(indent + "parent: " + m_parent.getName() + "\r\n"); } if (m_ordering != null && m_ordering.length() > 0) { out.append(indent + "ordering: " + m_ordering + "\r\n"); } if (m_orderingLanguage != null && m_orderingLanguage.length() > 0) { out.append(indent + "ordering expression language: " + m_orderingLanguage + "\r\n"); } if (m_computedValue != null) { m_computedValue.toString(out, indent); } if (m_computedInValue != null) { m_computedInValue.toString(out, indent); } if (m_computedOutValue != null) { m_computedOutValue.toString(out, indent); } if (m_syntaxNode != null) { out.append(indent + "syntax node: " + m_syntaxNode.getName() + "\r\n"); } if (m_dataRules.size() > 0) { out.append(indent + "DATA RULES: "); for (int i = 0; i < m_dataRules.size(); i++) { DataRule x = m_dataRules.get(i); if (i > 0) { out.append(", "); } out.append(x.getName()); } out.append("\r\n"); } for (int i = 0; i < m_businessRules.size(); i++) { SemanticElementBusinessRule x = m_businessRules.get(i); x.toString(out, indent); } for (int i = 0; i < m_toMdmi.size(); i++) { ToMessageElement x = m_toMdmi.get(i); x.toString(out, indent); } for (int i = 0; i < m_fromMdmi.size(); i++) { ToBusinessElement x = m_fromMdmi.get(i); x.toString(out, indent); } for (int i = 0; i < m_relationships.size(); i++) { SemanticElementRelationship x = m_relationships.get(i); x.toString(out, indent); } for (int i = 0; i < m_qualifiers.size(); i++) { MEPropertyQualifierInstance x = m_qualifiers.get(i); x.toString(out, indent); } Collection<SemanticElement> c = getChildren(); if (c.size() > 0) { int i = 0; out.append(indent + "children: "); for (Iterator<SemanticElement> it = c.iterator(); it.hasNext(); ) { SemanticElement x = it.next(); if (i++ <= 0) { out.append(", "); } out.append(x.getName()); } out.append("\r\n"); } }