blob: 3ffacd0c3fc2fe2843a66773d37e186438788e91 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.slider.core.main;
/*
* Common Exit codes
* <p>
* Exit codes from 64 up are application specific.
* <p>
* Many of the exit codes are designed to resemble HTTP error codes,
* squashed into a single byte. e.g 44 , "not found" is the equivalent
* of 404
* <pre>
* 0-10: general command issues
* 30-39: equivalent to the 3XX responses, where those responses are
* considered errors by the application.
* 40-49: request-related errors
* 50-59: server-side problems. These may be triggered by the request.
* 64- : application specific error codes
* </pre>
*
*
*/
public interface LauncherExitCodes {
/**
* 0: success
*/
int EXIT_SUCCESS = 0;
/**
* -1: generic "false" response. The operation worked but
* the result was not true
*/
int EXIT_FALSE = -1;
/**
* Exit code when a client requested service termination: {@value}
*/
int EXIT_CLIENT_INITIATED_SHUTDOWN = 1;
/**
* Exit code when targets could not be launched: {@value}
*/
int EXIT_TASK_LAUNCH_FAILURE = 2;
/**
* Exit code when a control-C, kill -3, signal was picked up: {@value}
*/
int EXIT_INTERRUPTED = 3;
/**
* Exit code when a usage message was printed: {@value}
*/
int EXIT_USAGE = 4;
/**
* Exit code when something happened but we can't be specific: {@value}
*/
int EXIT_OTHER_FAILURE = 5;
/**
* Exit code on connectivity problems: {@value}
*/
int EXIT_MOVED = 31;
/**
* found: {@value}.
* <p>
* This is low value as in HTTP it is normally a success/redirect;
* whereas on the command line 0 is the sole success code.
* <p>
* <code>302 Found</code>
*/
int EXIT_FOUND = 32;
/**
* Exit code on a request where the destination has not changed
* and (somehow) the command specified that this is an error.
* That is, this exit code is somehow different from a "success"
* : {@value}
* <p>
* <code>304 Not Modified </code>
*/
int EXIT_NOT_MODIFIED = 34;
/**
* Exit code when the command line doesn't parse: {@value}, or
* when it is otherwise invalid.
* <p>
* <code>400 BAD REQUEST</code>
*/
int EXIT_COMMAND_ARGUMENT_ERROR = 40;
/**
* The request requires user authentication: {@value}
* <p>
* <code>401 Unauthorized</code>
*/
int EXIT_UNAUTHORIZE = 41;
/**
* Forbidden action: {@value}
* <p>
* <code>403: Forbidden</code>
*/
int EXIT_FORBIDDEN = 43;
/**
* Something was not found: {@value}
* <p>
* <code>404: NOT FOUND</code>
*/
int EXIT_NOT_FOUND = 44;
/**
* The operation is not allowed: {@value}
* <p>
* <code>405: NOT ALLOWED</code>
*/
int EXIT_OPERATION_NOT_ALLOWED = 45;
/**
* The command is somehow not acceptable: {@value}
* <p>
* <code>406: NOT ACCEPTABLE</code>
*/
int EXIT_NOT_ACCEPTABLE = 46;
/**
* Exit code on connectivity problems: {@value}
* <p>
* <code>408: Request Timeout</code>
*/
int EXIT_CONNECTIVITY_PROBLEM = 48;
/**
* The request could not be completed due to a conflict with the current
* state of the resource. {@value}
* <p>
* <code>409: conflict</code>
*/
int EXIT_CONFLICT = 49;
/**
* internal error: {@value}
* <p>
* <code>500 Internal Server Error</code>
*/
int EXIT_INTERNAL_ERROR = 50;
/**
* Unimplemented feature: {@value}
* <p>
* <code>501: Not Implemented</code>
*/
int EXIT_UNIMPLEMENTED = 51;
/**
* Service Unavailable; it may be available later: {@value}
* <p>
* <code>503 Service Unavailable</code>
*/
int EXIT_SERVICE_UNAVAILABLE = 53;
/**
* The application does not support, or refuses to support this version: {@value}.
* If raised, this is expected to be raised server-side and likely due
* to client/server version incompatibilities.
* <p>
* <code> 505: Version Not Supported</code>
*/
int EXIT_UNSUPPORTED_VERSION = 55;
/**
* Exit code when an exception was thrown from the service: {@value}
* <p>
* <code>5XX</code>
*/
int EXIT_EXCEPTION_THROWN = 56;
}