001: /*
002: Copyright (c) 2006, Dennis M. Sosnoski
003: All rights reserved.
004:
005: Redistribution and use in source and binary forms, with or without modification,
006: are permitted provided that the following conditions are met:
007:
008: * Redistributions of source code must retain the above copyright notice, this
009: list of conditions and the following disclaimer.
010: * Redistributions in binary form must reproduce the above copyright notice,
011: this list of conditions and the following disclaimer in the documentation
012: and/or other materials provided with the distribution.
013: * Neither the name of JiBX nor the names of its contributors may be used
014: to endorse or promote products derived from this software without specific
015: prior written permission.
016:
017: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
018: ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
019: WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
020: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
021: ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
022: (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
023: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
024: ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
025: (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
026: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
027: */
028:
029: package org.jibx.typeinfo;
030:
031: /**
032: * Simple holder for method information.
033: */
034: public class MethodDescription {
035: /** Method name. */
036: private final String m_name;
037:
038: /** Access flags. */
039: private int m_accessFlags;
040:
041: /** Method type description. */
042: private TypeDescription m_resultType;
043:
044: /** Parameter type descriptions. */
045: private TypeDescription[] m_parameterTypes;
046:
047: /** Method documentation text. */
048: private String m_javaDoc;
049:
050: /** Method signature. */
051: private String m_signature;
052:
053: /**
054: * Constructor with all values.
055: *
056: * @param name
057: * @param access access flags
058: * @param type result type description (<code>null</code> if unspecified)
059: * @param params parameter type descriptions (<code>null</code> if
060: * unspecified)
061: * @param sig type signature (<code>null</code> if none)
062: * @param doc documentation string (<code>null</code> if none)
063: */
064: public MethodDescription(String name, int access,
065: TypeDescription type, TypeDescription[] params, String sig,
066: String doc) {
067: m_name = name;
068: m_accessFlags = access;
069: m_resultType = type;
070: m_parameterTypes = params;
071: m_signature = sig;
072: m_javaDoc = doc;
073: }
074:
075: /**
076: * Constructor with only basic information.
077: *
078: * @param name
079: * @param access access flags
080: * @param type result type description (<code>null</code> if none)
081: * @param params parameter type descriptions (<code>null</code> if
082: * unspecified)
083: */
084: public MethodDescription(String name, int access,
085: TypeDescription type, TypeDescription[] params) {
086: this (name, access, type, params, null, null);
087: }
088:
089: /**
090: * Get access flags.
091: *
092: * @return flags
093: */
094: public int getAccessFlags() {
095: return m_accessFlags;
096: }
097:
098: /**
099: * Set access flags.
100: *
101: * @param flags
102: */
103: public void setAccessFlags(int flags) {
104: m_accessFlags = flags;
105: }
106:
107: /**
108: * Get parameter types.
109: *
110: * @return types
111: */
112: public TypeDescription[] getParameterTypes() {
113: return m_parameterTypes;
114: }
115:
116: /**
117: * Set parameter types.
118: *
119: * @param types
120: */
121: public void setParameterTypes(TypeDescription[] types) {
122: m_parameterTypes = types;
123: }
124:
125: /**
126: * Get signature.
127: *
128: * @return signature
129: */
130: public String getSignature() {
131: return m_signature;
132: }
133:
134: /**
135: * Set signature.
136: *
137: * @param signature
138: */
139: public void setSignature(String signature) {
140: m_signature = signature;
141: }
142:
143: /**
144: * Get result type.
145: *
146: * @return type
147: */
148: public TypeDescription getResultType() {
149: return m_resultType;
150: }
151:
152: /**
153: * Set result type.
154: *
155: * @param type
156: */
157: public void setResultType(TypeDescription type) {
158: m_resultType = type;
159: }
160:
161: /**
162: * Get name.
163: *
164: * @return name
165: */
166: public String getName() {
167: return m_name;
168: }
169:
170: /**
171: * Get documentation text.
172: *
173: * @return doc
174: */
175: public String getJavaDoc() {
176: return m_javaDoc;
177: }
178:
179: /**
180: * Set documentation text.
181: *
182: * @param doc
183: */
184: public void setJavaDoc(String doc) {
185: m_javaDoc = doc;
186: }
187: }
|