Oracle

com.compoze.collab
Class Restriction

java.lang.Object
  extended by com.compoze.collab.Restriction
All Implemented Interfaces:
com.compoze.collab.util.IDigestSupport

public abstract class Restriction
extends java.lang.Object
implements com.compoze.collab.util.IDigestSupport

Restricts the items returned from a query. Restrictions are built up into a hierarchy of conditions that are turned into an appropriate query or API call by the provider.

See Also:
IContainer.getItemCount(Restriction)

Field Summary
static int EQUAL
          Represents a ValueRestriction 'equal to' comparison.
static int GREATER
          Represents a ValueRestriction 'greater than' comparison.
static int GREATER_EQUAL
          Represents a ValueRestriction 'greater than or equal to' comparison.
static int LESS
          Represents a ValueRestriction 'less than' comparison.
static int LESS_EQUAL
          Represents a ValueRestriction 'less than or equal to' comparison.
static int NOT_EQUAL
          Represents a ValueRestriction 'not equal' comparison.
static int TYPE_AND
          Indicates the restriction is a Logical AND restriction.
static int TYPE_BINARY
          Indicates the restriction is a binary restriction.
static int TYPE_COMPARE
          Indicates the restriction is a Compare restriction.
static int TYPE_CONTENT
          Indicates the restriction is a Content restriction.
static int TYPE_EXISTS
          Indicates the restriction is an Exists restriction.
static int TYPE_NOT
          Indicates the restriction is a NOT restriction.
static int TYPE_OR
          Indicates the restriction is a Logical OR restriction.
static int TYPE_SIZE
          Indicates the restriction is a Size restriction.
static int TYPE_VALUE
          Indicates the restriction is a Value restriction.
static int WHERE_FULLSTRING
          Indicates the ContentRestriction should match the full string.
static int WHERE_PREFIX
          Indicates the ContentRestriction should match the prefix ('string starts with').
static int WHERE_SUBSTRING
          Indicates the ContentRestriction should match any part of the string.
 
Constructor Summary
Restriction()
           
 
Method Summary
abstract  boolean containsKey(Key k, boolean bRecursive)
          Determines if the restriction contains a particular key or potentially has sub-restrictions which contain the specified key.
static Restriction createAndRestriction(Restriction[] subRestrictions)
          Create an AndRestriction ANDing two or more Restrictions.
static Restriction createAndRestriction(Restriction restriction1, Restriction restriction2)
          Create an AndRestriction ANDing exactly two Restrictions.
static Restriction createBinaryRestriction(Key key, int iRelation, byte[] yBinary)
          Creates a binary restriction.
static Restriction createCompareRestriction(Key key1, int iRelation, Key key2)
          Constructs a Restriction comparing two properties of the same type.
static Restriction createContentRestriction(Key key, java.lang.String sValue, int iWhereType, boolean bIgnoreCase)
          Create a ContentRestriction on a property.
static Restriction createExistsRestriction(Key key)
          Create a Restriction testing whether a property exists.
static Restriction createNotRestriction(Restriction subRestriction)
          Create a NotRestriction inverting the sense of a Restriction
static Restriction createOrRestriction(Restriction[] subRestrictions)
          Create an OrRestriction ORing two or more Restrictions.
static Restriction createOrRestriction(Restriction restriction1, Restriction restriction2)
          Create an OrRestriction ORing exactly two Restrictions.
static Restriction createSizeRestriction(Key key, int iRelation, int iValue)
          Create a SizeRestriction on a property.
static Restriction createValueRestriction(Key key, int iRelation, int iValue)
          Create a ValueRestriction on a property with an int.
static Restriction createValueRestriction(Key key, int iRelation, java.lang.Object value)
          Create a ValueRestriction on a property.
abstract  int getType()
          Gets the type of the restriction.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.compoze.collab.util.IDigestSupport
updateDigest
 

Field Detail

TYPE_AND

public static final int TYPE_AND
Indicates the restriction is a Logical AND restriction.

See Also:
Constant Field Values

TYPE_OR

public static final int TYPE_OR
Indicates the restriction is a Logical OR restriction.

See Also:
Constant Field Values

TYPE_NOT

public static final int TYPE_NOT
Indicates the restriction is a NOT restriction.

See Also:
Constant Field Values

TYPE_CONTENT

public static final int TYPE_CONTENT
Indicates the restriction is a Content restriction.

See Also:
Constant Field Values

TYPE_VALUE

public static final int TYPE_VALUE
Indicates the restriction is a Value restriction.

See Also:
Constant Field Values

TYPE_COMPARE

public static final int TYPE_COMPARE
Indicates the restriction is a Compare restriction.

See Also:
Constant Field Values

TYPE_EXISTS

public static final int TYPE_EXISTS
Indicates the restriction is an Exists restriction.

See Also:
Constant Field Values

TYPE_SIZE

public static final int TYPE_SIZE
Indicates the restriction is a Size restriction.

See Also:
Constant Field Values

TYPE_BINARY

public static final int TYPE_BINARY
Indicates the restriction is a binary restriction.

See Also:
Constant Field Values

WHERE_FULLSTRING

public static final int WHERE_FULLSTRING
Indicates the ContentRestriction should match the full string.

See Also:
Constant Field Values

WHERE_PREFIX

public static final int WHERE_PREFIX
Indicates the ContentRestriction should match the prefix ('string starts with').

See Also:
Constant Field Values

WHERE_SUBSTRING

public static final int WHERE_SUBSTRING
Indicates the ContentRestriction should match any part of the string.

See Also:
Constant Field Values

LESS

public static final int LESS
Represents a ValueRestriction 'less than' comparison.

See Also:
Constant Field Values

