001 /*
002 * Licensed to the Apache Software Foundation (ASF) under one
003 * or more contributor license agreements. See the NOTICE file
004 * distributed with this work for additional information
005 * regarding copyright ownership. The ASF licenses this file
006 * to you under the Apache License, Version 2.0 (the
007 * "License"); you may not use this file except in compliance
008 * with the License. You may obtain a copy of the License at
009 *
010 * http://www.apache.org/licenses/LICENSE-2.0
011 *
012 * Unless required by applicable law or agreed to in writing,
013 * software distributed under the License is distributed on an
014 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
015 * KIND, either express or implied. See the License for the
016 * specific language governing permissions and limitations
017 * under the License.
018 *
019 */
020
021 package org.apache.directory.shared.dsmlv2.reponse;
022
023 import org.apache.directory.shared.ldap.message.ResultCodeEnum;
024
025
026 /**
027 * This Class helps to get resultCodeDesc for a ResultCode of a LdapResult.
028 *
029 * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
030 * @version $Rev$, $Date$
031 */
032 public class LdapResultEnum
033 {
034 /**
035 * Gets the String description of a given result code
036 *
037 * @param resultCode
038 * a result code
039 * @return
040 * the String description corresponding to the result code
041 */
042 public static String getResultCodeDescr( ResultCodeEnum resultCode )
043 {
044 switch ( resultCode )
045 {
046 case SUCCESS:
047 return "success";
048 case OPERATIONS_ERROR:
049 return "operationsError";
050 case PROTOCOL_ERROR:
051 return "protocolError";
052 case TIME_LIMIT_EXCEEDED:
053 return "timeLimitExceeded";
054 case SIZE_LIMIT_EXCEEDED:
055 return "sizeLimitExceeded";
056 case COMPARE_FALSE:
057 return "compareFalse";
058 case COMPARE_TRUE:
059 return "compareTrue";
060 case AUTH_METHOD_NOT_SUPPORTED:
061 return "authMethodNotSupported";
062 case STRONG_AUTH_REQUIRED:
063 return "strongAuthRequired";
064 case PARTIAL_RESULTS:
065 return "partialResults";
066 case REFERRAL:
067 return "referral";
068 case ADMIN_LIMIT_EXCEEDED:
069 return "adminLimitExceeded";
070 case UNAVAILABLE_CRITICAL_EXTENSION:
071 return "unavailableCriticalExtension";
072 case CONFIDENTIALITY_REQUIRED:
073 return "confidentialityRequired";
074 case SASL_BIND_IN_PROGRESS:
075 return "saslBindInProgress";
076 case NO_SUCH_ATTRIBUTE:
077 return "noSuchAttribute";
078 case UNDEFINED_ATTRIBUTE_TYPE:
079 return "undefinedAttributeType";
080 case INAPPROPRIATE_MATCHING:
081 return "inappropriateMatching";
082 case CONSTRAINT_VIOLATION:
083 return "constraintViolation";
084 case ATTRIBUTE_OR_VALUE_EXISTS:
085 return "attributeOrValueExists";
086 case INVALID_ATTRIBUTE_SYNTAX:
087 return "invalidAttributeSyntax";
088 case NO_SUCH_OBJECT:
089 return "NO_SUCH_OBJECT";
090 case ALIAS_PROBLEM:
091 return "aliasProblem";
092 case INVALID_DN_SYNTAX:
093 return "invalidDNSyntax";
094 case ALIAS_DEREFERENCING_PROBLEM:
095 return "aliasDereferencingProblem";
096 case INAPPROPRIATE_AUTHENTICATION:
097 return "inappropriateAuthentication";
098 case INVALID_CREDENTIALS:
099 return "invalidCredentials";
100 case INSUFFICIENT_ACCESS_RIGHTS:
101 return "insufficientAccessRights";
102 case BUSY:
103 return "busy";
104 case UNAVAILABLE:
105 return "unavailable";
106 case UNWILLING_TO_PERFORM:
107 return "unwillingToPerform";
108 case LOOP_DETECT:
109 return "loopDetect";
110 case NAMING_VIOLATION:
111 return "namingViolation";
112 case OBJECT_CLASS_VIOLATION:
113 return "objectClassViolation";
114 case NOT_ALLOWED_ON_NON_LEAF:
115 return "notAllowedOnNonLeaf";
116 case NOT_ALLOWED_ON_RDN:
117 return "notAllowedOnRDN";
118 case ENTRY_ALREADY_EXISTS:
119 return "entryAlreadyExists";
120 case OBJECT_CLASS_MODS_PROHIBITED:
121 return "objectClassModsProhibited";
122 case AFFECTS_MULTIPLE_DSAS:
123 return "affectsMultipleDSAs";
124 case OTHER:
125 return "other";
126 case UNKNOWN:
127 return "unknown";
128
129 default:
130 return "unknoxn";
131 }
132 }
133 }