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 java.util.List;
023:
024: import javax.swing.Icon;
025:
026: import org.netbeans.modules.soa.mapper.common.IMapperGroupNode;
027:
028: /**
029: * <p>
030: *
031: * Title: IMethoidNode </p> <p>
032: *
033: * Description: Generic interfaces describes the functionalities of a methoid
034: * node. IMethoidNode is the base interfaces for all methoid node to be added as
035: * a methoid to the mapper model. </p> <p>
036: *
037: * Copyright: Copyright (c) 2002 </p> <p>
038: *
039: * Company: </p>
040: *
041: * @author Un Seng Leong
042: * @created December 4, 2002
043: * @version 1.0
044: */
045: public interface IMethoidNode extends IMapperGroupNode {
046: /**
047: * The property name of the field node name changed.
048: */
049: public static final String NAME_CHANGED = "MethoidNode.Name";
050:
051: /**
052: * The property name of the field node type changed.
053: */
054: public static final String ICON_CHANGED = "MethoidNode.Icon";
055:
056: /**
057: * The property name of the field node tooltip changed.
058: */
059: public static final String TOOLTIP_CHANGED = "MethoidNode.ToolTip";
060:
061: public static final String METHOID_OBJECT_CHANGED = "MethoidNode.MethoidObject";
062:
063: /**
064: * Return the icon repersents this methoid node.
065: *
066: * @return the icon repersents this methoid node.
067: */
068: public Icon getIcon();
069:
070: /**
071: * Set the icon repersents this methoid node.
072: *
073: * @param icon icon
074: */
075: public void setIcon(Icon icon);
076:
077: /**
078: * Return the name of this methoid node.
079: *
080: * @return the name of this methoid node.
081: */
082: public String getMethoidName();
083:
084: /**
085: * Set the name of this methoid node.
086: *
087: * @param name methoid name
088: */
089: public void setMethoidName(String name);
090:
091: /**
092: * Return the text of this tooltip.
093: *
094: * @return the text of this tooltip.
095: */
096: public String getToolTipText();
097:
098: /**
099: * Set the tooptip text of this methoid node.
100: *
101: * @param tooltip the tooptip text of this methoid node.
102: */
103: public void setToolTipText(String tooltip);
104:
105: /**
106: * Return the data object if this methoid node.
107: *
108: * @return the data object if this methoid node.
109: */
110: public Object getMethoidObject();
111:
112: /**
113: * Find and return the methoid field node that repersents the specified
114: * field, or null if the node cannot be found.
115: *
116: * @param field the specifed field to be matched.
117: * @return the methoid field node that repersents the specified field.
118: */
119: public IFieldNode findNode(IField field);
120:
121: /**
122: * Return true if the specified field node is the name space field node of
123: * this methoid, false otherwise.
124: *
125: * @param fieldNode the field node to be matched.
126: * @return true if the specified field node is the name space
127: * field node of this methoid, false otherwise.
128: */
129: public boolean isNamespaceField(IFieldNode fieldNode);
130:
131: /**
132: * Retrun the name space field node of this methoid.
133: *
134: * @return the name space field node of this methoid.
135: */
136: public IFieldNode getNamespaceFieldNode();
137:
138: /**
139: * Returns the input field nodes of this methoid node
140: *
141: * @return The input field nodes of this methoid node.
142: */
143: public List getInputFieldNodes();
144:
145: /**
146: * Returns the output field nodes of this methoid node
147: *
148: * @return the output field nodes of this methoid node
149: */
150: public List getOutputFieldNodes();
151:
152: /**
153: * Add and return the new input child of this methoid.
154: * This only applies to methoid nodes of accumulating methoids.
155: *
156: * @return the new input child of this methoid.
157: */
158: public IFieldNode getNextNewNode();
159: }
|