KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > eclipse > emf > ecore > util > EObjectContainmentWithInverseEList


1 /**
2  * <copyright>
3  *
4  * Copyright (c) 2002-2004 IBM Corporation and others.
5  * All rights reserved. This program and the accompanying materials
6  * are made available under the terms of the Eclipse Public License v1.0
7  * which accompanies this distribution, and is available at
8  * http://www.eclipse.org/legal/epl-v10.html
9  *
10  * Contributors:
11  * IBM - Initial API and implementation
12  *
13  * </copyright>
14  *
15  * $Id: EObjectContainmentWithInverseEList.java,v 1.2 2005/06/08 06:20:10 nickb Exp $
16  */

17 package org.eclipse.emf.ecore.util;
18
19
20 import org.eclipse.emf.common.notify.Notification;
21 import org.eclipse.emf.ecore.InternalEObject;
22
23
24 public class EObjectContainmentWithInverseEList extends EObjectContainmentEList
25 {
26   public static class Unsettable extends EObjectContainmentWithInverseEList
27   {
28     protected boolean isSet;
29
30     public Unsettable(Class JavaDoc dataClass, InternalEObject owner, int featureID, int inverseFeatureID)
31     {
32       super(dataClass, owner, featureID, inverseFeatureID);
33     }
34
35     protected void didChange()
36     {
37       isSet = true;
38     }
39
40     public boolean isSet()
41     {
42       return isSet;
43     }
44
45     public void unset()
46     {
47       super.unset();
48       if (isNotificationRequired())
49       {
50         boolean oldIsSet = isSet;
51         isSet = false;
52         owner.eNotify(createNotification(Notification.UNSET, oldIsSet, false));
53       }
54       else
55       {
56         isSet = false;
57       }
58     }
59   }
60
61   protected final int inverseFeatureID;
62
63   public EObjectContainmentWithInverseEList
64     (Class JavaDoc dataClass, InternalEObject owner, int featureID, int inverseFeatureID)
65   {
66     super(dataClass, owner, featureID);
67     this.inverseFeatureID = inverseFeatureID;
68   }
69
70   protected boolean hasNavigableInverse()
71   {
72     return true;
73   }
74
75   public int getInverseFeatureID()
76   {
77     return inverseFeatureID;
78   }
79   
80   public Class JavaDoc getInverseFeatureClass()
81   {
82     return dataClass;
83   }
84 }
85
Popular Tags