| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more contributor license |
| * agreements. See the NOTICE file distributed with this work for additional information regarding |
| * copyright ownership. The ASF licenses this file to You 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. |
| */ |
| /* |
| * Created on Nov 18, 2005 |
| * |
| * |
| */ |
| package org.apache.geode.cache.query.internal; |
| |
| /** |
| * Helper class object which gets created during organization of operands in a GroupJunction or a |
| * CompiledJunction. The filterOperand refers to a filter evaluatable group of conditions. The group |
| * itself may be a single GroupJunction or an AllGroupJunction or a CompositeGroupJunction. It may |
| * also be a CompiledJunction, if there exists a filter evaluatable subtree of CompiledJunction |
| * along with any of the above mentioned three structures . The iterateOperand refers to a single or |
| * group of conditions which are not filter evaluatable. |
| * |
| * |
| * |
| */ |
| class OrganizedOperands { |
| |
| Filter filterOperand; |
| CompiledValue iterateOperand; |
| /** |
| * Asif : This field indicates if there exists only a Single Filter operand in a GroupJunction ( |
| * implying a CompiledComparison or CompiledUndefined.) or CompiledJunction ( implying a |
| * GroupJunction or an AllGroupJunction or a CompositeGroupJunction ).Inside a GroupJunction , if |
| * the boolean is true then iter operands can be passed as a parameter which can be evaluated |
| * during index result expansion/truncation etc . Also the filterEvaluate method will be invoked |
| * directly . If there exists multiple filter ops ( multiple CompiledComparisons ) then a Dummy |
| * GroupJunction will get created & the boolean will be false. In that case , the iter ops passed |
| * will be null, as evident from the the auxFilterEvauate function of this class. |
| */ |
| boolean isSingleFilter; |
| } |