Newer
Older
package it.inaf.oats.ia2.tapschemamanager.api.contract;
/**
* A {@link TapSchemaEntity} that can be a child of an
* {@link EntitiesContainer}.
*
* @author Sonia Zorba {@literal <zorba at oats.inaf.it>}
*/
public interface ChildEntity<T extends EntitiesContainer> extends TapSchemaEntity {
/**
* Each child has a name that is univocal for a given parent, in this way
* the parent can search a child by name.
*/
String getName();
/**
* The {@link EntitiesContainer} that owns the {@link ChildEntity}.
*/
T getParent();
/**
* The persistence status of the {@link ChildEntity}.
*/
Status getStatus();
void setStatus(Status status);
}