X-Git-Url: http://jaekl.net/gitweb/?a=blobdiff_plain;f=prod%2Fnet%2Fjaekl%2Fcfb%2Fxml%2FLocalVariable.java;h=42c282acf7bdd33893f83a176d79494c719ffbd1;hb=71a1166c90a757e1faec9756563d35dbc367665b;hp=b52823f02408029de4a1bb33cba6a47db77caa5e;hpb=a938b67bf3d3bd86f8dd7b1f958e81007bf6f2fe;p=cfb.git diff --git a/prod/net/jaekl/cfb/xml/LocalVariable.java b/prod/net/jaekl/cfb/xml/LocalVariable.java index b52823f..42c282a 100644 --- a/prod/net/jaekl/cfb/xml/LocalVariable.java +++ b/prod/net/jaekl/cfb/xml/LocalVariable.java @@ -1,7 +1,11 @@ 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; @@ -23,13 +27,22 @@ public class LocalVariable extends ParseResult { 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) @@ -37,4 +50,34 @@ public class LocalVariable extends ParseResult { { // 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 ( (Util.objHashCode(m_name)) ^ (Util.objHashCode(m_role)) ); + } }