1   /***
2    * Copyright (c) 2002, CodeStreet LLC. All rights reserved.<p>
3    * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following
4    * conditions are met:<p>
5    * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
6    * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer
7    * in the documentation and/or other materials provided with the distribution. Neither the name of CodeStreet LLC. nor the
8    * names of its contributors may be used to endorse or promote products derived from this software without specific prior written
9    * permission.<p>
10   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
11   * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
12   * THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
13   * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
14   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
15   * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.<p>
16   */
17  
18  package com.codestreet.messageforge;
19  
20  /***
21   * Interface implemented by <tt>RFld</tt> and subclasses.
22   * @author Jawaid Hakim.
23   */
24  public interface RFldInterface extends java.io.Serializable
25  {
26      /***
27       * Get field name.
28       * @return Field name.
29       */
30      String getName();
31  
32      /***
33       * Get field id.
34       * @return Field id.
35       */
36      int getId();
37  
38      /***
39       * Get message description.
40       * @return Message description.
41       */
42      String getDesc();
43  
44      /***
45       * Get field type.
46       * @return Field type.
47       * @see RFldType
48       */
49      RFldType getType();
50  
51      /***
52       * Check if field value has been set.
53       * @return <tt>true if field value has been set. Othewrwise,
54       * return <tt>false</tt>.
55       */
56      boolean isValSet();
57  
58      /***
59       * Check if field value has constrained.
60       * @return <tt>true if field value has constrained. Othewrwise,
61       * return <tt>false</tt>.
62       */
63      boolean isConstrained();
64  
65  
66      /***
67       * Check if field is locked.
68       * @return <tt>true if field value is locked. Othewrwise,
69       * return <tt>false</tt>.
70       */
71      boolean isLocked();
72      
73      
74      /***
75       * Check if this field is a property.
76       * 
77       * @return Returns <code>true</code> if this field is a property.
78       * @see #getPropertyName()
79       */
80      boolean isProperty();
81  
82      /***
83       * Get property name.
84       * 
85       * @return Returns property name if this field is a property. Returns
86       *         <code>null</code> if this field is not a property.
87       * @see #isProperty()
88       */
89      String getPropertyName();
90  
91      /***
92       * Set state from an Object.
93       * @param fld Source object.
94       * @return Reference to self so method chaining can be used.
95       */
96      RFld set(Object fld) throws FieldValidationException;
97  
98      /***
99       * Set data from JDOM element.
100      * @param newData New data.
101      * @return Reference to self so method chaining can be used.
102      */
103     RFld set(org.jdom.Element newData) throws FieldValidationException;
104 
105     /***
106      * Get the field value as an object.
107      * @return Field value as an object. Returns <tt>null</tt> if the field
108      * value is not set.
109      */
110     Object getValueAsObject();
111 
112     /***
113      * Get the field value as a java.util.Hashtable. Every field type that is not directly
114      * supported within Tibrv - every field with type greater than or equal to
115      * RFldType.USER_FIRST - and including fields of type TibrvMsg will implement
116      * this method.
117      * @return Field value as java.util.Hashtable.
118      */
119     java.util.Hashtable getValueAsHashtable() throws FieldValidationException;
120 
121     /***
122      * Marshall the field as XML to target writer.
123      * @param writer Output target.
124      * @param indent Indentation.
125      * @param newLines Newlines are inserted after each element if <tt>true</tt>.
126      * @param expandEmptyElem Empty elements - elements with no content - are expanded if <tt>true</tt>.
127      */
128     void marshal(java.io.Writer writer, int indentLevel, String indent, boolean newLines, boolean expandEmptyElem) throws ConverterException;
129 }
This page was automatically generated by Maven