com.sapportals.wcm.repository

Interface IQueryBuilder


public interface IQueryBuilder

Constructs IQueryExpressions for later use with the corresponding property search manager.

An IQueryBuilder constructs and combines IQueryExpressions, creating new IQueryExpressions, which finally are executed against the property search manager. Construction is done in the following way:

 builder.equ(x, y).and(builder.eq(z, "name")).or(builder.like(y, "%jpg"));
 builder.not(builder.greaterThan(x, new Integer(7)));
 
Note that the result of comparing with undefined properties, XML-typed properties and multi-valued properties is "undefined" (as per standard SQL three-valued logic). Queries against multivalued properties can be expressed using the IMultiValueQueryBuilder (extension) interface.

When combined with "true" and "false" in expressions, "undefined" behaves as below:

 undefined AND undefined -> undefined
 undefined OR undefined -> undefined
 undefined AND true -> undefined
 undefined AND false -> false
 undefined OR true -> true
 undefined OR false -> undefined
 NOT(undefined) -> undefined
 
(the only exception being the special query expression isDefined() which always evaluates to "true" or "false").

Most expressions can be instantiated either untyped (String) or types (Object). The exact behaviour of typed comparisons depends on the implementation. In general, expressions using Boolean, Date, Integer or Long values should evaluate to "undefined" if the property value under consideration is neither of matching type, nor has a compatible string representation. For instance, a string value of "A" would not be compatible with a Long comparison.

Copyright (c) SAP AG 2001-2006


Method Summary
 IQueryExpression constFalse()
           
 IQueryExpression constTrue()
           
 IQueryExpression eq(IPropertyName name, Object value)
          Returns a new expression which tests property == value.
 IQueryExpression eq(IPropertyName name, String value)
          Returns a new expression which tests property == value.
 IQueryExpression eqIgnoreCase(IPropertyName name, String value)
          Returns a new expression which tests property == value, ignoring case.
 IQueryExpression greater(IPropertyName name, Object value)
          Returns a new expression which tests property > value.
 IQueryExpression greater(IPropertyName name, String value)
          Returns a new expression which tests property > value.
 IQueryExpression greaterEq(IPropertyName name, Object value)
          Returns a new expression which tests property >= value.
 IQueryExpression greaterEq(IPropertyName name, String value)
          Returns a new expression which tests property >= value.
 IQueryExpression greaterEqIgnoreCase(IPropertyName name, String value)
          Returns a new expression which tests property >= value, ignoring case.
 IQueryExpression greaterIgnoreCase(IPropertyName name, String value)
          Returns a new expression which tests property > value, ignoring case.
 IQueryExpression isCollection()
          Returns a new expression which tests if the resource is a collection
 IQueryExpression isDefined(IPropertyName name)
          Returns a new expression which tests for the properties existence.
 IQueryExpression less(IPropertyName name, Object value)
          Returns a new expression which tests property < value.
 IQueryExpression less(IPropertyName name, String value)
          Returns a new expression which tests property < value.
 IQueryExpression lessEq(IPropertyName name, Object value)
          Returns a new expression which tests property <= value.
 IQueryExpression lessEq(IPropertyName name, String value)
          Returns a new expression which tests property <= value.
 IQueryExpression lessEqIgnoreCase(IPropertyName name, String value)
          Returns a new expression which tests property <= value, ignoring case.
 IQueryExpression lessIgnoreCase(IPropertyName name, String value)
          Returns a new expression which tests property < value, ignoring case.
 IQueryExpression like(IPropertyName name, String value)
          Returns a new expression which tests property is like value, where value is a wildcard expression.
 IQueryExpression likeIgnoreCase(IPropertyName name, String value)
          Returns a new expression which tests property is like value, where value is a wildcard expression.
 IQueryExpression not(IQueryExpression expression)
          Returns a new expression which is the complement of the given expression.
 IQueryExpression notEq(IPropertyName name, Object value)
          Returns a new expression which tests property !
 IQueryExpression notEq(IPropertyName name, String value)
          Returns a new expression which tests property !
 IQueryExpression notEqIgnoreCase(IPropertyName name, String value)
          Returns a new expression which tests property !
 

Method Detail

eq

IQueryExpression eq(IPropertyName name,
                    Object value)
Returns a new expression which tests property == value.

Parameters:
name - the name of the property
value - to compare against
Returns:
expression representing property == value

eq

IQueryExpression eq(IPropertyName name,
                    String value)
Returns a new expression which tests property == value.

Parameters:
name - the name of the property
value - to compare against
Returns:
expression representing property == value

eqIgnoreCase

IQueryExpression eqIgnoreCase(IPropertyName name,
                              String value)
Returns a new expression which tests property == value, ignoring case.

Parameters:
name - the name of the property
value - to compare against
Returns:
expression representing property == value

notEq

IQueryExpression notEq(IPropertyName name,
                       Object value)
Returns a new expression which tests property != value.

