package org.apache.kerberos.kerb.client.preauth; import java.util.ArrayList; import java.util.List; public class UserResponser { private List<UserResponseItem> items = new ArrayList<UserResponseItem>(1); /** * Let customize an interface like CMD or WEB UI to selectively respond all the questions */ public void respondQuestions() { // TODO } public UserResponseItem findQuestion(String question) { for (UserResponseItem ri : items) { if (ri.question.equals(question)) { return ri; } } return null; } public void askQuestion(String question, String challenge) { UserResponseItem ri = findQuestion(question); if (ri == null) { items.add(new UserResponseItem(question, challenge)); } else { ri.challenge = challenge; } } public String getChallenge(String question) { UserResponseItem ri = findQuestion(question); if (ri != null) { return ri.challenge; } return null; } public void setAnswer(String question, String answer) { UserResponseItem ri = findQuestion(question); if (ri == null) { throw new IllegalArgumentException("Question isn't exist for the answer"); } ri.answer = answer; } public String getAnswer(String question) { UserResponseItem ri = findQuestion(question); if (ri != null) { return ri.answer; } return null; } }