8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Copyright (c) 2006 Sun Microsystems Inc. All Rights Reserved
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * The contents of this file are subject to the terms
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * of the Common Development and Distribution License
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * (the License). You may not use this file except in
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * compliance with the License.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * You can obtain a copy of the License at
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * https://opensso.dev.java.net/public/CDDLv1.0.html or
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * See the License for the specific language governing
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * permission and limitations under the License.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * When distributing Covered Code, include this CDDL
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Header Notice in each file and include the License file
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * If applicable, add the following below the CDDL Header,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * with the fields enclosed by brackets [] replaced by
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * your own identifying information:
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * "Portions Copyrighted [year] [name of copyright owner]"
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * $Id: QueryElement.java,v 1.3 2008/06/25 05:43:35 qcheng Exp $
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * This class defines each individual query format.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * It stores field name, value and relationship between them.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Currently it supports Equal, Not Equal, Greater Than, Lesser Than,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Greater Than Or Equal and Lesser Than Or Equal relationships.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @supported.all.api
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Invalid Relationship.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * minimum relationship. set to "smallest";
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * "GT" in this case.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Greater Than Relationship.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Lesser Than Relationship.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Equal Relationship.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Not Equal Relationship.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Greater Than or Equal Relationship.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Lesser Than or Equal Relationship.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Contains Relationship.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Starts With Relationship.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Ends With Relationship.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * maximum relationship. set to "largest",
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * "EW" in this case
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /* private fields of the class */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**Constructor.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param fld name of the field to be set.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param val value of the field to be set.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param rel relation between field and value to be checked.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public QueryElement(String fld, String val, int rel)
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster if ((rel >= QueryElement.MIN_REL) && (rel <= QueryElement.MAX_REL)) {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster "rel param should be >= QueryElement.GT and <= QueryElement.EW");
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**Default constructor.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Allocates memory for respective items.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * All the fields to be set before use.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Returns the field name on which query to be applied
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @return field name present in this query element.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Returns the value of the field to be compared as stored in the query
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @return value the field to be queried.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Returns relation to be applied in between field and value
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * as stored in the query element.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @return relation the relation between the field and value
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * to be checked.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Sets the field name for this query element.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param field field or column name of the log record
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Sets the value for the field name in this query element.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param value field or column value of the log record
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * This method modifies/sets the relation between the field
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * name and value in this query element.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param value relation between field and value to be matched.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws IllegalArgumentException if relation is invalid.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster if ((value >= QueryElement.MIN_REL) && (value <= QueryElement.MAX_REL))
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster "value should be >= QueryElement.GT and <= QueryElement.EW");