/** * Obtiene el estado relacionado a la cerradura, esto es, si el estado ya se encuentra en el * automata retorna dicho estado, caso contrario crea un nuevo estado. * * @param cerradura Cerradura de la cual se desea obtener el estado asociado. * @return Estado asociado a la cerradura */ private Estado getState(Cerradura cerradura) { Estado state = null; // Si el estado aun no esta en el automata if (!automata.containState(cerradura.getValue())) { state = new Estado(cerradura.getValue()); state.setAcceptation(cerradura.isAcceptation()); state.setInit(cerradura.isInit()); } else { // Si el estado ya esta en el automata state = automata.getState(cerradura.getValue()); } return state; }