001: /*
002: * The contents of this file are subject to the terms of the Common Development
003: * and Distribution License (the License). You may not use this file except in
004: * compliance with the License.
005: *
006: * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
007: * or http://www.netbeans.org/cddl.txt.
008: *
009: * When distributing Covered Code, include this CDDL Header Notice in each file
010: * and include the License file at http://www.netbeans.org/cddl.txt.
011: * If applicable, add the following below the CDDL Header, with the fields
012: * enclosed by brackets [] replaced by your own identifying information:
013: * "Portions Copyrighted [year] [name of copyright owner]"
014: *
015: * The Original Software is NetBeans. The Initial Developer of the Original
016: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
017: * Microsystems, Inc. All Rights Reserved.
018: */
019:
020: package org.netbeans.modules.soa.mapper.common.basicmapper.methoid;
021:
022: import org.netbeans.modules.soa.mapper.common.basicmapper.literal.ILiteralUpdater;
023:
024: /**
025: * <p>
026: *
027: * Title: IField </p> <p>
028: *
029: * Description: Generic interface describes the basic functionality of a methoid
030: * field. IField is the base interface holding meta data of methoid field, to
031: * allow IFieldNode to be constructed and added to IMethoidNode. Subclass should
032: * fire property change on the name, type and tooltip properties once changed.
033: * </p> <p>
034: *
035: * Copyright: Copyright (c) 2002 </p> <p>
036: *
037: * Company: </p>
038: *
039: * @author Un Seng Leong
040: * @created December 4, 2002
041: * @version 1.0
042: */
043: public interface IField {
044:
045: /**
046: * Return the name of this methoid field.
047: *
048: * @return the name of this methoid field.
049: */
050: public String getName();
051:
052: /**
053: * Return the type of this methoid field.
054: *
055: * @return the type of this methoid field.
056: */
057: public String getType();
058:
059: /**
060: * Return the tooltip text of this methoid field.
061: *
062: * @return the tooltip text of this methoid field.
063: */
064: public String getToolTipText();
065:
066: /**
067: * Return the methoid field in another object repersentation.
068: *
069: * @return the methoid field in another object repersentation.
070: */
071: public Object getData();
072:
073: /**
074: * Return true if this methoid field is a input field, false otherwise.
075: *
076: * @return true if this methoid field is a input field, false otherwise.
077: */
078: public boolean isInput();
079:
080: /**
081: * Return true if this methoid field is a output field, false otherwise.
082: *
083: * @return true if this methoid field is a output field, false otherwise.
084: */
085: public boolean isOutput();
086:
087: /**
088: * Return any optional literal updater for the field.
089: * If no literal updater exists for the field (null literal updater), then
090: * the field does not support being connected-to/represented-by literals.
091: * Otherwise, the field will support literals.
092: *
093: * @return the literal updater, or null if none exists
094: */
095: public ILiteralUpdater getLiteralUpdater();
096:
097: /**
098: * Sets the optional literal updater for the field.
099: *
100: * @param literalUpdater the literal updater
101: *
102: */
103: public void setLiteralUpdater(ILiteralUpdater literalUpdater);
104:
105: /**
106: * Sets the name of this methoid field.
107: *
108: * @param name the field name
109: */
110: public void setName(String name);
111:
112: /**
113: * Sets the type of this methoid field.
114: *
115: * @param type the field type
116: */
117: public void setType(String type);
118:
119: /**
120: * Sets the tooltip text of this methoid field.
121: *
122: * @param tooltip the field tooltip
123: */
124: public void setToolTipText(String tooltip);
125:
126: /**
127: * Sets the methoid field in another object repersentation.
128: *
129: * @param data field data
130: */
131: public void setData(Object data);
132:
133: /**
134: * Sets whether this methoid field is a input field.
135: *
136: * @param value true if the field is an input field
137: */
138: public void setInput(boolean value);
139:
140: /**
141: * Sets whether this methoid field is a output field.
142: *
143: * @param value true if the field is an output field
144: */
145: public void setOutput(boolean value);
146: }
|