001: /*
002: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
003: *
004: * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
005: *
006: * The contents of this file are subject to the terms of either the GNU
007: * General Public License Version 2 only ("GPL") or the Common
008: * Development and Distribution License("CDDL") (collectively, the
009: * "License"). You may not use this file except in compliance with the
010: * License. You can obtain a copy of the License at
011: * http://www.netbeans.org/cddl-gplv2.html
012: * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
013: * specific language governing permissions and limitations under the
014: * License. When distributing the software, include this License Header
015: * Notice in each file and include the License file at
016: * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
017: * particular file as subject to the "Classpath" exception as provided
018: * by Sun in the GPL Version 2 section of the License file that
019: * accompanied this code. If applicable, add the following below the
020: * License Header, with the fields enclosed by brackets [] replaced by
021: * your own identifying information:
022: * "Portions Copyrighted [year] [name of copyright owner]"
023: *
024: * Contributor(s):
025: *
026: * The Original Software is NetBeans. The Initial Developer of the Original
027: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
028: * Microsystems, Inc. All Rights Reserved.
029: *
030: * If you wish your version of this file to be governed by only the CDDL
031: * or only the GPL Version 2, indicate your decision by adding
032: * "[Contributor] elects to include this software in this distribution
033: * under the [CDDL or GPL Version 2] license." If you do not indicate a
034: * single choice of license, a recipient has the option to distribute
035: * your version of this file under either the CDDL, the GPL Version 2 or
036: * to extend the choice of license to its licensees as provided above.
037: * However, if you add GPL Version 2 code and therefore, elected the GPL
038: * Version 2 license, then the option applies only if the new code is
039: * made subject to such option by the copyright holder.
040: */
041:
042: package org.netbeans.modules.uml.core.requirementsframework;
043:
044: import org.openide.nodes.Node;
045:
046: import org.netbeans.modules.uml.core.support.umlutils.ETList;
047:
048: /*
049: * IRequirement.java
050: *
051: * Created on June 24, 2004, 1:30 PM
052: */
053:
054: /**
055: *
056: * @author Trey Spiva
057: */
058: public interface IRequirement extends Node.Cookie {
059: /** A category contains a group of requirements */
060: public boolean isCategory();
061:
062: /** A category contains a group of requirements" */
063: public void setIsCategory(boolean newVal);
064:
065: /** The text of the requirement" */
066: public String getDescription();
067:
068: /** The text of the requirement" */
069: public void setDescription(String newVal);
070:
071: /** property Requirements" */
072: public ETList<IRequirement> getRequirements();
073:
074: /** property Requirements" */
075: public void setRequirements(ETList<IRequirement> newVal);
076:
077: /** property Satisfiers" */
078: public ETList<ISatisfier> getSatisfiers();
079:
080: /** property Satisfiers" */
081: public void setSatisfiers(ETList<ISatisfier> newVal);
082:
083: /** property Name" */
084: public String getName();
085:
086: /** property Name" */
087: public void setName(String newVal);
088:
089: /** property ID" */
090: public String getID();
091:
092: /** property ID" */
093: public void setID(String newVal);
094:
095: /** property Type" */
096: public String getType();
097:
098: /** property Type" */
099: public void setType(String newVal);
100:
101: /** property ModName" */
102: public String getModName();
103:
104: /** property ModName" */
105: public void setModName(String newVal);
106:
107: /** getSubRequirements" */
108: public ETList<IRequirement> getSubRequirements(
109: IRequirementSource pRequirementSource)
110: throws RequirementsException;
111:
112: /** property ProjectName */
113: public String getProjectName();
114:
115: /** property ProjectName" */
116: public void setProjectName(String newVal);
117:
118: /** property ProviderID" */
119: public String getProviderID();
120:
121: /** property ProviderID" */
122: public void setProviderID(String newVal);
123:
124: /** property SourceID" */
125: public String getSourceID();
126:
127: /** property SourceID" */
128: public void setSourceID(String newVal);
129:
130: /** method AddSatisfier */
131: public void addSatisfier(ISatisfier pSatisfier)
132: throws RequirementsException;
133:
134: /** method RemoveSatisfier */
135: public void removeSatisfier(ISatisfier pSatisfier)
136: throws RequirementsException;
137:
138: /** Checks if the node can participate in a drag operation. */
139: public boolean isAllowedToDrag();
140: }
|