LayoutPriorityComparator.java |
1 /** 2 * Copyright (c) 2000-2009 Liferay, Inc. All rights reserved. 3 * 4 * The contents of this file are subject to the terms of the Liferay Enterprise 5 * Subscription License ("License"). You may not use this file except in 6 * compliance with the License. You can obtain a copy of the License by 7 * contacting Liferay, Inc. See the License for the specific language governing 8 * permissions and limitations under the License, including but not limited to 9 * distribution rights of the Software. 10 * 11 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 12 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 13 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 14 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 15 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 16 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 17 * SOFTWARE. 18 */ 19 20 package com.liferay.portal.util.comparator; 21 22 import com.liferay.portal.kernel.util.OrderByComparator; 23 import com.liferay.portal.model.Layout; 24 25 /** 26 * <a href="LayoutPriorityComparator.java.html"><b><i>View Source</i></b></a> 27 * 28 * @author Brian Wing Shun Chan 29 * 30 */ 31 public class LayoutPriorityComparator extends OrderByComparator { 32 33 public static String ORDER_BY_ASC = "priority ASC"; 34 35 public LayoutPriorityComparator(Layout layout, boolean lessThan) { 36 _layout = layout; 37 _lessThan = lessThan; 38 } 39 40 public int compare(Object obj1, Object obj2) { 41 Layout layout1 = (Layout)obj1; 42 Layout layout2 = (Layout)obj2; 43 44 int priority1 = layout1.getPriority(); 45 int priority2 = layout2.getPriority(); 46 47 if (priority1 > priority2) { 48 return 1; 49 } 50 else if (priority1 < priority2) { 51 return -1; 52 } 53 else { 54 if (_layout.equals(layout1)) { 55 if (_lessThan) { 56 return 1; 57 } 58 else { 59 return -1; 60 } 61 } 62 else if (_layout.equals(layout2)) { 63 if (_lessThan) { 64 return -1; 65 } 66 else { 67 return 1; 68 } 69 } 70 71 return 0; 72 } 73 } 74 75 public String getOrderBy() { 76 return ORDER_BY_ASC; 77 } 78 79 private Layout _layout; 80 private boolean _lessThan; 81 82 }