© 2005 BEA Systems, Inc.

com.bea.content.expression
Class SortCriteria

java.lang.Object
  extended bycom.bea.content.expression.SortCriteria
All Implemented Interfaces:
Cloneable, Comparable, Serializable

public class SortCriteria
extends Object
implements Cloneable, Comparable, Serializable

A class which handles the sortBy part of a Search.

This object represents a single sort criteria, which is a property name and an ascending/descending flag. The class provides a utility method to parse a sortBy string into an array of SortCriteria.

This supports standard SQL-style sort by clauses of the form:

<propname>[ASC|DESC], ...
where ASC|DESC is optional, defaulting to ASC; also, if propname contains a ".", it assumed to be <properyset>.<propname>. Additionally, if the property name contains non-identifier characters (e.g. whitespace, double quotes, dashes, etc.), you can use the toProperty('propname') or toProperty('propertyset', 'propname') construct.

Examples of valid sortBy clauses:

See Also:
Serialized Form

Field Summary
 boolean isAscending
          The ascending or descending order.
 String propertyName
          The property name to sort on.
 String propertySet
          The property set name.
 
Constructor Summary
SortCriteria(String propertyName)
          Constructor.
SortCriteria(String propertyName, boolean isAscending)
          Constructor.
SortCriteria(String propertySet, String propertyName, boolean isAscending)
          Constructor.
 
Method Summary
 Object clone()
          Clone this object.
 int compareTo(Object obj)
          Compare this object to another object.
 boolean equals(Object o)
          Determine if this object is equal to another object.
static SortCriteria[] getSortCriteria(String sortBy)
          Parse the given sort string and return an array of SortCriteria.
 int hashCode()
          Override the hashCode because we override equals().
 String toString()
          Convert to a string.
static String toString(SortCriteria[] sort)
          Convert an array of sort criteria to a sort clause.
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

isAscending

public boolean isAscending
The ascending or descending order.


propertyName

public String propertyName
The property name to sort on.


propertySet

public String propertySet
The property set name.

Constructor Detail

SortCriteria

public SortCriteria(String propertyName)
Constructor.


SortCriteria

public SortCriteria(String propertyName,
                    boolean isAscending)
Constructor.


SortCriteria

public SortCriteria(String propertySet,
                    String propertyName,
                    boolean isAscending)
Constructor.

Method Detail

clone

public Object clone()
Clone this object.


compareTo

public int compareTo(Object obj)
Compare this object to another object.

Specified by:
compareTo in interface Comparable

equals

public boolean equals(Object o)
Determine if this object is equal to another object.


getSortCriteria

public static SortCriteria[] getSortCriteria(String sortBy)
                                      throws IllegalArgumentException
Parse the given sort string and return an array of SortCriteria.

Parameters:
sortBy - the sort string (e.g. "identifier ASC, creationDate DESC").
Returns:
the array of SortCriteria.
Throws:
IllegalArgumentException - thrown on an invalid sortBy string.

hashCode

public int hashCode()
Override the hashCode because we override equals().


toString

public String toString()
Convert to a string.


toString

public static String toString(SortCriteria[] sort)
Convert an array of sort criteria to a sort clause.

This will return a sort clause that, if parsed, will return the equivalent SortCriteria objects as those passed. It will not, however, neccessarily be the same sort clause that might have generated the incoming SortCriteria.


© 2005 BEA Systems, Inc.

Copyright © 2005 BEA Systems, Inc. All Rights Reserved