package de.persosim.simulator.cardobjects; import de.persosim.simulator.exception.AccessDeniedException; import de.persosim.simulator.exception.LifeCycleChangeException; /** * This interface describes objects, that have an ISO7816-conform life cycle. * * @author mboonk * */ public interface Iso7816LifeCycle { Iso7816LifeCycleState getLifeCycleState(); /** * Update the life cycle state of this object. * * @param state * the new life cycle state * @throws LifeCycleChangeException * if the desired state change is not allowed (due to ISO7816 * restrictions on the state machine or access conditions at the * discretion of the implementing class) * @throws AccessDeniedException */ void updateLifeCycleState(Iso7816LifeCycleState state) throws AccessDeniedException; }