If the feature is {@link ETypedElement#isMany() many-valued}, the new value must be an {@link EList}and each object in that list must be {@link EClassifier#isInstance an instance of} the feature's {@link ETypedElement#getEType() type}; the existing contents are cleared and the contents of the new value are added. However, if the new value is the content list itself, or is modified as a side effect of modifying the content list (i.e., if it is a view on the content list), the behavior is undefined and will likely result in simply clearing the list. If the feature is single-valued, the new value directly must be an instance of the feature's type and it becomes the new value of the feature of the object. If the feature is {@link EStructuralFeature#isUnsettable() unsettable}, the modeled state becomes set; otherwise, the feature may still not considered {@link #eIsSet set} if the new value is the same as the default. @param feature the feature of the value to set. @exception IllegalArgumentException if the feature is not one the {@link #eClass meta class}'s {@link EClass#getEAllStructuralFeatures features}, or it isn't {@link EStructuralFeature#isChangeable changeable}. @exception ClassCastException if there is a type conflict. @exception ArrayStoreException if there is a type conflict. @see #eUnset(EStructuralFeature) @see #eIsSet(EStructuralFeature) @see #eGet(EStructuralFeature,boolean) @ignore @model @generated
|
|
|
|
|
|