/** * Saves the last response under the named responseId. * * @param response The response to save. A null value will delete any saved response. */ public void saveLastResponse(DialogResponse<T> response) { if (saveResponseId != null && (response == null || !response.isExcluded())) { int index = response == null ? -1 : responses.indexOf(response); PropertyUtil.saveValue(SAVED_RESPONSE_PROP_NAME, saveResponseId, false, index < 0 ? null : Integer.toString(index)); } }
/** * Returns the last saved response for this dialog. * * @return The response, or null if none found. */ public DialogResponse<T> getLastResponse() { String saved = saveResponseId == null ? null : PropertyUtil.getValue(SAVED_RESPONSE_PROP_NAME, saveResponseId); int i = NumberUtils.toInt(saved, -1); DialogResponse<T> response = i < 0 || i >= responses.size() ? null : responses.get(i); return response == null || response.isExcluded() ? null : response; }