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
008: * it under the terms of the GNU General Public License as published by
009: * the Free Software Foundation; either version 2 of the License, or
010: * (at your option) 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
014: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
015: * General Public License for more details.
016: *
017: * You should have received a copy of the GNU General Public License
018: * along with this program; if not, write to the Free Software
019: * Foundation, Inc.,59 Temple Place, Suite 330, Boston, MA 02111-1307
020: * USA
021: *
022: * $Id: IVariableFormatDefinition.java 6044 2007-03-18 03:55:52Z mpreston $
023: *
024: */
025: package com.bostechcorp.cbesb.common.mdl;
026:
027: import javax.xml.namespace.QName;
028:
029: /**
030: * Contains the attributes specific to a variable format. This interface extends
031: * FormatDefinition. Some of the functionality provided:
032: * 1. Get/Set delimiter
033: * 2. Get/Set escape character
034: * 3. Get/Set quote character
035: * 4. Get/Set repeat delimiter
036: * 5. Get/Set ID Method (tag or position)
037: * 6. Get/Set tag length (when ID Method = tag)
038: */
039: public interface IVariableFormatDefinition extends IFormatDefinition {
040:
041: /**
042: * The sequence value of type attribute.
043: */
044: public static final byte TYPE_SEQUENCE = 0;
045:
046: /**
047: * The choice value of type attribute.
048: */
049: public static final byte TYPE_CHOICE = 1;
050:
051: /**
052: * the position value of idMethod attribute.
053: */
054: public static final byte ID_METHOD_POSITION = 0;
055:
056: /**
057: * The tag value of idMethod attribute.
058: */
059: public static final byte ID_METHOD_TAG = 1;
060:
061: /**
062: * Get the value of delimiter attribute.
063: *
064: * @return the value of delimiter attribute
065: */
066: public String getDelimiter();
067:
068: /**
069: * Set the value of delimiter attribute.
070: *
071: * @param delimiter String
072: */
073: public void setDelimiter(String delimiter);
074:
075: /**
076: * Get the value of escapeChar attribute.
077: *
078: * @return the value of escapeChar attribute
079: */
080: public char getEscapeChar();
081:
082: /**
083: * Set the value of escapeChar attribute.
084: *
085: * @param escapeChar char
086: */
087: public void setEscapeChar(char escapeChar);
088:
089: /**
090: * Get the value of quoteChar attribute.
091: *
092: * @return the value of quoteChar attribute
093: */
094: public char getQuoteChar();
095:
096: /**
097: * Set the value of quoteChar attribute.
098: *
099: * @param quoteChar char
100: */
101: public void setQuoteChar(char quoteChar);
102:
103: /**
104: * Get the value of repeatDelimiter attribute.
105: *
106: * @return the value of repeatDelimiter attribute
107: */
108: public String getRepeatDelimiter();
109:
110: /**
111: * Set the value of repeatDelimiter attribute.
112: *
113: * @param repeatDelimiter String
114: */
115: public void setRepeatDelimiter(String repeatDelimiter);
116:
117: /**
118: * Get the value of idMethod attribute.
119: *
120: * @return the value of idMethod attribute
121: */
122: public byte getIDMethod();
123:
124: /**
125: * Set the value of idMethod attribute.
126: *
127: * @param idMethod byte
128: */
129: public void setIDMethod(byte idMethod);
130:
131: /**
132: * Get the value of tagLength.
133: *
134: * @return the value of tagLength
135: */
136: public int getTagLength();
137:
138: /**
139: * Set the value of tagLength.
140: *
141: * @param tagLength int
142: */
143: public void setTagLength(int tagLength);
144:
145: /**
146: * Get the value of tagDelimiter attribute.
147: *
148: * @return the tagDelimiter
149: */
150: public String getTagDelimiter();
151:
152: /**
153: * Set the value of tagDelimiter attribute.
154: *
155: * @param tagDelimiter the tagDelimiter to set
156: */
157: public void setTagDelimiter(String tagDelimiter);
158:
159: /**
160: * Get the value of delimiterRef attribute.
161: *
162: * @return the value of delimiterRef attribute
163: */
164: public QName getDelimiterRef();
165:
166: /**
167: * Set the value of delimiterRef attribute.
168: *
169: * @param delimiterRef String
170: */
171: public void setDelimiterRef(QName delimiterRef);
172:
173: /**
174: * Get the value of escapeCharRef attribute.
175: *
176: * @return the value of escapeCharRef attribute
177: */
178: public QName getEscapeCharRef();
179:
180: /**
181: * Set the value of escapeCharRef attribute.
182: *
183: * @param escapeCharRef String
184: */
185: public void setEscapeCharRef(QName escapeCharRef);
186:
187: /**
188: * Get the value of quoteCharRef attribute.
189: *
190: * @return the value of quoteCharRef attribute
191: */
192: public QName getQuoteCharRef();
193:
194: /**
195: * Set the value of quoteCharRef attribute.
196: *
197: * @param quoteCharRef String
198: */
199: public void setQuoteCharRef(QName quoteCharRef);
200:
201: /**
202: * Get the value of repeatDelimiterRef attribute.
203: *
204: * @return the value of repeatDelimiterRef attribute
205: */
206: public QName getRepeatDelimiterRef();
207:
208: /**
209: * Set the value of repeatDelimiterRef attribute.
210: *
211: * @param repeatDelimiterRef String
212: */
213: public void setRepeatDelimiterRef(QName repeatDelimiterRef);
214:
215: /**
216: * Get the value of tagLengthRef attribute.
217: *
218: * @return the tagLengthRef
219: */
220: public QName getTagLengthRef();
221:
222: /**
223: * Set the value of ragLengthRef attribute.
224: *
225: * @param tagLengthRef the tagLengthRef
226: */
227: public void setTagLengthRef(QName tagLengthRef);
228:
229: /**
230: * Get the value of tagDelimiterRef attribute.
231: *
232: * @return the tagDelimiterRef
233: */
234: public QName getTagDelimiterRef();
235:
236: /**
237: * Set the value of tagDelimiterRef attribute.
238: *
239: * @param tagDelimiterRef the tagDelimiterRef to set
240: */
241: public void setTagDelimiterRef(QName tagDelimiterRef);
242:
243: /**
244: * Returns the runtime delimiter to use, whether it
245: * is defined locally, or referenced to a property.
246: * @return
247: */
248: public String getResolvedDelimiter();
249:
250: /**
251: * Returns the runtime escape char to use, whether it
252: * is defined locally, or referenced to a property.
253: * @return
254: */
255: public char getResolvedEscapeChar();
256:
257: /**
258: * Returns the runtime quote char to use, whether it
259: * is defined locally, or referenced to a property.
260: * @return
261: */
262: public char getResolvedQuoteChar();
263:
264: /**
265: * Returns the runtime repeat delimiter to use, whether it
266: * is defined locally, or referenced to a property.
267: * @return
268: */
269: public String getResolvedRepeatDelimiter();
270:
271: /**
272: * Returns the runtime tag delimiter to use, whether it
273: * is defined locally, or referenced to a property.
274: * @return
275: */
276: public String getResolvedTagDelimiter();
277:
278: /**
279: * Returns the runtime tag length to use, whether it
280: * is defined locally, or referenced to a property.
281: * @return
282: */
283: public int getResolvedTagLength();
284:
285: /**
286: * Get the value of type attribute.
287: *
288: * @return the value of type attribute
289: */
290: public byte getType();
291:
292: /**
293: * Set the value of type attribute.
294: *
295: * @param type byte
296: */
297: public void setType(byte type);
298: }
|