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.metamodel.infrastructure.coreinfrastructure;
043:
044: import org.netbeans.modules.uml.core.metamodel.core.constructs.IEnumerationLiteral;
045: import org.netbeans.modules.uml.core.support.umlsupport.IResultCell;
046:
047: public interface IClassifierFeatureEventsSink {
048: /**
049: * Fired whenever a feature is about to be added to a classifier.
050: */
051: public void onFeaturePreAdded(IClassifier classifier,
052: IFeature feature, IResultCell cell);
053:
054: /**
055: * Fired whenever feature was just added to a classifier.
056: */
057: public void onFeatureAdded(IClassifier classifier,
058: IFeature feature, IResultCell cell);
059:
060: /**
061: * Fired whenever EnumerationLiteral was just added to a classifier.
062: */
063: public void onEnumerationLiteralPreAdded(IClassifier classifier,
064: IEnumerationLiteral enumLit, IResultCell cell);
065:
066: /**
067: * Fired whenever EnumerationLiteral was just added to a classifier.
068: */
069: public void onEnumerationLiteralAdded(IClassifier classifier,
070: IEnumerationLiteral enumLit, IResultCell cell);
071:
072: /**
073: * Fired whenever a feature is about to be removed from a classifier.
074: */
075: public void onFeaturePreRemoved(IClassifier classifier,
076: IFeature feature, IResultCell cell);
077:
078: /**
079: * Fired whenever feature was just removed from a classifier.
080: */
081: public void onFeatureRemoved(IClassifier classifier,
082: IFeature feature, IResultCell cell);
083:
084: /**
085: * Fired whenever a feature is about to be moved from a classifier to another classifier.
086: */
087: public void onFeaturePreMoved(IClassifier classifier,
088: IFeature feature, IResultCell cell);
089:
090: /**
091: * Fired whenever feature was just moved from a classifier to another Classifier.
092: */
093: public void onFeatureMoved(IClassifier classifier,
094: IFeature feature, IResultCell cell);
095:
096: /**
097: * Fired whenever a feature is about to be duplicated then added from one classifier to another classifier.
098: */
099: public void onFeaturePreDuplicatedToClassifier(
100: IClassifier classifier, IFeature feature, IResultCell cell);
101:
102: /**
103: * Fired whenever feature was just duplicated and added from one classifier to another Classifier.
104: */
105: public void onFeatureDuplicatedToClassifier(
106: IClassifier pOldClassifier, IFeature pOldFeature,
107: IClassifier pNewClassifier, IFeature pNewFeature,
108: IResultCell cell);
109:
110: /**
111: * Fired whenever the abstract flag on the Classifier is about to be modified.
112: */
113: public void onPreAbstractModified(IClassifier feature,
114: boolean proposedValue, IResultCell cell);
115:
116: /**
117: * Fired whenever the abstract flag on the Classifier has been modified.
118: */
119: public void onAbstractModified(IClassifier feature, IResultCell cell);
120:
121: /**
122: * Fired whenever the leaf flag on the Classifier is about to be modified.
123: */
124: public void onPreLeafModified(IClassifier feature,
125: boolean proposedValue, IResultCell cell);
126:
127: /**
128: * Fired whenever the leaf flag on the Classifier has been modified.
129: */
130: public void onLeafModified(IClassifier feature, IResultCell cell);
131:
132: /**
133: * Fired whenever the transient flag on the Classifier is about to be modified.
134: */
135: public void onPreTransientModified(IClassifier feature,
136: boolean proposedValue, IResultCell cell);
137:
138: /**
139: * Fired whenever the transient flag on the Classifier has been modified.
140: */
141: public void onTransientModified(IClassifier feature,
142: IResultCell cell);
143:
144: /**
145: * Fired whenever a new template parameter ( ParameterableElemnet ) is about to be added to the Classifier.
146: */
147: public void onPreTemplateParameterAdded(IClassifier pClassifier,
148: IParameterableElement pParam, IResultCell cell);
149:
150: /**
151: * Fired whenever a new template parameter ( ParameterableElemnet ) is added to the Classifier.
152: */
153: public void onTemplateParameterAdded(IClassifier pClassifier,
154: IParameterableElement pParam, IResultCell cell);
155:
156: /**
157: * Fired whenever a new template parameter ( ParameterableElemnet ) is about to be added to the Classifier.
158: */
159: public void onPreTemplateParameterRemoved(IClassifier pClassifier,
160: IParameterableElement pParam, IResultCell cell);
161:
162: /**
163: * Fired whenever a new template parameter ( ParameterableElemnet ) is added to the Classifier.
164: */
165: public void onTemplateParameterRemoved(IClassifier pClassifier,
166: IParameterableElement pParam, IResultCell cell);
167: }
|