package com.netifera.platform.api.model; /** * IShadowEntity instances are copies of model entities which are stored in * user interface structures such as trees, graphs, and lists. Every shadow * entity instance is associated with exactly one instance of a structure * context object. * * @see com.netifera.platform.api.model.IStructureContext * */ public interface IShadowEntity extends IEntity { /** * Return the structure context that this shadow entity belongs to. * * @see com.netifera.platform.api.model.IStructureContext * @return The structure context instance associated with this shadow entity. */ IStructureContext getStructureContext(); /** * A string description of this entity type. Each implementation of * IEntity is identified by a unique string. For example, the type string * of ProbeEntity is "probe". * @return The string description of this entity type. */ String getTypeName(); /** * Access the entity this IShadowEntity was cloned from. * @return The real entity associated with this shadow entity. */ IEntity getRealEntity(); /** * Search the structure context associated with this entity for the specified * entity. If found, the shadow entity copy from the same structure context will * be returned. * * @return The shadow entity copy of the given entity from the structure context * associated with this shadow entity. * * @see com.netifera.platform.api.model.IStructureContext */ IShadowEntity searchEntity(IEntity entity); /** * Dispose this shadow entity, remove it from the synchronization list * in the original entity. */ void dispose(); long getViewId(); }