1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one 3 * or more contributor license agreements. See the NOTICE file 4 * distributed with this work for additional information 5 * regarding copyright ownership. The ASF licenses this file 6 * to you under the Apache License, Version 2.0 (the 7 * "License"); you may not use this file except in compliance 8 * with the License. You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, 13 * software distributed under the License is distributed on an 14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 * KIND, either express or implied. See the License for the 16 * specific language governing permissions and limitations 17 * under the License. 18 * 19 */ 20 package org.apache.directory.api.ldap.model.exception; 21 22 23 /** 24 * This enum contains all the various codes that can be used to report issues 25 * during the integrity check of the schema by the SchemaManager. 26 * 27 * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a> 28 */ 29 public enum LdapSchemaExceptionCodes 30 { 31 // Codes for all Schema Objects 32 33 /** Characterizing a SO with an OID being already registered */ 34 OID_ALREADY_REGISTERED, 35 36 /** Characterizing a SO with a name being already registered */ 37 NAME_ALREADY_REGISTERED, 38 39 /** Characterizing an SO with a nonexistent schema */ 40 NONEXISTENT_SCHEMA, 41 42 // Codes for Attribute Type 43 44 /** Characterizing an AT with a nonexistent superior */ 45 AT_NONEXISTENT_SUPERIOR, 46 47 /** Characterizing an AT sub-typing a Collective AT */ 48 AT_CANNOT_SUBTYPE_COLLECTIVE_AT, 49 50 /** Characterizing an AT containing a cycle in its type hierarchy */ 51 AT_CYCLE_TYPE_HIERARCHY, 52 53 /** Characterizing an AT with a nonexistent syntax */ 54 AT_NONEXISTENT_SYNTAX, 55 56 /** Characterizing an AT has no syntax and no superior */ 57 AT_SYNTAX_OR_SUPERIOR_REQUIRED, 58 59 /** Characterizing an AT with a nonexistent equality matching rule */ 60 AT_NONEXISTENT_EQUALITY_MATCHING_RULE, 61 62 /** Characterizing an AT with a nonexistent ordering matching rule */ 63 AT_NONEXISTENT_ORDERING_MATCHING_RULE, 64 65 /** Characterizing an AT with a nonexistent substring matching rule */ 66 AT_NONEXISTENT_SUBSTRING_MATCHING_RULE, 67 68 /** Characterizing an AT which has a different usage than its superior */ 69 AT_MUST_HAVE_SAME_USAGE_THAN_SUPERIOR, 70 71 /** Characterizing an AT which has a 'userApplications' usage but is not user modifiable */ 72 AT_USER_APPLICATIONS_USAGE_MUST_BE_USER_MODIFIABLE, 73 74 /** Characterizing an AT which is collective but does not have a 'userApplications' usage */ 75 AT_COLLECTIVE_MUST_HAVE_USER_APPLICATIONS_USAGE, 76 77 /** Characterizing an AT which is collective and is single-valued */ 78 AT_COLLECTIVE_CANNOT_BE_SINGLE_VALUED, 79 80 // Codes for Object Class 81 82 /** Characterizing an abstract OC which inherits from an OC not being abstract */ 83 OC_ABSTRACT_MUST_INHERIT_FROM_ABSTRACT_OC, 84 85 /** Characterizing an auxiliary OC which inherits from a structural OC */ 86 OC_AUXILIARY_CANNOT_INHERIT_FROM_STRUCTURAL_OC, 87 88 /** Characterizing a structural OC which inherits from an auxiliary OC */ 89 OC_STRUCTURAL_CANNOT_INHERIT_FROM_AUXILIARY_OC, 90 91 /** Characterizing an OC with a nonexistent superior */ 92 OC_NONEXISTENT_SUPERIOR, 93 94 /** Characterizing an OC containing a cycle in its class hierarchy */ 95 OC_CYCLE_CLASS_HIERARCHY, 96 97 /** Characterizing an OC with a collective AT in its must ATs list */ 98 OC_COLLECTIVE_NOT_ALLOWED_IN_MUST, 99 100 /** Characterizing an OC with a collective AT in its may ATs list */ 101 OC_COLLECTIVE_NOT_ALLOWED_IN_MAY, 102 103 /** Characterizing an OC with a duplicated AT in its must ATs list */ 104 OC_DUPLICATE_AT_IN_MUST, 105 106 /** Characterizing an OC with a duplicated AT in its may ATs list */ 107 OC_DUPLICATE_AT_IN_MAY, 108 109 /** Characterizing an OC with a nonexistent AT in its must ATs list */ 110 OC_NONEXISTENT_MUST_AT, 111 112 /** Characterizing an OC with a nonexistent AT in its may ATs list */ 113 OC_NONEXISTENT_MAY_AT, 114 115 /** Characterizing an OC with a duplicated AT in its may and must ATs list */ 116 OC_DUPLICATE_AT_IN_MAY_AND_MUST, 117 118 // Codes for Matching Rule 119 120 /** Characterizing a MR with a nonexistent syntax */ 121 MR_NONEXISTENT_SYNTAX, 122 }