/* * 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;
}
}