001 /*
002 * CDDL HEADER START
003 *
004 * The contents of this file are subject to the terms of the
005 * Common Development and Distribution License, Version 1.0 only
006 * (the "License"). You may not use this file except in compliance
007 * with the License.
008 *
009 * You can obtain a copy of the license at
010 * trunk/opends/resource/legal-notices/OpenDS.LICENSE
011 * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
012 * See the License for the specific language governing permissions
013 * and limitations under the License.
014 *
015 * When distributing Covered Code, include this CDDL HEADER in each
016 * file and include the License file at
017 * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
018 * add the following below this CDDL HEADER, with the fields enclosed
019 * by brackets "[]" replaced with your own identifying information:
020 * Portions Copyright [yyyy] [name of copyright owner]
021 *
022 * CDDL HEADER END
023 *
024 *
025 * Copyright 2008 Sun Microsystems, Inc.
026 */
027
028 package org.opends.server.authorization.dseecompat;
029
030 /**
031 * This class provides an enumeration of the valid ACI target operators.
032 */
033 public enum EnumTargetOperator {
034
035 /**
036 * This enumeration is returned when the target operator is "=".
037 */
038 EQUALITY ("="),
039 /**
040 * This enumeration is returned when the target operator is "!=".
041 */
042 NOT_EQUALITY ("!=");
043
044 /*
045 * The target operator name.
046 */
047 private final String operator;
048
049 /**
050 * Create an enumeration of the provided operator name.
051 * @param operator The operator name to create.
052 */
053 EnumTargetOperator(String operator){
054 this.operator = operator;
055 }
056
057 /**
058 * Checks if the provided operator name is equal to the enumeration.
059 * @param op The operator name to check for.
060 * @return True if the operator name is equal to the enumeration.
061 */
062 public boolean isOperator(String op){
063 return op.equalsIgnoreCase(operator);
064 }
065
066 /**
067 * Creates an enumeration of the specified operator type name.
068 * @param op The operator type name to create.
069 * @return Return an enumeration of the operator type name or null if the
070 * name is invalid.
071 */
072 public static EnumTargetOperator createOperator(String op){
073 if (op != null){
074 for (EnumTargetOperator t : EnumTargetOperator.values()){
075 if (t.isOperator(op)){
076 return t;
077 }
078 }
079 }
080 return null;
081 }
082 }