package com.hwlcn.ldap.ldap.sdk; import java.io.Serializable; import java.util.HashMap; import com.hwlcn.core.annotation.NotMutable; import com.hwlcn.core.annotation.ThreadSafety; import com.hwlcn.ldap.util.ThreadSafetyLevel; import static com.hwlcn.ldap.ldap.sdk.LDAPMessages.*; /** * This class defines a number of constants associated with LDAP result codes. * The {@code ResultCode} constant values defined in this class are immutable, * and at most one result code object will ever be created for a given int * value, so it is acceptable to compare result codes with either the * {@link com.hwlcn.ldap.ldap.sdk.ResultCode#equals} method or the "{@code ==}" operator. *<BR><BR> * The result codes that are currently defined include: * <BR> * <CENTER> * <TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="50%"> * <TR> * <TH ALIGN="LEFT">Name</TH> * <TH ALIGN="RIGHT">Integer Value</TH> * </TR> * <TR> * <TD ALIGN="LEFT">SUCCESS</TD> * <TD ALIGN="RIGHT">0</TD> * </TR> * <TR> * <TD ALIGN="LEFT">OPERATIONS_ERROR</TD> * <TD ALIGN="RIGHT">1</TD> * </TR> * <TR> * <TD ALIGN="LEFT">PROTOCOL_ERROR</TD> * <TD ALIGN="RIGHT">2</TD> * </TR> * <TR> * <TD ALIGN="LEFT">TIME_LIMIT_EXCEEDED</TD> * <TD ALIGN="RIGHT">3</TD> * </TR> * <TR> * <TD ALIGN="LEFT">SIZE_LIMIT_EXCEEDED</TD> * <TD ALIGN="RIGHT">4</TD> * </TR> * <TR> * <TD ALIGN="LEFT">COMPARE_FALSE</TD> * <TD ALIGN="RIGHT">5</TD> * </TR> * <TR> * <TD ALIGN="LEFT">COMPARE_TRUE</TD> * <TD ALIGN="RIGHT">6</TD> * </TR> * <TR> * <TD ALIGN="LEFT">AUTH_METHOD_NOT_SUPPORTED</TD> * <TD ALIGN="RIGHT">7</TD> * </TR> * <TR> * <TD ALIGN="LEFT">STRONG_AUTH_REQUIRED</TD> * <TD ALIGN="RIGHT">8</TD> * </TR> * <TR> * <TD ALIGN="LEFT">REFERRAL</TD> * <TD ALIGN="RIGHT">10</TD> * </TR> * <TR> * <TD ALIGN="LEFT">ADMIN_LIMIT_EXCEEDED</TD> * <TD ALIGN="RIGHT">11</TD> * </TR> * <TR> * <TD ALIGN="LEFT">UNAVAILABLE_CRITICAL_EXTENSION</TD> * <TD ALIGN="RIGHT">12</TD> * </TR> * <TR> * <TD ALIGN="LEFT">CONFIDENTIALITY_REQUIRED</TD> * <TD ALIGN="RIGHT">13</TD> * </TR> * <TR> * <TD ALIGN="LEFT">SASL_BIND_IN_PROGRESS</TD> * <TD ALIGN="RIGHT">14</TD> * </TR> * <TR> * <TD ALIGN="LEFT">NO_SUCH_ATTRIBUTE</TD> * <TD ALIGN="RIGHT">16</TD> * </TR> * <TR> * <TD ALIGN="LEFT">UNDEFINED_ATTRIBUTE_TYPE</TD> * <TD ALIGN="RIGHT">17</TD> * </TR> * <TR> * <TD ALIGN="LEFT">INAPPROPRIATE_MATCHING</TD> * <TD ALIGN="RIGHT">18</TD> * </TR> * <TR> * <TD ALIGN="LEFT">CONSTRAINT_VIOLATION</TD> * <TD ALIGN="RIGHT">19</TD> * </TR> * <TR> * <TD ALIGN="LEFT">ATTRIBUTE_OR_VALUE_EXISTS</TD> * <TD ALIGN="RIGHT">20</TD> * </TR> * <TR> * <TD ALIGN="LEFT">INVALID_ATTRIBUTE_SYNTAX</TD> * <TD ALIGN="RIGHT">21</TD> * </TR> * <TR> * <TD ALIGN="LEFT">NO_SUCH_OBJECT</TD> * <TD ALIGN="RIGHT">32</TD> * </TR> * <TR> * <TD ALIGN="LEFT">ALIAS_PROBLEM</TD> * <TD ALIGN="RIGHT">33</TD> * </TR> * <TR> * <TD ALIGN="LEFT">INVALID_DN_SYNTAX</TD> * <TD ALIGN="RIGHT">34</TD> * </TR> * <TR> * <TD ALIGN="LEFT">ALIAS_DEREFERENCING_PROBLEM</TD> * <TD ALIGN="RIGHT">36</TD> * </TR> * <TR> * <TD ALIGN="LEFT">INAPPROPRIATE_AUTHENTICATION</TD> * <TD ALIGN="RIGHT">48</TD> * </TR> * <TR> * <TD ALIGN="LEFT">INVALID_CREDENTIALS</TD> * <TD ALIGN="RIGHT">49</TD> * </TR> * <TR> * <TD ALIGN="LEFT">INSUFFICIENT_ACCESS_RIGHTS</TD> * <TD ALIGN="RIGHT">50</TD> * </TR> * <TR> * <TD ALIGN="LEFT">BUSY</TD> * <TD ALIGN="RIGHT">51</TD> * </TR> * <TR> * <TD ALIGN="LEFT">UNAVAILABLE</TD> * <TD ALIGN="RIGHT">52</TD> * </TR> * <TR> * <TD ALIGN="LEFT">UNWILLING_TO_PERFORM</TD> * <TD ALIGN="RIGHT">53</TD> * </TR> * <TR> * <TD ALIGN="LEFT">LOOP-DETECT</TD> * <TD ALIGN="RIGHT">54</TD> * </TR> * <TR> * <TD ALIGN="LEFT">SORT_CONTROL_MISSING</TD> * <TD ALIGN="RIGHT">60</TD> * </TR> * <TR> * <TD ALIGN="LEFT">OFFSET_RANGE_ERROR</TD> * <TD ALIGN="RIGHT">61</TD> * </TR> * <TR> * <TD ALIGN="LEFT">NAMING_VIOLATION</TD> * <TD ALIGN="RIGHT">64</TD> * </TR> * <TR> * <TD ALIGN="LEFT">OBJECT_CLASS_VIOLATION</TD> * <TD ALIGN="RIGHT">65</TD> * </TR> * <TR> * <TD ALIGN="LEFT">NOT_ALLOWED_ON_NONLEAF</TD> * <TD ALIGN="RIGHT">66</TD> * </TR> * <TR> * <TD ALIGN="LEFT">NOT_ALLOWED_ON_NONLEAF</TD> * <TD ALIGN="RIGHT">66</TD> * </TR> * <TR> * <TD ALIGN="LEFT">NOT_ALLOWED_ON_RDN</TD> * <TD ALIGN="RIGHT">67</TD> * </TR> * <TR> * <TD ALIGN="LEFT">ENTRY_ALREADY_EXISTS</TD> * <TD ALIGN="RIGHT">68</TD> * </TR> * <TR> * <TD ALIGN="LEFT">OBJECT_CLASS_MODS_PROHIBITED</TD> * <TD ALIGN="RIGHT">69</TD> * </TR> * <TR> * <TD ALIGN="LEFT">AFFECTS_MULTIPLE_DSAS</TD> * <TD ALIGN="RIGHT">71</TD> * </TR> * <TR> * <TD ALIGN="LEFT">VIRTUAL_LIST_VIEW_ERROR</TD> * <TD ALIGN="RIGHT">76</TD> * </TR> * <TR> * <TD ALIGN="LEFT">OTHER</TD> * <TD ALIGN="RIGHT">80</TD> * </TR> * <TR> * <TD ALIGN="LEFT">SERVER_DOWN</TD> * <TD ALIGN="RIGHT">81</TD> * </TR> * <TR> * <TD ALIGN="LEFT">LOCAL_ERR0R</TD> * <TD ALIGN="RIGHT">82</TD> * </TR> * <TR> * <TD ALIGN="LEFT">ENCODING_ERR0R</TD> * <TD ALIGN="RIGHT">83</TD> * </TR> * <TR> * <TD ALIGN="LEFT">DECODING_ERR0R</TD> * <TD ALIGN="RIGHT">84</TD> * </TR> * <TR> * <TD ALIGN="LEFT">TIMEOUT</TD> * <TD ALIGN="RIGHT">85</TD> * </TR> * <TR> * <TD ALIGN="LEFT">AUTH_UNKNOWN</TD> * <TD ALIGN="RIGHT">86</TD> * </TR> * <TR> * <TD ALIGN="LEFT">FILTER_ERROR</TD> * <TD ALIGN="RIGHT">87</TD> * </TR> * <TR> * <TD ALIGN="LEFT">USER_CANCELED</TD> * <TD ALIGN="RIGHT">88</TD> * </TR> * <TR> * <TD ALIGN="LEFT">PARAM_ERROR</TD> * <TD ALIGN="RIGHT">89</TD> * </TR> * <TR> * <TD ALIGN="LEFT">NO_MEMORY</TD> * <TD ALIGN="RIGHT">90</TD> * </TR> * <TR> * <TD ALIGN="LEFT">CONNECT_ERROR</TD> * <TD ALIGN="RIGHT">91</TD> * </TR> * <TR> * <TD ALIGN="LEFT">NOT_SUPPORTED</TD> * <TD ALIGN="RIGHT">92</TD> * </TR> * <TR> * <TD ALIGN="LEFT">CONTROL_NOT_FOUND</TD> * <TD ALIGN="RIGHT">93</TD> * </TR> * <TR> * <TD ALIGN="LEFT">NO_RESULTS_RETURNED</TD> * <TD ALIGN="RIGHT">94</TD> * </TR> * <TR> * <TD ALIGN="LEFT">MORE_RESULTS_TO_RETURN</TD> * <TD ALIGN="RIGHT">95</TD> * </TR> * <TR> * <TD ALIGN="LEFT">CLIENT_LOOP</TD> * <TD ALIGN="RIGHT">96</TD> * </TR> * <TR> * <TD ALIGN="LEFT">REFERRAL_LIMIT_EXCEEDED</TD> * <TD ALIGN="RIGHT">97</TD> * </TR> * <TR> * <TD ALIGN="LEFT">CANCELED</TD> * <TD ALIGN="RIGHT">118</TD> * </TR> * <TR> * <TD ALIGN="LEFT">NO_SUCH_OPERATION</TD> * <TD ALIGN="RIGHT">119</TD> * </TR> * <TR> * <TD ALIGN="LEFT">TOO_LATE</TD> * <TD ALIGN="RIGHT">120</TD> * </TR> * <TR> * <TD ALIGN="LEFT">CANNOT_CANCEL</TD> * <TD ALIGN="RIGHT">121</TD> * </TR> * <TR> * <TD ALIGN="LEFT">ASSERTION_FAILED</TD> * <TD ALIGN="RIGHT">122</TD> * </TR> * <TR> * <TD ALIGN="LEFT">AUTHORIZATION_DENIED</TD> * <TD ALIGN="RIGHT">123</TD> * </TR> * <TR> * <TD ALIGN="LEFT">E_SYNC_REFRESH_REQUIRED</TD> * <TD ALIGN="RIGHT">4096</TD> * </TR> * <TR> * <TD ALIGN="LEFT">NO_OPERATION</TD> * <TD ALIGN="RIGHT">16654</TD> * </TR> * <TR> * <TD ALIGN="LEFT">INTERACTIVE_TRANSACTION_ABORTED</TD> * <TD ALIGN="RIGHT">30221001</TD> * </TR> * </TABLE> * </CENTER> */ @NotMutable() @ThreadSafety(level=ThreadSafetyLevel.COMPLETELY_THREADSAFE) public final class ResultCode implements Serializable { public static final int SUCCESS_INT_VALUE = 0; public static final ResultCode SUCCESS = new ResultCode(INFO_RC_SUCCESS.get(), SUCCESS_INT_VALUE); public static final int OPERATIONS_ERROR_INT_VALUE = 1; public static final ResultCode OPERATIONS_ERROR = new ResultCode(INFO_RC_OPERATIONS_ERROR.get(), OPERATIONS_ERROR_INT_VALUE); public static final int PROTOCOL_ERROR_INT_VALUE = 2; public static final ResultCode PROTOCOL_ERROR = new ResultCode(INFO_RC_PROTOCOL_ERROR.get(), PROTOCOL_ERROR_INT_VALUE); public static final int TIME_LIMIT_EXCEEDED_INT_VALUE = 3; public static final ResultCode TIME_LIMIT_EXCEEDED = new ResultCode(INFO_RC_TIME_LIMIT_EXCEEDED.get(), TIME_LIMIT_EXCEEDED_INT_VALUE); public static final int SIZE_LIMIT_EXCEEDED_INT_VALUE = 4; public static final ResultCode SIZE_LIMIT_EXCEEDED = new ResultCode(INFO_RC_SIZE_LIMIT_EXCEEDED.get(), SIZE_LIMIT_EXCEEDED_INT_VALUE); public static final int COMPARE_FALSE_INT_VALUE = 5; public static final ResultCode COMPARE_FALSE = new ResultCode(INFO_RC_COMPARE_FALSE.get(), COMPARE_FALSE_INT_VALUE); public static final int COMPARE_TRUE_INT_VALUE = 6; public static final ResultCode COMPARE_TRUE = new ResultCode(INFO_RC_COMPARE_TRUE.get(), COMPARE_TRUE_INT_VALUE); public static final int AUTH_METHOD_NOT_SUPPORTED_INT_VALUE = 7; public static final ResultCode AUTH_METHOD_NOT_SUPPORTED = new ResultCode(INFO_RC_AUTH_METHOD_NOT_SUPPORTED.get(), AUTH_METHOD_NOT_SUPPORTED_INT_VALUE); public static final int STRONG_AUTH_REQUIRED_INT_VALUE = 8; public static final ResultCode STRONG_AUTH_REQUIRED = new ResultCode(INFO_RC_STRONG_AUTH_REQUIRED.get(), STRONG_AUTH_REQUIRED_INT_VALUE); public static final int REFERRAL_INT_VALUE = 10; public static final ResultCode REFERRAL = new ResultCode(INFO_RC_REFERRAL.get(), REFERRAL_INT_VALUE); public static final int ADMIN_LIMIT_EXCEEDED_INT_VALUE = 11; public static final ResultCode ADMIN_LIMIT_EXCEEDED = new ResultCode(INFO_RC_ADMIN_LIMIT_EXCEEDED.get(), ADMIN_LIMIT_EXCEEDED_INT_VALUE); public static final int UNAVAILABLE_CRITICAL_EXTENSION_INT_VALUE = 12; public static final ResultCode UNAVAILABLE_CRITICAL_EXTENSION = new ResultCode(INFO_RC_UNAVAILABLE_CRITICAL_EXTENSION.get(), UNAVAILABLE_CRITICAL_EXTENSION_INT_VALUE); public static final int CONFIDENTIALITY_REQUIRED_INT_VALUE = 13; public static final ResultCode CONFIDENTIALITY_REQUIRED = new ResultCode(INFO_RC_CONFIDENTIALITY_REQUIRED.get(), CONFIDENTIALITY_REQUIRED_INT_VALUE); public static final int SASL_BIND_IN_PROGRESS_INT_VALUE = 14; public static final ResultCode SASL_BIND_IN_PROGRESS = new ResultCode(INFO_RC_SASL_BIND_IN_PROGRESS.get(), SASL_BIND_IN_PROGRESS_INT_VALUE); public static final int NO_SUCH_ATTRIBUTE_INT_VALUE = 16; public static final ResultCode NO_SUCH_ATTRIBUTE = new ResultCode(INFO_RC_NO_SUCH_ATTRIBUTE.get(), NO_SUCH_ATTRIBUTE_INT_VALUE); public static final int UNDEFINED_ATTRIBUTE_TYPE_INT_VALUE = 17; public static final ResultCode UNDEFINED_ATTRIBUTE_TYPE = new ResultCode(INFO_RC_UNDEFINED_ATTRIBUTE_TYPE.get(), UNDEFINED_ATTRIBUTE_TYPE_INT_VALUE); public static final int INAPPROPRIATE_MATCHING_INT_VALUE = 18; public static final ResultCode INAPPROPRIATE_MATCHING = new ResultCode(INFO_RC_INAPPROPRIATE_MATCHING.get(), INAPPROPRIATE_MATCHING_INT_VALUE); public static final int CONSTRAINT_VIOLATION_INT_VALUE = 19; public static final ResultCode CONSTRAINT_VIOLATION = new ResultCode(INFO_RC_CONSTRAINT_VIOLATION.get(), CONSTRAINT_VIOLATION_INT_VALUE); public static final int ATTRIBUTE_OR_VALUE_EXISTS_INT_VALUE = 20; public static final ResultCode ATTRIBUTE_OR_VALUE_EXISTS = new ResultCode(INFO_RC_ATTRIBUTE_OR_VALUE_EXISTS.get(), ATTRIBUTE_OR_VALUE_EXISTS_INT_VALUE); public static final int INVALID_ATTRIBUTE_SYNTAX_INT_VALUE = 21; public static final ResultCode INVALID_ATTRIBUTE_SYNTAX = new ResultCode(INFO_RC_INVALID_ATTRIBUTE_SYNTAX.get(), INVALID_ATTRIBUTE_SYNTAX_INT_VALUE); public static final int NO_SUCH_OBJECT_INT_VALUE = 32; public static final ResultCode NO_SUCH_OBJECT = new ResultCode(INFO_RC_NO_SUCH_OBJECT.get(), NO_SUCH_OBJECT_INT_VALUE); public static final int ALIAS_PROBLEM_INT_VALUE = 33; public static final ResultCode ALIAS_PROBLEM = new ResultCode(INFO_RC_ALIAS_PROBLEM.get(), ALIAS_PROBLEM_INT_VALUE); public static final int INVALID_DN_SYNTAX_INT_VALUE = 34; public static final ResultCode INVALID_DN_SYNTAX = new ResultCode(INFO_RC_INVALID_DN_SYNTAX.get(), INVALID_DN_SYNTAX_INT_VALUE); public static final int ALIAS_DEREFERENCING_PROBLEM_INT_VALUE = 36; public static final ResultCode ALIAS_DEREFERENCING_PROBLEM = new ResultCode(INFO_RC_ALIAS_DEREFERENCING_PROBLEM.get(), ALIAS_DEREFERENCING_PROBLEM_INT_VALUE); public static final int INAPPROPRIATE_AUTHENTICATION_INT_VALUE = 48; public static final ResultCode INAPPROPRIATE_AUTHENTICATION = new ResultCode(INFO_RC_INAPPROPRIATE_AUTHENTICATION.get(), INAPPROPRIATE_AUTHENTICATION_INT_VALUE); public static final int INVALID_CREDENTIALS_INT_VALUE = 49; public static final ResultCode INVALID_CREDENTIALS = new ResultCode(INFO_RC_INVALID_CREDENTIALS.get(), INVALID_CREDENTIALS_INT_VALUE); public static final int INSUFFICIENT_ACCESS_RIGHTS_INT_VALUE = 50; public static final ResultCode INSUFFICIENT_ACCESS_RIGHTS = new ResultCode(INFO_RC_INSUFFICIENT_ACCESS_RIGHTS.get(), INSUFFICIENT_ACCESS_RIGHTS_INT_VALUE); public static final int BUSY_INT_VALUE = 51; public static final ResultCode BUSY = new ResultCode(INFO_RC_BUSY.get(), BUSY_INT_VALUE); public static final int UNAVAILABLE_INT_VALUE = 52; public static final ResultCode UNAVAILABLE = new ResultCode(INFO_RC_UNAVAILABLE.get(), UNAVAILABLE_INT_VALUE); public static final int UNWILLING_TO_PERFORM_INT_VALUE = 53; public static final ResultCode UNWILLING_TO_PERFORM = new ResultCode(INFO_RC_UNWILLING_TO_PERFORM.get(), UNWILLING_TO_PERFORM_INT_VALUE); public static final int LOOP_DETECT_INT_VALUE = 54; public static final ResultCode LOOP_DETECT = new ResultCode(INFO_RC_LOOP_DETECT.get(), LOOP_DETECT_INT_VALUE); public static final int SORT_CONTROL_MISSING_INT_VALUE = 60; public static final ResultCode SORT_CONTROL_MISSING = new ResultCode(INFO_RC_SORT_CONTROL_MISSING.get(), SORT_CONTROL_MISSING_INT_VALUE); public static final int OFFSET_RANGE_ERROR_INT_VALUE = 61; public static final ResultCode OFFSET_RANGE_ERROR = new ResultCode(INFO_RC_OFFSET_RANGE_ERROR.get(), OFFSET_RANGE_ERROR_INT_VALUE); public static final int NAMING_VIOLATION_INT_VALUE = 64; public static final ResultCode NAMING_VIOLATION = new ResultCode(INFO_RC_NAMING_VIOLATION.get(), NAMING_VIOLATION_INT_VALUE); public static final int OBJECT_CLASS_VIOLATION_INT_VALUE = 65; public static final ResultCode OBJECT_CLASS_VIOLATION = new ResultCode(INFO_RC_OBJECT_CLASS_VIOLATION.get(), OBJECT_CLASS_VIOLATION_INT_VALUE); public static final int NOT_ALLOWED_ON_NONLEAF_INT_VALUE = 66; public static final ResultCode NOT_ALLOWED_ON_NONLEAF = new ResultCode(INFO_RC_NOT_ALLOWED_ON_NONLEAF.get(), NOT_ALLOWED_ON_NONLEAF_INT_VALUE); public static final int NOT_ALLOWED_ON_RDN_INT_VALUE = 67; public static final ResultCode NOT_ALLOWED_ON_RDN = new ResultCode(INFO_RC_NOT_ALLOWED_ON_RDN.get(), NOT_ALLOWED_ON_RDN_INT_VALUE); public static final int ENTRY_ALREADY_EXISTS_INT_VALUE = 68; public static final ResultCode ENTRY_ALREADY_EXISTS = new ResultCode(INFO_RC_ENTRY_ALREADY_EXISTS.get(), ENTRY_ALREADY_EXISTS_INT_VALUE); public static final int OBJECT_CLASS_MODS_PROHIBITED_INT_VALUE = 69; public static final ResultCode OBJECT_CLASS_MODS_PROHIBITED = new ResultCode(INFO_RC_OBJECT_CLASS_MODS_PROHIBITED.get(), OBJECT_CLASS_MODS_PROHIBITED_INT_VALUE); public static final int AFFECTS_MULTIPLE_DSAS_INT_VALUE = 71; public static final ResultCode AFFECTS_MULTIPLE_DSAS = new ResultCode(INFO_RC_AFFECTS_MULTIPLE_DSAS.get(), AFFECTS_MULTIPLE_DSAS_INT_VALUE); public static final int VIRTUAL_LIST_VIEW_ERROR_INT_VALUE = 76; public static final ResultCode VIRTUAL_LIST_VIEW_ERROR = new ResultCode(INFO_RC_VIRTUAL_LIST_VIEW_ERR0R.get(), VIRTUAL_LIST_VIEW_ERROR_INT_VALUE); public static final int OTHER_INT_VALUE = 80; public static final ResultCode OTHER = new ResultCode(INFO_RC_OTHER.get(), OTHER_INT_VALUE); public static final int SERVER_DOWN_INT_VALUE = 81; public static final ResultCode SERVER_DOWN = new ResultCode(INFO_RC_SERVER_DOWN.get(), SERVER_DOWN_INT_VALUE); public static final int LOCAL_ERROR_INT_VALUE = 82; public static final ResultCode LOCAL_ERROR = new ResultCode(INFO_RC_LOCAL_ERROR.get(), LOCAL_ERROR_INT_VALUE); public static final int ENCODING_ERROR_INT_VALUE = 83; public static final ResultCode ENCODING_ERROR = new ResultCode(INFO_RC_ENCODING_ERROR.get(), ENCODING_ERROR_INT_VALUE); public static final int DECODING_ERROR_INT_VALUE = 84; public static final ResultCode DECODING_ERROR = new ResultCode(INFO_RC_DECODING_ERROR.get(), DECODING_ERROR_INT_VALUE); public static final int TIMEOUT_INT_VALUE = 85; public static final ResultCode TIMEOUT = new ResultCode(INFO_RC_TIMEOUT.get(), TIMEOUT_INT_VALUE); public static final int AUTH_UNKNOWN_INT_VALUE = 86; public static final ResultCode AUTH_UNKNOWN = new ResultCode(INFO_RC_AUTH_UNKNOWN.get(), AUTH_UNKNOWN_INT_VALUE); public static final int FILTER_ERROR_INT_VALUE = 87; public static final ResultCode FILTER_ERROR = new ResultCode(INFO_RC_FILTER_ERROR.get(), FILTER_ERROR_INT_VALUE); public static final int USER_CANCELED_INT_VALUE = 88; public static final ResultCode USER_CANCELED = new ResultCode(INFO_RC_USER_CANCELED.get(), USER_CANCELED_INT_VALUE); public static final int PARAM_ERROR_INT_VALUE = 89; public static final ResultCode PARAM_ERROR = new ResultCode(INFO_RC_PARAM_ERROR.get(), PARAM_ERROR_INT_VALUE); public static final int NO_MEMORY_INT_VALUE = 90; public static final ResultCode NO_MEMORY = new ResultCode(INFO_RC_NO_MEMORY.get(), NO_MEMORY_INT_VALUE); public static final int CONNECT_ERROR_INT_VALUE = 91; public static final ResultCode CONNECT_ERROR = new ResultCode(INFO_RC_CONNECT_ERROR.get(), CONNECT_ERROR_INT_VALUE); public static final int NOT_SUPPORTED_INT_VALUE = 92; public static final ResultCode NOT_SUPPORTED = new ResultCode(INFO_RC_NOT_SUPPORTED.get(), NOT_SUPPORTED_INT_VALUE); public static final int CONTROL_NOT_FOUND_INT_VALUE = 93; public static final ResultCode CONTROL_NOT_FOUND = new ResultCode(INFO_RC_CONTROL_NOT_FOUND.get(), CONTROL_NOT_FOUND_INT_VALUE); public static final int NO_RESULTS_RETURNED_INT_VALUE = 94; public static final ResultCode NO_RESULTS_RETURNED = new ResultCode(INFO_RC_NO_RESULTS_RETURNED.get(), NO_RESULTS_RETURNED_INT_VALUE); public static final int MORE_RESULTS_TO_RETURN_INT_VALUE = 95; public static final ResultCode MORE_RESULTS_TO_RETURN = new ResultCode(INFO_RC_MORE_RESULTS_TO_RETURN.get(), MORE_RESULTS_TO_RETURN_INT_VALUE); public static final int CLIENT_LOOP_INT_VALUE = 96; public static final ResultCode CLIENT_LOOP = new ResultCode(INFO_RC_CLIENT_LOOP.get(), CLIENT_LOOP_INT_VALUE); public static final int REFERRAL_LIMIT_EXCEEDED_INT_VALUE = 97; public static final ResultCode REFERRAL_LIMIT_EXCEEDED = new ResultCode(INFO_RC_REFERRAL_LIMIT_EXCEEDED.get(), REFERRAL_LIMIT_EXCEEDED_INT_VALUE); public static final int CANCELED_INT_VALUE = 118; public static final ResultCode CANCELED = new ResultCode(INFO_RC_CANCELED.get(), CANCELED_INT_VALUE); public static final int NO_SUCH_OPERATION_INT_VALUE = 119; public static final ResultCode NO_SUCH_OPERATION = new ResultCode(INFO_RC_NO_SUCH_OPERATION.get(), NO_SUCH_OPERATION_INT_VALUE); public static final int TOO_LATE_INT_VALUE = 120; public static final ResultCode TOO_LATE = new ResultCode(INFO_RC_TOO_LATE.get(), TOO_LATE_INT_VALUE); public static final int CANNOT_CANCEL_INT_VALUE = 121; public static final ResultCode CANNOT_CANCEL = new ResultCode(INFO_RC_CANNOT_CANCEL.get(), CANNOT_CANCEL_INT_VALUE); public static final int ASSERTION_FAILED_INT_VALUE = 122; public static final ResultCode ASSERTION_FAILED = new ResultCode(INFO_RC_ASSERTION_FAILED.get(), ASSERTION_FAILED_INT_VALUE); public static final int AUTHORIZATION_DENIED_INT_VALUE = 123; public static final ResultCode AUTHORIZATION_DENIED = new ResultCode(INFO_RC_AUTHORIZATION_DENIED.get(), AUTHORIZATION_DENIED_INT_VALUE); public static final int E_SYNC_REFRESH_REQUIRED_INT_VALUE = 4096; public static final ResultCode E_SYNC_REFRESH_REQUIRED = new ResultCode(INFO_RC_E_SYNC_REFRESH_REQUIRED.get(), E_SYNC_REFRESH_REQUIRED_INT_VALUE); public static final int NO_OPERATION_INT_VALUE = 16654; public static final ResultCode NO_OPERATION = new ResultCode(INFO_RC_NO_OPERATION.get(), NO_OPERATION_INT_VALUE); public static final int INTERACTIVE_TRANSACTION_ABORTED_INT_VALUE = 30221001; public static final ResultCode INTERACTIVE_TRANSACTION_ABORTED = new ResultCode(INFO_RC_INTERACTIVE_TRANSACTION_ABORTED.get(), INTERACTIVE_TRANSACTION_ABORTED_INT_VALUE); private static final HashMap<Integer,ResultCode> UNDEFINED_RESULT_CODES = new HashMap<Integer,ResultCode>(); private static final long serialVersionUID = 7609311304252378100L; private final int intValue; private final String name; private final String stringRepresentation; private ResultCode(final int intValue) { this.intValue = intValue; name = String.valueOf(intValue); stringRepresentation = name; } private ResultCode(final String name, final int intValue) { this.name = name; this.intValue = intValue; stringRepresentation = intValue + " (" + name + ')'; } public String getName() { return name; } public int intValue() { return intValue; } public static ResultCode valueOf(final int intValue) { return valueOf(intValue, null); } public static ResultCode valueOf(final int intValue, final String name) { switch (intValue) { case SUCCESS_INT_VALUE: return SUCCESS; case OPERATIONS_ERROR_INT_VALUE: return OPERATIONS_ERROR; case PROTOCOL_ERROR_INT_VALUE: return PROTOCOL_ERROR; case TIME_LIMIT_EXCEEDED_INT_VALUE: return TIME_LIMIT_EXCEEDED; case SIZE_LIMIT_EXCEEDED_INT_VALUE: return SIZE_LIMIT_EXCEEDED; case COMPARE_FALSE_INT_VALUE: return COMPARE_FALSE; case COMPARE_TRUE_INT_VALUE: return COMPARE_TRUE; case AUTH_METHOD_NOT_SUPPORTED_INT_VALUE: return AUTH_METHOD_NOT_SUPPORTED; case STRONG_AUTH_REQUIRED_INT_VALUE: return STRONG_AUTH_REQUIRED; case REFERRAL_INT_VALUE: return REFERRAL; case ADMIN_LIMIT_EXCEEDED_INT_VALUE: return ADMIN_LIMIT_EXCEEDED; case UNAVAILABLE_CRITICAL_EXTENSION_INT_VALUE: return UNAVAILABLE_CRITICAL_EXTENSION; case CONFIDENTIALITY_REQUIRED_INT_VALUE: return CONFIDENTIALITY_REQUIRED; case SASL_BIND_IN_PROGRESS_INT_VALUE: return SASL_BIND_IN_PROGRESS; case NO_SUCH_ATTRIBUTE_INT_VALUE: return NO_SUCH_ATTRIBUTE; case UNDEFINED_ATTRIBUTE_TYPE_INT_VALUE: return UNDEFINED_ATTRIBUTE_TYPE; case INAPPROPRIATE_MATCHING_INT_VALUE: return INAPPROPRIATE_MATCHING; case CONSTRAINT_VIOLATION_INT_VALUE: return CONSTRAINT_VIOLATION; case ATTRIBUTE_OR_VALUE_EXISTS_INT_VALUE: return ATTRIBUTE_OR_VALUE_EXISTS; case INVALID_ATTRIBUTE_SYNTAX_INT_VALUE: return INVALID_ATTRIBUTE_SYNTAX; case NO_SUCH_OBJECT_INT_VALUE: return NO_SUCH_OBJECT; case ALIAS_PROBLEM_INT_VALUE: return ALIAS_PROBLEM; case INVALID_DN_SYNTAX_INT_VALUE: return INVALID_DN_SYNTAX; case ALIAS_DEREFERENCING_PROBLEM_INT_VALUE: return ALIAS_DEREFERENCING_PROBLEM; case INAPPROPRIATE_AUTHENTICATION_INT_VALUE: return INAPPROPRIATE_AUTHENTICATION; case INVALID_CREDENTIALS_INT_VALUE: return INVALID_CREDENTIALS; case INSUFFICIENT_ACCESS_RIGHTS_INT_VALUE: return INSUFFICIENT_ACCESS_RIGHTS; case BUSY_INT_VALUE: return BUSY; case UNAVAILABLE_INT_VALUE: return UNAVAILABLE; case UNWILLING_TO_PERFORM_INT_VALUE: return UNWILLING_TO_PERFORM; case LOOP_DETECT_INT_VALUE: return LOOP_DETECT; case SORT_CONTROL_MISSING_INT_VALUE: return SORT_CONTROL_MISSING; case OFFSET_RANGE_ERROR_INT_VALUE: return OFFSET_RANGE_ERROR; case NAMING_VIOLATION_INT_VALUE: return NAMING_VIOLATION; case OBJECT_CLASS_VIOLATION_INT_VALUE: return OBJECT_CLASS_VIOLATION; case NOT_ALLOWED_ON_NONLEAF_INT_VALUE: return NOT_ALLOWED_ON_NONLEAF; case NOT_ALLOWED_ON_RDN_INT_VALUE: return NOT_ALLOWED_ON_RDN; case ENTRY_ALREADY_EXISTS_INT_VALUE: return ENTRY_ALREADY_EXISTS; case OBJECT_CLASS_MODS_PROHIBITED_INT_VALUE: return OBJECT_CLASS_MODS_PROHIBITED; case AFFECTS_MULTIPLE_DSAS_INT_VALUE: return AFFECTS_MULTIPLE_DSAS; case VIRTUAL_LIST_VIEW_ERROR_INT_VALUE: return VIRTUAL_LIST_VIEW_ERROR; case OTHER_INT_VALUE: return OTHER; case SERVER_DOWN_INT_VALUE: return SERVER_DOWN; case LOCAL_ERROR_INT_VALUE: return LOCAL_ERROR; case ENCODING_ERROR_INT_VALUE: return ENCODING_ERROR; case DECODING_ERROR_INT_VALUE: return DECODING_ERROR; case TIMEOUT_INT_VALUE: return TIMEOUT; case AUTH_UNKNOWN_INT_VALUE: return AUTH_UNKNOWN; case FILTER_ERROR_INT_VALUE: return FILTER_ERROR; case USER_CANCELED_INT_VALUE: return USER_CANCELED; case PARAM_ERROR_INT_VALUE: return PARAM_ERROR; case NO_MEMORY_INT_VALUE: return NO_MEMORY; case CONNECT_ERROR_INT_VALUE: return CONNECT_ERROR; case NOT_SUPPORTED_INT_VALUE: return NOT_SUPPORTED; case CONTROL_NOT_FOUND_INT_VALUE: return CONTROL_NOT_FOUND; case NO_RESULTS_RETURNED_INT_VALUE: return NO_RESULTS_RETURNED; case MORE_RESULTS_TO_RETURN_INT_VALUE: return MORE_RESULTS_TO_RETURN; case CLIENT_LOOP_INT_VALUE: return CLIENT_LOOP; case REFERRAL_LIMIT_EXCEEDED_INT_VALUE: return REFERRAL_LIMIT_EXCEEDED; case CANCELED_INT_VALUE: return CANCELED; case NO_SUCH_OPERATION_INT_VALUE: return NO_SUCH_OPERATION; case TOO_LATE_INT_VALUE: return TOO_LATE; case CANNOT_CANCEL_INT_VALUE: return CANNOT_CANCEL; case ASSERTION_FAILED_INT_VALUE: return ASSERTION_FAILED; case AUTHORIZATION_DENIED_INT_VALUE: return AUTHORIZATION_DENIED; case E_SYNC_REFRESH_REQUIRED_INT_VALUE: return E_SYNC_REFRESH_REQUIRED; case NO_OPERATION_INT_VALUE: return NO_OPERATION; case INTERACTIVE_TRANSACTION_ABORTED_INT_VALUE: return INTERACTIVE_TRANSACTION_ABORTED; } synchronized (UNDEFINED_RESULT_CODES) { ResultCode rc = UNDEFINED_RESULT_CODES.get(intValue); if (rc == null) { if (name == null) { rc = new ResultCode(intValue); } else { rc = new ResultCode(name, intValue); } UNDEFINED_RESULT_CODES.put(intValue, rc); } return rc; } } public static ResultCode[] values() { return new ResultCode[] { SUCCESS, OPERATIONS_ERROR, PROTOCOL_ERROR, TIME_LIMIT_EXCEEDED, SIZE_LIMIT_EXCEEDED, COMPARE_FALSE, COMPARE_TRUE, AUTH_METHOD_NOT_SUPPORTED, STRONG_AUTH_REQUIRED, REFERRAL, ADMIN_LIMIT_EXCEEDED, UNAVAILABLE_CRITICAL_EXTENSION, CONFIDENTIALITY_REQUIRED, SASL_BIND_IN_PROGRESS, NO_SUCH_ATTRIBUTE, UNDEFINED_ATTRIBUTE_TYPE, INAPPROPRIATE_MATCHING, CONSTRAINT_VIOLATION, ATTRIBUTE_OR_VALUE_EXISTS, INVALID_ATTRIBUTE_SYNTAX, NO_SUCH_OBJECT, ALIAS_PROBLEM, INVALID_DN_SYNTAX, ALIAS_DEREFERENCING_PROBLEM, INAPPROPRIATE_AUTHENTICATION, INVALID_CREDENTIALS, INSUFFICIENT_ACCESS_RIGHTS, BUSY, UNAVAILABLE, UNWILLING_TO_PERFORM, LOOP_DETECT, SORT_CONTROL_MISSING, OFFSET_RANGE_ERROR, NAMING_VIOLATION, OBJECT_CLASS_VIOLATION, NOT_ALLOWED_ON_NONLEAF, NOT_ALLOWED_ON_RDN, ENTRY_ALREADY_EXISTS, OBJECT_CLASS_MODS_PROHIBITED, AFFECTS_MULTIPLE_DSAS, VIRTUAL_LIST_VIEW_ERROR, OTHER, SERVER_DOWN, LOCAL_ERROR, ENCODING_ERROR, DECODING_ERROR, TIMEOUT, AUTH_UNKNOWN, FILTER_ERROR, USER_CANCELED, PARAM_ERROR, NO_MEMORY, CONNECT_ERROR, NOT_SUPPORTED, CONTROL_NOT_FOUND, NO_RESULTS_RETURNED, MORE_RESULTS_TO_RETURN, CLIENT_LOOP, REFERRAL_LIMIT_EXCEEDED, CANCELED, NO_SUCH_OPERATION, TOO_LATE, CANNOT_CANCEL, ASSERTION_FAILED, AUTHORIZATION_DENIED, E_SYNC_REFRESH_REQUIRED, NO_OPERATION, INTERACTIVE_TRANSACTION_ABORTED }; } public boolean isClientSideResultCode() { return isClientSideResultCode(this); } public static boolean isClientSideResultCode(final ResultCode resultCode) { switch (resultCode.intValue()) { case SERVER_DOWN_INT_VALUE: case LOCAL_ERROR_INT_VALUE: case ENCODING_ERROR_INT_VALUE: case DECODING_ERROR_INT_VALUE: case TIMEOUT_INT_VALUE: case AUTH_UNKNOWN_INT_VALUE: case FILTER_ERROR_INT_VALUE: case USER_CANCELED_INT_VALUE: case PARAM_ERROR_INT_VALUE: case NO_MEMORY_INT_VALUE: case CONNECT_ERROR_INT_VALUE: case NOT_SUPPORTED_INT_VALUE: case CONTROL_NOT_FOUND_INT_VALUE: case NO_RESULTS_RETURNED_INT_VALUE: case MORE_RESULTS_TO_RETURN_INT_VALUE: case CLIENT_LOOP_INT_VALUE: case REFERRAL_LIMIT_EXCEEDED_INT_VALUE: return true; default: return false; } } public boolean isConnectionUsable() { return isConnectionUsable(this); } public static boolean isConnectionUsable(final ResultCode resultCode) { switch (resultCode.intValue()) { case OPERATIONS_ERROR_INT_VALUE: case PROTOCOL_ERROR_INT_VALUE: case BUSY_INT_VALUE: case UNAVAILABLE_INT_VALUE: case UNWILLING_TO_PERFORM_INT_VALUE: case OTHER_INT_VALUE: case SERVER_DOWN_INT_VALUE: case LOCAL_ERROR_INT_VALUE: case ENCODING_ERROR_INT_VALUE: case DECODING_ERROR_INT_VALUE: case TIMEOUT_INT_VALUE: case NO_MEMORY_INT_VALUE: case CONNECT_ERROR_INT_VALUE: return false; default: return true; } } @Override() public int hashCode() { return intValue; } @Override() public boolean equals(final Object o) { if (o == null) { return false; } else if (o == this) { return true; } else if (o instanceof ResultCode) { return (intValue == ((ResultCode) o).intValue); } else { return false; } } @Override() public String toString() { return stringRepresentation; } }