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