Parameters:
name - the name of the property
value - to compare against
Returns:
expression representing property != value

notEq

IQueryExpression notEq(IPropertyName name,
                       String value)
Returns a new expression which tests property != value.

Parameters:
name - the name of the property
value - to compare against
Returns:
expression representing property != value

notEqIgnoreCase

IQueryExpression notEqIgnoreCase(IPropertyName name,
                                 String value)
Returns a new expression which tests property != value, ignoring case.

Parameters:
name - the name of the property
value - to compare against
Returns:
expression representing property != value

less

IQueryExpression less(IPropertyName name,
                      Object value)
Returns a new expression which tests property < value.

Parameters:
name - the name of the property
value - to compare against
Returns:
expression representing property < value

less

IQueryExpression less(IPropertyName name,
                      String value)
Returns a new expression which tests property < value.

Parameters:
name - the name of the property
value - to compare against
Returns:
expression representing property < value

lessIgnoreCase

IQueryExpression lessIgnoreCase(IPropertyName name,
                                String value)
Returns a new expression which tests property < value, ignoring case.

Parameters:
name - the name3 of the property
value - to compare against
Returns:
expression representing property < value

lessEq

IQueryExpression lessEq(IPropertyName name,
                        Object value)
Returns a new expression which tests property <= value.

Parameters:
name - the name of the property
value - to compare against
Returns:
expression representing property <= value

lessEq

IQueryExpression lessEq(IPropertyName name,
                        String value)
Returns a new expression which tests property <= value.

Parameters:
name - the name of the property
value - to compare against
Returns:
expression representing property <= value

lessEqIgnoreCase

IQueryExpression lessEqIgnoreCase(IPropertyName name,
                                  String value)
Returns a new expression which tests property <= value, ignoring case.

Parameters:
name - the name of the property
value - to compare against
Returns:
expression representing property <= value

greater

IQueryExpression greater(IPropertyName name,
                         Object value)
Returns a new expression which tests property > value.

Parameters:
name - the name of the property
value - to compare against
Returns:
expression representing property > value

greater

IQueryExpression greater(IPropertyName name,
                         String value)
Returns a new expression which tests property > value.

Parameters:
name - the name of the property
value - to compare against
Returns:
expression representing property > value

greaterIgnoreCase

IQueryExpression greaterIgnoreCase(IPropertyName name,
                                   String value)
Returns a new expression which tests property > value, ignoring case.

Parameters:
name - the name of the property
value - to compare against
Returns:
expression representing property > value

greaterEq

IQueryExpression greaterEq(IPropertyName name,
                           Object value)
Returns a new expression which tests property >= value.

Parameters:
name - the name of the property
value - to compare against
Returns:
expression representing property >= value

greaterEq

IQueryExpression greaterEq(IPropertyName name,
                           String value)
Returns a new expression which tests property >= value.

Parameters:
name - the name of the property
value - to compare against
Returns:
expression representing property >= value

greaterEqIgnoreCase

IQueryExpression greaterEqIgnoreCase(IPropertyName name,
                                     String value)
Returns a new expression which tests property >= value, ignoring case.

Parameters:
name - the name of the property
value - to compare against
Returns:
expression representing property >= value

not

IQueryExpression not(IQueryExpression expression)
Returns a new expression which is the complement of the given expression.

Parameters:
expression - to return complement of
Returns:
expression representing !expression

like

IQueryExpression like(IPropertyName name,
                      String value)
Returns a new expression which tests property is like value, where value is a wildcard expression. Wildcard characters are "_" and "%", where "_" matches one character and "%" matches 0 or more characters. "\" can be used as escape character and is only allowed to escape itself, "_" and "%".

Parameters:
name - the name of the property
value - the wildcard expression
Returns:
expression representing property like value

likeIgnoreCase

IQueryExpression likeIgnoreCase(IPropertyName name,
                                String value)
Returns a new expression which tests property is like value, where value is a wildcard expression. Wildcard characters are "_" and "%", where "_" matches one character and "%" matches 0 or more characters. "\" can be used as escape character and is only allowed to escape itself, "_" and "%".

Parameters:
name - the name of the property
value - the wildcard expression
Returns:
expression representing property like value

isDefined

IQueryExpression isDefined(IPropertyName name)
Returns a new expression which tests for the properties existence.

Parameters:
name - the name of the property
Returns:
expression representing "if exists property"

isCollection

IQueryExpression isCollection()
Returns a new expression which tests if the resource is a collection

Returns:
expression representing test if resource is collection

constFalse

IQueryExpression constFalse()
Returns:
constant false

constTrue

IQueryExpression constTrue()
Returns:
constant true
Access Rights

This class can be accessed from:


SC DC Public Part ACH
[sap.com] KMC-CM [sap.com] tc/km/frwk api EP-KM-CM
[sap.com] KMC-WPC [sap.com] tc/kmc/wpc/wpcfacade api EP-PIN-WPC-WCM


Copyright 2014 SAP AG Complete Copyright Notice