// Copyright FreeHEP, 2007.
package hep.aida.ref.xml.binary;
import org.freehep.wbxml.Attributes;
/**
* Aida Tag IDs, Attribute IDs and Attribute Types, used both for Binary and ASCII XML
*
* @author Mark Donszelmann
* @version $Id$
*/
public class AidaWBXMLLookup implements AidaWBXML {
public static String getTagName(int tag) {
String name = tags[tag];
if (name == null)
throw new RuntimeException("No TagName available for " + tag);
return name;
}
public static int getTag(String name) {
for (int i = 0; i < tags.length; i++) {
if (tags[i].equals(name))
return i;
}
return -1;
}
public static boolean isTagEmpty(int tag) {
return tagIsEmpty[tag];
}
public static String getAttributeName(int tag) {
if (tag == -2) return "value";
String name = attributes[tag];
if (name == null)
throw new RuntimeException("No AttributeName available for " + tag);
return name;
}
public static int getAttributeType(int tag) {
if (tag < 0 || tag >= attributes.length) return Attributes.UNDEFINED;
return attributeType[tag];
}
public static int getAttribute(String name) {
if ("value".equals(name)) return -2;
for (int i = 0; i < attributes.length; i++) {
if (attributes[i].equals(name))
return i;
}
return -1;
}
}