/** * Propagate existence of this object to the specified object. This overrides the base class to * set the container. * * @param container Object to contain the new object. * @exception IllegalActionException If the object cannot be cloned. * @return A new object of the same class and name as this one. */ protected NamedObj _propagateExistence(NamedObj container) throws IllegalActionException { try { ComponentRelation newObject = (ComponentRelation) super._propagateExistence(container); // FindBugs warns that the cast of container is // unchecked. if (!(container instanceof CompositeEntity)) { throw new InternalErrorException(container + " is not a CompositeEntity."); } else { newObject.setContainer((CompositeEntity) container); } return newObject; } catch (NameDuplicationException e) { throw new InternalErrorException(e); } }
/** * Clone the object into the specified workspace. The new object is <i>not</i> added to the * directory of that workspace (you must do this yourself if you want it there). The result is a * new relation with no links and no container. * * @param workspace The workspace for the cloned object. * @exception CloneNotSupportedException If one or more of the attributes cannot be cloned. * @return A new ComponentRelation. */ public Object clone(Workspace workspace) throws CloneNotSupportedException { ComponentRelation newObject = (ComponentRelation) super.clone(workspace); newObject._container = null; return newObject; }