You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by ce...@apache.org on 2005/01/27 18:33:56 UTC

cvs commit: logging-log4j/src/java/org/apache/log4j/lbel Operator.java

ceki        2005/01/27 09:33:56

  Added:       src/java/org/apache/log4j/lbel Operator.java
  Log:
  Support class for operators.
  
  Revision  Changes    Path
  1.1                  logging-log4j/src/java/org/apache/log4j/lbel/Operator.java
  
  Index: Operator.java
  ===================================================================
  /*
   * Copyright 1999,2004 The Apache Software Foundation.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *      http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  
  
  package org.apache.log4j.lbel;
  
  
  /**
   * <code>Operator</code> is an enumeration of known comparison operators.
   * 
   * @author <a href="http://www.qos.ch/log4j/">Ceki G&uuml;lc&uuml;</a>
   */
  final public class Operator {
    public static final int EQUAL = 1;
    public static final int NOT_EQUAL = 2;
  
    public static final int GREATER = 10;
    public static final int GREATER_OR_EQUAL = 11;
    
    public static final int LESS = 20;
    public static final int LESS_OR_EQUAL = 21;
    
    public static final int REGEX_MATCH = 30;
    public static final int NOT_REGEX_MATCH = 31;
    
    public static final int CHILDOF = 40;
    
    int code;
  
    Operator(int code) {
      switch(code) {
      case EQUAL: 
      case NOT_EQUAL: 
      case GREATER:    
      case GREATER_OR_EQUAL:    
      case LESS:    
      case LESS_OR_EQUAL: 
      case REGEX_MATCH: 
      case NOT_REGEX_MATCH:
      case CHILDOF:
        break;
      default: 
        new IllegalArgumentException("Unknown operator code ["+code+"]");
      }
    }
  
    public int getCode() {
      return code;
    }
    
    public boolean isRegex() {
      return (code == REGEX_MATCH) || (code == NOT_REGEX_MATCH);
    }
    
    public String toString() {
      switch(code) {
      case EQUAL: return "=";
      case NOT_EQUAL: return "!=";
      case GREATER:    return ">";
      case GREATER_OR_EQUAL: return ">=";   
      case LESS:    return "<";
      case LESS_OR_EQUAL: return "<=";
      case REGEX_MATCH: return "~";
      case NOT_REGEX_MATCH: return "!~";
      case CHILDOF: return "CHILDOF";
      }
      return "UNKNOWN_OPERATOR";
    }
    
  }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org