20 package org.matsim.utils.objectattributes;
29 import java.util.Stack;
31 import com.google.inject.Inject;
32 import org.apache.logging.log4j.LogManager;
33 import org.apache.logging.log4j.Logger;
35 import org.xml.sax.Attributes;
36 import org.xml.sax.SAXException;
60 super.setValidating(
false);
64 public void startTag(String name, Attributes atts, Stack<String> context) {
65 if (TAG_ATTRIBUTE.equals(name)) {
66 this.currentAttribute = atts.getValue(ATTR_ATTRIBUTENAME);
67 this.currentAttributeClass = atts.getValue(ATTR_ATTRIBUTECLASS);
68 this.readCharacters =
true;
69 }
else if (TAG_OBJECT.equals(name)) {
70 this.currentObject = atts.getValue(ATTR_OBJECTID);
75 public void endTag(String name, String content, Stack<String> context) {
76 if (TAG_ATTRIBUTE.equals(name)) {
77 this.readCharacters =
false;
79 Object o = converter.
convert(this.currentAttributeClass, content);
80 this.attributes.
putAttribute(this.currentObject, this.currentAttribute, o);
81 }
else if (TAG_OBJECT.equals(name)) {
82 if (this.count % 100000 == 0) {
83 log.info(
"reading object #" + this.count);
86 this.currentObject = null;
91 public void characters(
char[]
ch,
int start,
int length)
throws SAXException {
92 if (this.readCharacters) {
93 super.characters(
ch, start, length);
111 return this.converter.putAttributeConverter(clazz, converter);
Object putAttribute(final String objectId, final String attribute, final Object value)
final ObjectAttributesConverter converter
void endTag(String name, String content, Stack< String > context)
void putAttributeConverters(final Map< Class<?>, AttributeConverter<?>> converters)
ObjectAttributesXmlReader(final ObjectAttributes attributes)
void startTag(String name, Attributes atts, Stack< String > context)
AttributeConverter removeAttributeConverter(final Class<?> clazz)
String currentAttributeClass
AttributeConverter<?> putAttributeConverter(final Class<?> clazz, final AttributeConverter<?> converter)
Object convert(String className, String value)
void characters(char[] ch, int start, int length)
final ObjectAttributes attributes
AttributeConverter<?> removeAttributeConverter(final Class<?> clazz)
void putAttributeConverters(final Map< Class<?>, AttributeConverter<?>> converters)