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 */ 020package org.apache.directory.api.ldap.model.exception; 021 022 023/** 024 * This enum contains all the various codes that can be used to report issues 025 * during the integrity check of the schema by the SchemaManager. 026 * 027 * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a> 028 */ 029public enum LdapSchemaExceptionCodes 030{ 031 // Codes for all Schema Objects 032 033 /** Characterizing a SO with an OID being already registered */ 034 OID_ALREADY_REGISTERED, 035 036 /** Characterizing a SO with a name being already registered */ 037 NAME_ALREADY_REGISTERED, 038 039 /** Characterizing an SO with a nonexistent schema */ 040 NONEXISTENT_SCHEMA, 041 042 // Codes for Attribute Type 043 044 /** Characterizing an AT with a nonexistent superior */ 045 AT_NONEXISTENT_SUPERIOR, 046 047 /** Characterizing an AT sub-typing a Collective AT */ 048 AT_CANNOT_SUBTYPE_COLLECTIVE_AT, 049 050 /** Characterizing an AT containing a cycle in its type hierarchy */ 051 AT_CYCLE_TYPE_HIERARCHY, 052 053 /** Characterizing an AT with a nonexistent syntax */ 054 AT_NONEXISTENT_SYNTAX, 055 056 /** Characterizing an AT has no syntax and no superior */ 057 AT_SYNTAX_OR_SUPERIOR_REQUIRED, 058 059 /** Characterizing an AT with a nonexistent equality matching rule */ 060 AT_NONEXISTENT_EQUALITY_MATCHING_RULE, 061 062 /** Characterizing an AT with a nonexistent ordering matching rule */ 063 AT_NONEXISTENT_ORDERING_MATCHING_RULE, 064 065 /** Characterizing an AT with a nonexistent substring matching rule */ 066 AT_NONEXISTENT_SUBSTRING_MATCHING_RULE, 067 068 /** Characterizing an AT which has a different usage than its superior */ 069 AT_MUST_HAVE_SAME_USAGE_THAN_SUPERIOR, 070 071 /** Characterizing an AT which has a 'userApplications' usage but is not user modifiable */ 072 AT_USER_APPLICATIONS_USAGE_MUST_BE_USER_MODIFIABLE, 073 074 /** Characterizing an AT which is collective but does not have a 'userApplications' usage */ 075 AT_COLLECTIVE_MUST_HAVE_USER_APPLICATIONS_USAGE, 076 077 /** Characterizing an AT which is collective and is single-valued */ 078 AT_COLLECTIVE_CANNOT_BE_SINGLE_VALUED, 079 080 // Codes for Object Class 081 082 /** Characterizing an abstract OC which inherits from an OC not being abstract */ 083 OC_ABSTRACT_MUST_INHERIT_FROM_ABSTRACT_OC, 084 085 /** Characterizing an auxiliary OC which inherits from a structural OC */ 086 OC_AUXILIARY_CANNOT_INHERIT_FROM_STRUCTURAL_OC, 087 088 /** Characterizing a structural OC which inherits from an auxiliary OC */ 089 OC_STRUCTURAL_CANNOT_INHERIT_FROM_AUXILIARY_OC, 090 091 /** Characterizing an OC with a nonexistent superior */ 092 OC_NONEXISTENT_SUPERIOR, 093 094 /** Characterizing an OC containing a cycle in its class hierarchy */ 095 OC_CYCLE_CLASS_HIERARCHY, 096 097 /** Characterizing an OC with a collective AT in its must ATs list */ 098 OC_COLLECTIVE_NOT_ALLOWED_IN_MUST, 099 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}