1 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 EObjectContainmentEList extends EObjectEList 25 { 26 public static class Unsettable extends EObjectContainmentEList 27 { 28 protected boolean isSet; 29 30 public Unsettable(Class dataClass, InternalEObject owner, int featureID) 31 { 32 super(dataClass, owner, featureID); 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 public EObjectContainmentEList(Class dataClass, InternalEObject owner, int featureID) 62 { 63 super(dataClass, owner, featureID); 64 } 65 66 protected boolean hasInverse() 67 { 68 return true; 69 } 70 71 protected boolean hasNavigableInverse() 72 { 73 return false; 74 } 75 76 protected boolean isContainment() 77 { 78 return true; 79 } 80 } 81 | Popular Tags |