001: /*
002: * ====================================================================
003: * JAFFA - Java Application Framework For All
004: *
005: * Copyright (C) 2002 JAFFA Development Group
006: *
007: * This library is free software; you can redistribute it and/or
008: * modify it under the terms of the GNU Lesser General Public
009: * License as published by the Free Software Foundation; either
010: * version 2.1 of the License, or (at your option) any later version.
011: *
012: * This library is distributed in the hope that it will be useful,
013: * but WITHOUT ANY WARRANTY; without even the implied warranty of
014: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
015: * Lesser General Public License for more details.
016: *
017: * You should have received a copy of the GNU Lesser General Public
018: * License along with this library; if not, write to the Free Software
019: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
020: *
021: * Redistribution and use of this software and associated documentation ("Software"),
022: * with or without modification, are permitted provided that the following conditions are met:
023: * 1. Redistributions of source code must retain copyright statements and notices.
024: * Redistributions must also contain a copy of this document.
025: * 2. Redistributions in binary form must reproduce the above copyright notice,
026: * this list of conditions and the following disclaimer in the documentation
027: * and/or other materials provided with the distribution.
028: * 3. The name "JAFFA" must not be used to endorse or promote products derived from
029: * this Software without prior written permission. For written permission,
030: * please contact mail to: jaffagroup@yahoo.com.
031: * 4. Products derived from this Software may not be called "JAFFA" nor may "JAFFA"
032: * appear in their names without prior written permission.
033: * 5. Due credit should be given to the JAFFA Project (http://jaffa.sourceforge.net).
034: *
035: * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
036: * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
037: * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
038: * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
039: * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
040: * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
041: * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
042: * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
043: * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
044: * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
045: * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
046: * SUCH DAMAGE.
047: * ====================================================================
048: */
049:
050: package org.jaffa.components.codehelper.dto;
051:
052: import java.util.*;
053: import org.jaffa.components.dto.HeaderDto;
054:
055: /** The is the input to the ICodeHelper. It will contain one or more CodeHelperInElementDto objects.
056: * In turn, each CodeHelperInElementDto may contain zero or more CriteriaField objects, for specifying additional criteria.
057: *
058: * @author GautamJ
059: */
060: public class CodeHelperInDto {
061:
062: /** Holds value of property headerDto. */
063: private HeaderDto headerDto;
064:
065: /** Holds value of property codeHelperInElementDtos. */
066: private List codeHelperInElementDtos;
067:
068: /** Creates new CodeHelperInElementDto */
069: public CodeHelperInDto() {
070: }
071:
072: /** Getter for property headerDto.
073: * @return Value of property headerDto.
074: */
075: public HeaderDto getHeaderDto() {
076: return headerDto;
077: }
078:
079: /** Setter for property headerDto.
080: * @param headerDto New value of property headerDto.
081: */
082: public void setHeaderDto(HeaderDto headerDto) {
083: this .headerDto = headerDto;
084: }
085:
086: /** Add a codeHelperInElementDto to the list
087: * @param codeHelperInElementDto A codeHelperInElementDto
088: */
089: public void addCodeHelperInElementDto(
090: CodeHelperInElementDto codeHelperInElementDto) {
091: if (codeHelperInElementDtos == null)
092: codeHelperInElementDtos = new ArrayList();
093: codeHelperInElementDtos.add(codeHelperInElementDto);
094: }
095:
096: /** Add a codeHelperInElementDto at the specified position in the list
097: * @param codeHelperInElementDto A codeHelperInElementDto
098: * @param index The position in the list
099: */
100: public void setCodeHelperInElementDto(
101: CodeHelperInElementDto codeHelperInElementDto, int index) {
102: if (codeHelperInElementDtos == null)
103: codeHelperInElementDtos = new ArrayList();
104:
105: //-- check bounds for index
106: if (index < 0 || index > codeHelperInElementDtos.size())
107: throw new IndexOutOfBoundsException();
108:
109: codeHelperInElementDtos.set(index, codeHelperInElementDto);
110: }
111:
112: /** Recreate the internal list with the input array of codeHelperInElementDto
113: * @param codeHelperInElementDtos An array of codeHelperInElementDto
114: */
115: public void setCodeHelperInElementDtos(
116: CodeHelperInElementDto[] codeHelperInElementDtos) {
117: this .codeHelperInElementDtos = Arrays
118: .asList(codeHelperInElementDtos);
119: }
120:
121: /** Clear the list of codeHelperInElementDto
122: */
123: public void clearCodeHelperInElementDtos() {
124: if (codeHelperInElementDtos != null)
125: codeHelperInElementDtos.clear();
126: }
127:
128: /** Remove a codeHelperInElementDto from the list
129: * @param codeHelperInElementDto The codeHelperInElementDto to be removed
130: * @return true if this list contained the specified element
131: */
132: public boolean removeCodeHelperInElementDto(
133: CodeHelperInElementDto codeHelperInElementDto) {
134: if (codeHelperInElementDtos != null)
135: return codeHelperInElementDtos
136: .remove(codeHelperInElementDto);
137: else
138: return false;
139: }
140:
141: /** Return a codeHelperInElementDto at the specified position in the list
142: * @param index The position in the list
143: * @return The codeHelperInElementDto
144: */
145: public CodeHelperInElementDto getCodeHelperInElementDto(int index) {
146: //-- check bounds for index
147: if (codeHelperInElementDtos == null || index < 0
148: || index > codeHelperInElementDtos.size())
149: throw new IndexOutOfBoundsException();
150:
151: return (CodeHelperInElementDto) codeHelperInElementDtos
152: .get(index);
153: }
154:
155: /** Returns an array of codeHelperInElementDto
156: * @return An array of codeHelperInElementDto
157: */
158: public CodeHelperInElementDto[] getCodeHelperInElementDtos() {
159: if (codeHelperInElementDtos != null)
160: return (CodeHelperInElementDto[]) codeHelperInElementDtos
161: .toArray(new CodeHelperInElementDto[0]);
162: else
163: return null;
164: }
165:
166: /** Returns the number of codeHelperInElementDto in the list
167: * @return The number of codeHelperInElementDto in the list
168: */
169: public int getCodeHelperInElementDtoCount() {
170: if (codeHelperInElementDtos != null)
171: return codeHelperInElementDtos.size();
172: else
173: return 0;
174: }
175:
176: /** Returns diagnostic information.
177: * @return diagnostic information.
178: */
179: public String toString() {
180: StringBuffer buf = new StringBuffer();
181: buf.append("<CodeHelperInDto>");
182: buf.append("<headerDto>");
183: if (headerDto != null)
184: buf.append(headerDto.toString());
185: buf.append("</headerDto>");
186: buf.append("<codeHelperInElementDtos>");
187: if (codeHelperInElementDtos != null) {
188: for (Iterator i = codeHelperInElementDtos.iterator(); i
189: .hasNext();)
190: buf.append(i.next());
191: }
192: buf.append("</codeHelperInElementDtos>");
193: buf.append("</CodeHelperInDto>");
194: return buf.toString();
195: }
196:
197: }
|