001: /**
002: * ChainBuilder ESB
003: * Visual Enterprise Integration
004: *
005: * Copyright (C) 2006 Bostech Corporation
006: *
007: * This program is free software; you can redistribute it and/or modify it
008: * under the terms of the GNU General Public License as published by the
009: * Free Software Foundation; either version 2 of the License, or (at your option)
010: * any later version.
011: *
012: * This program is distributed in the hope that it will be useful,
013: * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
014: * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
015: * for more details.
016: *
017: * You should have received a copy of the GNU General Public License along with
018: * this program; if not, write to the Free Software Foundation, Inc.,
019: * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
020: *
021: *
022: * $Id$
023: */package com.bostechcorp.cbesb.common.util.etl.model;
024:
025: import java.util.ArrayList;
026: import java.util.Collection;
027: import java.util.List;
028:
029: import org.apache.ddlutils.model.Table;
030:
031: /**
032: * @author LPS
033: *
034: */
035: public class HierarchicalTableElement extends TableElement {
036: private List<GroupElement> children = new ArrayList<GroupElement>();
037:
038: private WhereClauseModel boundWhereClause;
039:
040: public HierarchicalTableElement(Table element, String name) {
041: super (element, name);
042: boundWhereClause = new HierarchicalWhereClause(this );
043: }
044:
045: /**
046: * @return the children
047: */
048: public List<GroupElement> getChildren() {
049: return children;
050: }
051:
052: /**
053: * @param children the children to set
054: */
055: public void setChildren(List<GroupElement> children) {
056: this .children = children;
057: }
058:
059: /**
060: * @param arg0
061: * @return
062: * @see java.util.List#add(java.lang.Object)
063: */
064: public boolean addChild(GroupElement arg0) {
065: return children.add(arg0);
066: }
067:
068: /**
069: * @param arg0
070: * @return
071: * @see java.util.List#contains(java.lang.Object)
072: */
073: public boolean containsChild(Object arg0) {
074: return children.contains(arg0);
075: }
076:
077: /**
078: * @param arg0
079: * @return
080: * @see java.util.List#get(int)
081: */
082: public GroupElement getChild(int arg0) {
083: return children.get(arg0);
084: }
085:
086: /**
087: * @param arg0
088: * @return
089: * @see java.util.List#indexOf(java.lang.Object)
090: */
091: public int indexOfChild(Object arg0) {
092: return children.indexOf(arg0);
093: }
094:
095: /**
096: * @param arg0
097: * @return
098: * @see java.util.List#lastIndexOf(java.lang.Object)
099: */
100: public int lastIndexOfChild(Object arg0) {
101: return children.lastIndexOf(arg0);
102: }
103:
104: /**
105: * @param arg0
106: * @return
107: * @see java.util.List#remove(int)
108: */
109: public GroupElement removeChild(int arg0) {
110: return children.remove(arg0);
111: }
112:
113: /**
114: * @param arg0
115: * @return
116: * @see java.util.List#remove(java.lang.Object)
117: */
118: public boolean removeChild(Object arg0) {
119: return children.remove(arg0);
120: }
121:
122: public void printOut(String tabs) {
123: super .printOut(tabs);
124: for (GroupElement iterable_element : children) {
125: iterable_element.printOut(tabs + "\t");
126: }
127: }
128:
129: /**
130: * @return the boundWhereClause
131: */
132: public WhereClauseModel getBoundWhereClause() {
133: return boundWhereClause;
134: }
135:
136: /**
137: * @param boundWhereClause the boundWhereClause to set
138: */
139: public void setBoundWhereClause(WhereClauseModel boundWhereClause) {
140: this .boundWhereClause = boundWhereClause;
141: }
142:
143: /**
144: * @param c
145: * @return
146: * @see com.bostechcorp.cbesb.common.util.etl.model.WhereClauseModel#addAllOperations(java.util.Collection)
147: */
148: public boolean addAllOperations(
149: Collection<? extends AbstractOperation> c) {
150: return boundWhereClause.addAllOperations(c);
151: }
152:
153: /**
154: * @param index
155: * @param c
156: * @return
157: * @see com.bostechcorp.cbesb.common.util.etl.model.WhereClauseModel#addAllOperations(int, java.util.Collection)
158: */
159: public boolean addAllOperations(int index,
160: Collection<? extends AbstractOperation> c) {
161: return boundWhereClause.addAllOperations(index, c);
162: }
163:
164: /**
165: * @param o
166: * @return
167: * @see com.bostechcorp.cbesb.common.util.etl.model.WhereClauseModel#addOperation(com.bostechcorp.cbesb.common.util.etl.model.AbstractOperation)
168: */
169: public boolean addOperation(AbstractOperation o) {
170: return boundWhereClause.addOperation(o);
171: }
172:
173: /**
174: * @param index
175: * @param element
176: * @see com.bostechcorp.cbesb.common.util.etl.model.WhereClauseModel#addOperation(int, com.bostechcorp.cbesb.common.util.etl.model.AbstractOperation)
177: */
178: public void addOperation(int index, AbstractOperation element) {
179: boundWhereClause.addOperation(index, element);
180: }
181:
182: /**
183: *
184: * @see com.bostechcorp.cbesb.common.util.etl.model.WhereClauseModel#clearOperations()
185: */
186: public void clearOperations() {
187: boundWhereClause.clearOperations();
188: }
189:
190: /**
191: * @param c
192: * @return
193: * @see com.bostechcorp.cbesb.common.util.etl.model.WhereClauseModel#containsAllOperation(java.util.Collection)
194: */
195: public boolean containsAllOperation(Collection<?> c) {
196: return boundWhereClause.containsAllOperation(c);
197: }
198:
199: /**
200: * @param o
201: * @return
202: * @see com.bostechcorp.cbesb.common.util.etl.model.WhereClauseModel#containsOperation(com.bostechcorp.cbesb.common.util.etl.model.AbstractOperation)
203: */
204: public boolean containsOperation(AbstractOperation o) {
205: return boundWhereClause.containsOperation(o);
206: }
207:
208: /**
209: * @param index
210: * @return
211: * @see com.bostechcorp.cbesb.common.util.etl.model.WhereClauseModel#getOperation(int)
212: */
213: public AbstractOperation getOperation(int index) {
214: return boundWhereClause.getOperation(index);
215: }
216:
217: /**
218: * @return
219: * @see com.bostechcorp.cbesb.common.util.etl.model.WhereClauseModel#getOperations()
220: */
221: public List<AbstractOperation> getOperations() {
222: return boundWhereClause.getOperations();
223: }
224:
225: /**
226: * @param o
227: * @return
228: * @see com.bostechcorp.cbesb.common.util.etl.model.WhereClauseModel#indexOfOperation(com.bostechcorp.cbesb.common.util.etl.model.AbstractOperation)
229: */
230: public int indexOfOperation(AbstractOperation o) {
231: return boundWhereClause.indexOfOperation(o);
232: }
233:
234: /**
235: * @param o
236: * @return
237: * @see com.bostechcorp.cbesb.common.util.etl.model.WhereClauseModel#lastIndexOfOperation(com.bostechcorp.cbesb.common.util.etl.model.AbstractOperation)
238: */
239: public int lastIndexOfOperation(AbstractOperation o) {
240: return boundWhereClause.lastIndexOfOperation(o);
241: }
242:
243: /**
244: * @param c
245: * @return
246: * @see com.bostechcorp.cbesb.common.util.etl.model.WhereClauseModel#removeAllOperations(java.util.Collection)
247: */
248: public boolean removeAllOperations(Collection<?> c) {
249: return boundWhereClause.removeAllOperations(c);
250: }
251:
252: /**
253: * @param o
254: * @return
255: * @see com.bostechcorp.cbesb.common.util.etl.model.WhereClauseModel#removeOperation(com.bostechcorp.cbesb.common.util.etl.model.AbstractOperation)
256: */
257: public boolean removeOperation(AbstractOperation o) {
258: return boundWhereClause.removeOperation(o);
259: }
260:
261: /**
262: * @param index
263: * @return
264: * @see com.bostechcorp.cbesb.common.util.etl.model.WhereClauseModel#removeOperation(int)
265: */
266: public AbstractOperation removeOperation(int index) {
267: return boundWhereClause.removeOperation(index);
268: }
269:
270: /**
271: * @param index
272: * @param element
273: * @return
274: * @see com.bostechcorp.cbesb.common.util.etl.model.WhereClauseModel#setOperation(int, com.bostechcorp.cbesb.common.util.etl.model.AbstractOperation)
275: */
276: public AbstractOperation setOperation(int index,
277: AbstractOperation element) {
278: return boundWhereClause.setOperation(index, element);
279: }
280:
281: /**
282: * @param operations
283: * @see com.bostechcorp.cbesb.common.util.etl.model.WhereClauseModel#setOperations(java.util.List)
284: */
285: public void setOperations(List<AbstractOperation> operations) {
286: boundWhereClause.setOperations(operations);
287: }
288:
289: public GroupElement getGroupByName(String groupName) {
290: for (int i = 0; i < this .children.size(); i++) {
291: GroupElement group = this .children.get(i);
292: //todo if(group.getName().equals(groupName)){
293: if (group.getName().equalsIgnoreCase(groupName)) {
294: return group;
295: }
296:
297: }
298: return null;
299: }
300: }
|