001: package net.sourceforge.jaxor.parser;
002:
003: import java.util.ArrayList;
004: import java.util.List;
005:
006: /*
007: * User: Mike
008: * Date: Oct 21, 2002
009: * Time: 6:43:11 PM
010: */
011:
012: public class JMethod {
013: private String _type = "void";
014: private String _name;
015: private ParamList _params = new ParamList();
016: private String _body = "";
017: private String _throws;
018: private MethodModifier _modifier = MethodModifier.PUBLIC;
019: private Javadoc _javadoc = null;
020:
021: public String getType() {
022: return _type;
023: }
024:
025: public void setType(String type) {
026: _type = type;
027: }
028:
029: public void setName(String name) {
030: _name = name;
031: }
032:
033: public void setThrows(String t) {
034: _throws = t;
035: }
036:
037: public void setModifier(String mod) {
038: _modifier = new MethodModifier(mod);
039: }
040:
041: public void addJavadoc(Javadoc doc) {
042: _javadoc = doc;
043: }
044:
045: public List getInterfaceMethods() {
046: List all = new ArrayList();
047: if (_modifier.isInterfaceMethod())
048: all.add(getInterface());
049: return all;
050: }
051:
052: public String getInterface() {
053: return getBaseInterface() + ";";
054: }
055:
056: private String getThrows() {
057: if (_throws != null && _throws.trim().length() > 0)
058: return "throws " + _throws;
059: return "";
060: }
061:
062: public String getBaseInterface() {
063: StringBuffer buf = new StringBuffer();
064: if (_javadoc != null) {
065: buf.append(_javadoc.getBody());
066: buf.append("\n\t");
067: }
068: buf.append(_modifier);
069: buf.append(" ");
070: buf.append(_type);
071: buf.append(" ");
072: buf.append(_name);
073: buf.append("(");
074: buf.append(_params.getMethodParams());
075: buf.append(")");
076: buf.append(getThrows());
077:
078: return buf.toString();
079: }
080:
081: public void addCharacterData(String data) {
082: setBody(data);
083: }
084:
085: public void setBody(String s) {
086: _body += s;
087: }
088:
089: public String getBody() {
090: return _body;
091: }
092:
093: public void addParam(Param param) {
094: _params.add(param);
095: }
096:
097: public String getName() {
098: return _name;
099: }
100: }
|