View Javadoc

1   /*
2    * EL4J, the Extension Library for the J2EE, adds incremental enhancements to
3    * the spring framework, http://el4j.sf.net
4    * Copyright (C) 2008 by ELCA Informatique SA, Av. de la Harpe 22-24,
5    * 1000 Lausanne, Switzerland, http://www.elca.ch
6    *
7    * EL4J is published under the GNU Lesser General Public License (LGPL)
8    * Version 2.1. See http://www.gnu.org/licenses/
9    *
10   * This program is distributed in the hope that it will be useful,
11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13   * GNU Lesser General Public License for more details.
14   *
15   * For alternative licensing, please contact info@elca.ch
16   */
17  package ch.elca.el4j.services.search.criterias;
18  
19  import java.io.Serializable;
20  
21  /**
22   * Represents an order imposed upon a {@link QueryObject} result set.
23   *   Simplification of Order class of hibernate
24   *
25   * @svnLink $Revision: 3882 $;$Date: 2009-08-04 15:24:14 +0200 (Di, 04. Aug 2009) $;$Author: swismer $;$URL: https://el4j.svn.sourceforge.net/svnroot/el4j/branches/el4j_3_1/el4j/framework/modules/core/src/main/java/ch/elca/el4j/services/search/criterias/Order.java $
26   *
27   * @author Philipp Oser (POS)
28   */
29  public class Order implements Serializable {
30  
31  	private boolean ascending;
32  	private String propertyName;
33  	
34  	public String toString() {
35  		return propertyName + ' ' + (ascending?"asc":"desc");
36  	}
37  
38  	/**
39  	 * Constructor for Order.
40  	 */
41  	protected Order(String propertyName, boolean ascending) {
42  		this.propertyName = propertyName;
43  		this.ascending = ascending;
44  	}
45  
46  
47  	/**
48  	 * Ascending order
49  	 *
50  	 * @param propertyName
51  	 * @return Order
52  	 */
53  	public static Order asc(String propertyName) {
54  		return new Order(propertyName, true);
55  	}
56  
57  	/**
58  	 * Descending order
59  	 *
60  	 * @param propertyName
61  	 * @return Order
62  	 */
63  	public static Order desc(String propertyName) {
64  		return new Order(propertyName, false);
65  	}
66  
67  	public boolean isAscending() {
68  		return ascending;
69  	}
70  
71  	public String getPropertyName() {
72  		return propertyName;
73  	}
74  
75  }