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 package org.apache.directory.shared.ldap.aci;
021
022
023 /**
024 * An enumeration that represents all micro-operations that makes up LDAP
025 * operations.
026 *
027 * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
028 * @version $Rev: 481754 $, $Date: 2006-12-03 12:40:18 +0100 (Dim, 03 déc 2006) $
029 */
030 public enum MicroOperation
031 {
032 // Permissions that may be used in conjunction with any component of
033 // <tt>ProtectedItem</tt>s.
034 ADD( "Add" ),
035
036 DISCLOSE_ON_ERROR( "DiscloseOnError" ),
037
038 READ( "Read" ),
039
040 REMOVE( "Remove" ),
041
042 // Permissions that may be used only in conjunction with the entry
043 // component.
044 BROWSE( "Browse" ),
045
046 EXPORT( "Export" ),
047
048 IMPORT( "Import" ),
049
050 MODIFY( "Modify" ),
051
052 RENAME ( "Rename" ),
053
054 RETURN_DN( "ReturnDN" ),
055
056 // Permissions that may be used in conjunction with any component,
057 // except entry, of <tt>ProtectedItem</tt>s.
058 COMPARE( "Compare" ),
059
060 FILTER_MATCH( "FilterMatch" ),
061
062 INVOKE( "Invoke" );
063
064 private final String name;
065
066
067 private MicroOperation(String name)
068 {
069 this.name = name;
070 }
071
072
073 /**
074 * Returns the name of this micro-operation.
075 */
076 public String getName()
077 {
078 return name;
079 }
080
081
082 public String toString()
083 {
084 return name;
085 }
086 }