/*
* Copyright (C) 2010 Medo <smaxein@googlemail.com>
*
* This file is part of GmkSplitter.
* GmkSplitter is free software and comes with ABSOLUTELY NO WARRANTY.
* See LICENSE for details.
*/
package com.ganggarrison.gmdec.xml;
import java.util.ArrayList;
import java.util.List;
import org.lateralgm.resources.sub.Constant;
import com.ganggarrison.easyxml.XmlReader;
import com.ganggarrison.easyxml.XmlWriter;
import com.ganggarrison.gmdec.DeferredReferenceCreatorNotifier;
public class ConstantsXmlFormat extends XmlFormat<List<Constant>> {
@Override
public void write(List<Constant> constants, XmlWriter writer) {
writer.startElement("constants");
for (Constant c : constants) {
writer.startElement("constant");
writer.putAttribute("name", c.name);
writer.putAttribute("value", c.value);
writer.endElement();
}
writer.endElement();
}
@Override
public List<Constant> read(XmlReader reader, DeferredReferenceCreatorNotifier notifier) {
return read(reader);
}
public List<Constant> read(XmlReader reader) {
ArrayList<Constant> constants = new ArrayList<Constant>();
reader.enterElement("constants");
while (reader.hasNextElement()) {
Constant c = new Constant();
reader.enterElement("constant");
c.name = reader.getStringAttribute("name");
c.value = reader.getStringAttribute("value");
reader.leaveElement();
constants.add(c);
}
reader.leaveElement();
return constants;
}
}