/* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at * trunk/opends/resource/legal-notices/OpenDS.LICENSE * or https://OpenDS.dev.java.net/OpenDS.LICENSE. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable, * add the following below this CDDL HEADER, with the fields enclosed * by brackets "[]" replaced with your own identifying information: * Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END * * * Copyright 2013 ForgeRock AS */ package org.opends.server.tools.upgrade; import javax.security.auth.callback.ConfirmationCallback; /** *

* Underlying security services instantiate and pass a * VerificationCallback to the handle method of a * CallbackHandler to verify user's options. */ public class VerificationCallback extends ConfirmationCallback { /** * The serial version UID. */ private static final long serialVersionUID = 1L; /** * An identifier of a task which need a user interaction. */ public static final int NEED_USER_INTERACTION = 0; /** * An identifier of a task which require long time to complete. */ public static final int TAKE_LONG_TIME_TO_COMPLETE = 1; /** * An identifier of a task which cannot be reverted once started. */ public static final int CANNOT_BE_REVERTED = 2; /** * The identifier of ignore errors mode. */ public static final int IGNORE_ERRORS_MODE = 5; /** * The identifier of mandatory user interaction. */ public static final int MANDATORY_USER_INTERACTION = 6; // The required options for the verification callback. private int[] requiredOptions; /** * Construct a verification callback, which checks user options selected with * required options needed by the process. * * @param messageType * The type of the message. * @param optionType * The type of the option. * @param defaultOption * The default selected option. * @param requiredOptions * The required option. */ public VerificationCallback(int messageType, int optionType, int defaultOption, int... requiredOptions) { super(messageType, optionType, defaultOption); this.requiredOptions = requiredOptions; } /** * Returns options required in user's options. * * @return The options required which need to be verified. */ public int[] getRequiredOptions() { return requiredOptions; } /** * Sets the required options which must be present in the user's options. * * @param requiredOptions * The options required which need to be verified. */ public void setRequiredOptions(final int... requiredOptions) { this.requiredOptions = requiredOptions; } }