LESS_EQUAL

public static final int LESS_EQUAL
Represents a ValueRestriction 'less than or equal to' comparison.

See Also:
Constant Field Values

EQUAL

public static final int EQUAL
Represents a ValueRestriction 'equal to' comparison.

See Also:
Constant Field Values

NOT_EQUAL

public static final int NOT_EQUAL
Represents a ValueRestriction 'not equal' comparison.

See Also:
Constant Field Values

GREATER_EQUAL

public static final int GREATER_EQUAL
Represents a ValueRestriction 'greater than or equal to' comparison.

See Also:
Constant Field Values

GREATER

public static final int GREATER
Represents a ValueRestriction 'greater than' comparison.

See Also:
Constant Field Values
Constructor Detail

Restriction

public Restriction()
Method Detail

getType

public abstract int getType()
Gets the type of the restriction.

Returns:
the type (one of the TYPE_ constants in this class)

createValueRestriction

public static Restriction createValueRestriction(Key key,
                                                 int iRelation,
                                                 java.lang.Object value)
                                          throws CollaborationException
Create a ValueRestriction on a property.

Parameters:
key - key that identifies the property
iRelation - LESS, LESS_EQUAL, EQUAL, NOT_EQUAL, GREATER_EQUAL, GREATER,
value - constant to compare against; must be compatible with key's type
Returns:
a Restriction on the value (not null)
Throws:
CollaborationException - if value is not compatible with the type of key

createValueRestriction

public static Restriction createValueRestriction(Key key,
                                                 int iRelation,
                                                 int iValue)
                                          throws CollaborationException
Create a ValueRestriction on a property with an int.

Parameters:
key - key that identifies the property
iRelation - LESS, LESS_EQUAL, EQUAL, NOT_EQUAL, GREATER_EQUAL, GREATER,
iValue - int to compare against; must be compatible with key's type
Returns:
a Restriction on the int value (not null)
Throws:
CollaborationException - if int is not compatible with the type of key

createAndRestriction

public static Restriction createAndRestriction(Restriction[] subRestrictions)
Create an AndRestriction ANDing two or more Restrictions.

Parameters:
subRestrictions - the Restrictions to AND together
Returns:
the ANDing Restriction (not null)

createAndRestriction

public static Restriction createAndRestriction(Restriction restriction1,
                                               Restriction restriction2)
Create an AndRestriction ANDing exactly two Restrictions.

Parameters:
restriction1 - the first Restriction
restriction2 - the second Restriction
Returns:
the ANDing Restriction (not null)

createOrRestriction

public static Restriction createOrRestriction(Restriction[] subRestrictions)
Create an OrRestriction ORing two or more Restrictions.

Parameters:
subRestrictions - the Restrictions to OR together
Returns:
the ORing Restriction (not null)

createOrRestriction

public static Restriction createOrRestriction(Restriction restriction1,
                                              Restriction restriction2)
Create an OrRestriction ORing exactly two Restrictions.

Parameters:
restriction1 - the first Restriction
restriction2 - the second Restriction
Returns:
the ORing Restriction (not null)

createContentRestriction

public static Restriction createContentRestriction(Key key,
                                                   java.lang.String sValue,
                                                   int iWhereType,
                                                   boolean bIgnoreCase)
Create a ContentRestriction on a property.

Parameters:
key - the key to filter on
sValue - the value to filter
iWhereType - the WHERE_ constant to defined how a match is made; this parameter may be ignored if an invalid property is specified.
bIgnoreCase - whether the restriction should ignore case
Returns:
the content restriction (not null)
Throws:
InvalidArgumentException - if key does not have VALUE_STRING

createCompareRestriction

public static Restriction createCompareRestriction(Key key1,
                                                   int iRelation,
                                                   Key key2)
Constructs a Restriction comparing two properties of the same type.

Parameters:
key1 - key that identifies the first property
iRelation - LESS, LESS_EQUAL, EQUAL, NOT_EQUAL, GREATER_EQUAL, GREATER
key2 - key that identifies the second property
Returns:
the compare restriction (not null)
Throws:
InvalidArgumentException - if key1 and key2 are not the same type

createExistsRestriction

public static Restriction createExistsRestriction(Key key)
Create a Restriction testing whether a property exists.

Parameters:
key - key that identifies the property
Returns:
the exists restriction (not null)

createSizeRestriction

public static Restriction createSizeRestriction(Key key,
                                                int iRelation,
                                                int iValue)
Create a SizeRestriction on a property.

Parameters:
key - key that identifies the property
iRelation - LESS, LESS_EQUAL, EQUAL, NOT_EQUAL, GREATER_EQUAL, GREATER,
iValue - int size to compare against
Returns:
a Restriction on the value size (not null)

createNotRestriction

public static Restriction createNotRestriction(Restriction subRestriction)
Create a NotRestriction inverting the sense of a Restriction

Parameters:
subRestriction - the Restriction to NOT
Returns:
the not restriction (not null)

createBinaryRestriction

public static Restriction createBinaryRestriction(Key key,
                                                  int iRelation,
                                                  byte[] yBinary)
Creates a binary restriction.

Parameters:
key - the key to use for the restriction.
iRelation - the type of relation for this binary restriction. (EQUAL, NOT_EQUAL).
yBinary - the binary value
Returns:
the binary restriction (not null)

containsKey

public abstract boolean containsKey(Key k,
                                    boolean bRecursive)
Determines if the restriction contains a particular key or potentially has sub-restrictions which contain the specified key.

Parameters:
k - the key to search for (not null)
bRecursive - if true, check sub-restrictions as well

Oracle

Copyright ©1999-2008 Oracle All rights reserved.