]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/java/org/open_ils/idl/IDLObject.java
aafde6e031e759b41821512ab46a076bd10b7fce
[Evergreen.git] / Open-ILS / src / java / org / open_ils / idl / IDLObject.java
1 package org.open_ils.idl;
2 import java.util.HashMap;
3 import java.util.Iterator;
4
5
6 public class IDLObject {
7
8     private String IDLClass;
9     private String fieldMapper;
10     private String controller;
11     private String rptLabel;
12     private HashMap<String, IDLField> fields;
13     private HashMap<String, IDLLink> links;
14     
15     /** true if this is a virtual object (does not live in the database) */
16     private boolean isVirtual;
17     
18     public IDLObject() {
19        fields = new HashMap<String, IDLField>();
20        links = new HashMap<String, IDLLink>();
21     }
22     
23     public String getIDLClass() {
24        return IDLClass;
25     }
26     
27     public void addLink(IDLLink link) {
28        links.put(link.getField(), link);
29     }
30     
31     public void addField(IDLField field) {
32        fields.put(field.getName(), field);
33     }
34     
35     public IDLField getField(String name) {
36         return (IDLField) fields.get(name);
37     }
38
39     public HashMap getFields() {
40         return fields;
41     }
42
43
44     /**
45      * Returns the link object found at the given field on 
46      * this IDLObject.
47      */
48     public IDLLink getLink(String fieldName) {
49         return (IDLLink) links.get(fieldName);
50     }
51     
52     public String getFieldMapper() {
53        return fieldMapper;
54     }
55     
56     public String getController() {
57        return controller;
58     }
59     
60     public String getRptLabel() {
61        return rptLabel;
62     }
63     public boolean isVirtual() {
64        return isVirtual;
65     }
66     
67     public void setIDLClass(String IDLClass) {
68        this.IDLClass = IDLClass;
69     }
70     
71     public void setFieldMapper(String fm) {
72        this.fieldMapper = fm;
73     }
74     public void setController(String controller) {
75        this.controller = controller;
76     }
77     public void setRptLabel(String label) {
78        this.rptLabel = label;
79     }
80     public void setIsVirtual(boolean isVirtual) {
81        this.isVirtual = isVirtual;
82     }
83
84
85     public void toXML(StringBuffer sb) {
86
87         sb.append("\t\t<fields>");
88         Iterator itr = fields.keySet().iterator();        
89         IDLField field;
90         while(itr.hasNext()) {
91             field = fields.get((String) itr.next()); 
92             field.toXML(sb);
93         }
94         sb.append("\t\t</fields>");
95     }
96 }