package net.jaekl.cfb.xml;
+import java.io.PrintWriter;
+
import org.xml.sax.Attributes;
+import net.jaekl.cfb.util.Util;
+import net.jaekl.qd.xml.MissingAttributeException;
import net.jaekl.qd.xml.ParseResult;
import net.jaekl.qd.xml.XmlParseException;
m_name = m_role = null;
}
+ public String getName() { return m_name; }
+ public String getRole() { return m_role; }
+
@Override
- public void endContents(String uri, String localName, String qName, String chars, Attributes attr)
- throws XmlParseException
+ public void handleMainAttributes(Attributes attr)
+ throws MissingAttributeException
{
m_name = getRequiredAttr(TAG, attr, NAME);
m_role = getRequiredAttr(TAG, attr, ROLE);
}
+
+ @Override
+ public void endContents(String uri, String localName, String qName, String chars)
+ throws XmlParseException
+ {
+ }
@Override
public void endExternal(String uri, String localName, String qName)
{
// no-op
}
+
+ @Override
+ public void dump(PrintWriter pw, int indent)
+ {
+ super.dump(pw, indent);
+ String tab = String.format("%" + (indent + 2) + "s", "");
+
+ pw.println(tab + NAME + "=" + m_name);
+ pw.println(tab + ROLE + "=" + m_role);
+ }
+
+ @Override
+ public boolean equals(Object obj)
+ {
+ if (null == obj) {
+ return false;
+ }
+ if (obj instanceof LocalVariable) {
+ LocalVariable that = (LocalVariable)obj;
+ return ( Util.objsAreEqual(this.m_name, that.m_name)
+ && Util.objsAreEqual(this.m_role, that.m_role) );
+ }
+ return false;
+ }
+
+ @Override
+ public int hashCode()
+ {
+ return ( (1 + Util.objHashCode(m_name)) * (1 + Util.objHashCode(m_role)) );
+ }
}