Skip to content
ChildEntityImpl.java 1.12 KiB
Newer Older
package it.inaf.oats.ia2.tapschemamanager.datalayer;

import it.inaf.oats.ia2.tapschemamanager.contract.ChildEntity;
import it.inaf.oats.ia2.tapschemamanager.contract.EntitiesContainer;
import it.inaf.oats.ia2.tapschemamanager.contract.Status;
import it.inaf.oats.ia2.tapschemamanager.contract.TapSchema;

/**
 * The main implementation of {@link ChildEntity}.
 * 
 * @author Sonia Zorba {@literal <zorba at oats.inaf.it>}
 */
public abstract class ChildEntityImpl<T extends EntitiesContainer> extends TapSchemaEntityImpl implements ChildEntity<T> {
    
    private static final long serialVersionUID = -8941059435527998685L;

    private Status status;

    protected ChildEntityImpl() {
        // for serialization
        super();
    }
    
    public ChildEntityImpl(DBWrapper dbWrapper, TapSchema tapSchema) {
        super(dbWrapper, tapSchema);
    }

    @Override
    public Status getStatus() {
        return status;
    }

    @Override
    public void setStatus(Status status) {
        this.status = status;
    }
    
    @Override
    public void save() {
        setStatus(Status.ADDED_PERSISTED);
        super.save();
    }
}