941N/A# The contents of this file are subject to the terms of the 941N/A# Common Development and Distribution License (the "License"). 941N/A# You may not use this file except in compliance with the License. 941N/A# See the License for the specific language governing permissions 941N/A# and limitations under the License. 941N/A# When distributing Covered Code, include this CDDL HEADER in each 941N/A# If applicable, add the following below this CDDL HEADER, with the 941N/A# fields enclosed by brackets "[]" replaced with your own identifying 941N/A# information: Portions Copyright [yyyy] [name of copyright owner] 2961N/A# Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. 1100N/A """This class exists so that the classes the parent class query parser 1100N/A uses to build the AST are the ones defined in this module and not the 1100N/A parent class's module. This is done so that a single query parser can 1100N/A be shared between the client and server modules but will construct an 1100N/A AST using the appropriate classes.""" 1100N/A# Because many classes do not have client specific modifications, they 1100N/A# simply subclass the parent module's classes. 1100N/A """This class handles the client specific search logic for searching 1100N/A for a specific query term.""" 1100N/A """This function performs the specific steps needed to do 1100N/A The "restriction" parameter is a generator over results that 1100N/A another branch of the AST has already found. If it's not None, 1100N/A then it's treated as the domain for search. If it is None then 1100N/A the actions of all known packages is the domain for search. 1100N/A The "fmris" parameter is a function which produces an object 1100N/A which iterates over all known fmris."""