GeomConverter/src/org/lcsim/geometry
diff -u -r1.1 -r1.2
--- ExpandedIdentifier.java 7 Feb 2006 17:03:30 -0000 1.1
+++ ExpandedIdentifier.java 15 Feb 2006 01:17:26 -0000 1.2
@@ -2,8 +2,19 @@
import java.util.Set;
+import org.lcsim.geometry.util.IDDescriptor;
+
public interface ExpandedIdentifier
{
public int get(String field);
public Set<String> fields();
+
+ /*/\/\ stuff that should be moved from IDDecoder interface /\/\
+ public int getValue(String field);
+ public int getValue(int index);
+ public int getFieldCount();
+ public String getFieldName(int index);
+ public int getFieldIndex(String name);
+ public IDDescriptor getIDDescription();
+ */
}
GeomConverter/src/org/lcsim/geometry/util
diff -u -r1.2 -r1.3
--- ExpandedIdentifier.java 8 Feb 2006 01:04:12 -0000 1.2
+++ ExpandedIdentifier.java 15 Feb 2006 01:17:26 -0000 1.3
@@ -7,7 +7,7 @@
public class ExpandedIdentifier
implements org.lcsim.geometry.ExpandedIdentifier
{
- Map<String, Integer> map = new LinkedHashMap<String, Integer>();
+ Map<String, Integer> map = new LinkedHashMap<String, Integer>();
public ExpandedIdentifier()
{}
@@ -25,5 +25,50 @@
public Set<String> fields()
{
return map.keySet();
- }
+ }
+
+ // /\/\/\ from IDDecoder /\/\/\
+
+ public int getValue(String field)
+ {
+ return get(field);
+ }
+
+ public int getFieldCount()
+ {
+ return fields().size();
+ }
+
+ public int getValue(int index)
+ {
+ Object objarr[] = map.values().toArray();
+ return (Integer)objarr[index];
+ }
+
+ public String getFieldName(int index)
+ {
+ Object objarr[] = map.keySet().toArray();
+ return (String)objarr[index];
+ }
+
+ public int getFieldIndex(String name)
+ {
+ Object objarr[] = map.keySet().toArray();
+
+ int idx = -1;
+ for (int i = 0; i < objarr.length; i++)
+ {
+ if (((String)objarr[i]).compareTo(name) == 0)
+ {
+ idx = i;
+ break;
+ }
+ }
+
+ if (idx == -1)
+ {
+ throw new RuntimeException(name + " field does not exist in this ID");
+ }
+ return idx;
+ }
}
\ No newline at end of file