/* * 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 * * * Portions Copyright 2006-2007 Sun Microsystems, Inc. */ package org.opends.server.api.plugin; /** * This class defines a data structure that holds information about * the result of processing by a plugin invoked during the Directory * Server startup process. */ public class StartupPluginResult { /** * A startup plugin result instance that indicates all processing * was successful. */ public static final StartupPluginResult SUCCESS = new StartupPluginResult(); // Indicates whether the startup plugin completed successfully. private final boolean completedSuccessfully; // Indicates whether the server should continue with the startup // process. private final boolean continueStartup; // The unique identifier for any error message generated by the // startup plugin. private final int errorID; // A human-readable message that explains any error that might have // occurred. private final String errorMessage; /** * Creates a new startup plugin result with the default settings. * In this case, it will indicate that the plugin completed * successfully, that the startup process should continue, and that * there is no error message. */ private StartupPluginResult() { this(true, true, 0, null); } /** * Creates a new startup plugin result with the provided * information. * * @param completedSuccessfully Indicates whether the startup * plugin completed its processing * successfully. * @param continueStartup Indicates whether the Directory * Server should continue with its * startup process. * @param errorID The unique ID assigned to any * error message that might have been * generated by the startup plugin. * @param errorMessage A human-readable error message * that explains any error that might * have occurred. */ public StartupPluginResult(boolean completedSuccessfully, boolean continueStartup, int errorID, String errorMessage) { this.completedSuccessfully = completedSuccessfully; this.continueStartup = continueStartup; this.errorID = errorID; this.errorMessage = errorMessage; } /** * Indicates whether the startup plugin completed its processing * successfully. * * @return true if the startup plugin completed its * processing successfully, or false if not. */ public boolean completedSuccessfully() { return completedSuccessfully; } /** * Indicates whether the Directory Server should continue with its * startup process. * * @return true if the Directory Server should * continue with its startup process, or false * if not. */ public boolean continueStartup() { return continueStartup; } /** * Retrieves the unique ID for the error message generated by the * startup plugin. * * @return The unique ID for the error message generated by the * startup plugin, or 0 if there is no error message. */ public int getErrorID() { return errorID; } /** * Retrieves the human-readable error message generated by the * startup plugin. * * @return The human-readable error message generated by the * startup plugin, or null if there is no * error message. */ public String getErrorMessage() { return errorMessage; } /** * Retrieves a string representation of this startup plugin result. * * @return A string representation of this startup plugin result. */ public String toString() { StringBuilder buffer = new StringBuilder(); toString(buffer); return buffer.toString(); } /** * Appends a string representation of this startup plugin result to * the provided buffer. * * @param buffer The buffer to which the information should be * appended. */ public void toString(StringBuilder buffer) { buffer.append("StartupPluginResult(completedSuccessfully="); buffer.append(completedSuccessfully); buffer.append(", continueStartup="); buffer.append(continueStartup); buffer.append(", errorID="); buffer.append(errorID); buffer.append(", errorMessage=\""); buffer.append(errorMessage); buffer.append("\")"); } }