/** * Copyright (c) 2000-present Liferay, Inc. All rights reserved. * * This library is free software; you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by the Free * Software Foundation; either version 2.1 of the License, or (at your option) * any later version. * * This library is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. */ package com.liferay.portal.kernel.dao.orm; import com.liferay.portal.kernel.util.OrderByComparator; import com.liferay.portal.kernel.util.TableNameOrderByComparator; import com.liferay.portal.kernel.workflow.WorkflowConstants; import java.io.Serializable; import java.util.HashMap; import java.util.Map; /** * @author Zsolt Berentey */ public class QueryDefinition<T> { public QueryDefinition() { } public QueryDefinition(int status) { this(status, 0, false); } public QueryDefinition( int status, boolean excludeStatus, int start, int end, OrderByComparator<T> orderByComparator) { this(status, excludeStatus, 0, false, start, end, orderByComparator); } public QueryDefinition( int status, boolean excludeStatus, long ownerUserId, boolean includeOwner, int start, int end, OrderByComparator<T> orderByComparator) { _status = status; _excludeStatus = excludeStatus; _ownerUserId = ownerUserId; _includeOwner = includeOwner; _start = start; _end = end; setOrderByComparator(orderByComparator); } public QueryDefinition( int status, int start, int end, OrderByComparator<T> orderByComparator) { this(status, 0, false, start, end, orderByComparator); } public QueryDefinition(int status, long ownerUserId, boolean includeOwner) { if (status == WorkflowConstants.STATUS_ANY) { setStatus(WorkflowConstants.STATUS_IN_TRASH, true); } else { setStatus(status); } _ownerUserId = ownerUserId; _includeOwner = includeOwner; } public QueryDefinition( int status, long ownerUserId, boolean includeOwner, int start, int end, OrderByComparator<T> orderByComparator) { if (status == WorkflowConstants.STATUS_ANY) { setStatus(WorkflowConstants.STATUS_IN_TRASH, true); } else { setStatus(status); } _ownerUserId = ownerUserId; _includeOwner = includeOwner; _start = start; _end = end; setOrderByComparator(orderByComparator); } public Serializable getAttribute(String name) { if (_attributes == null) { return null; } return _attributes.get(name); } public Map<String, Serializable> getAttributes() { return _attributes; } public int getEnd() { return _end; } public OrderByComparator<T> getOrderByComparator() { return _orderByComparator; } public OrderByComparator<T> getOrderByComparator(String tableName) { if (_orderByComparator == null) { return null; } return new TableNameOrderByComparator<>(_orderByComparator, tableName); } public long getOwnerUserId() { return _ownerUserId; } public int getStart() { return _start; } public int getStatus() { return _status; } public boolean isExcludeStatus() { return _excludeStatus; } public boolean isIncludeOwner() { return _includeOwner; } public void setAttribute(String name, Serializable value) { if (_attributes == null) { _attributes = new HashMap<>(); } _attributes.put(name, value); } public void setAttributes(Map<String, Serializable> attributes) { _attributes = attributes; } public void setEnd(int end) { _end = end; } public void setIncludeOwner(boolean includeOwner) { _includeOwner = includeOwner; } public void setOrderByComparator(OrderByComparator<T> orderByComparator) { _orderByComparator = orderByComparator; } public void setOwnerUserId(long ownerUserId) { _ownerUserId = ownerUserId; } public void setStart(int start) { _start = start; } public void setStatus(int status) { setStatus(status, false); } public void setStatus(int status, boolean exclude) { _excludeStatus = exclude; _status = status; } private Map<String, Serializable> _attributes; private int _end = QueryUtil.ALL_POS; private boolean _excludeStatus; private boolean _includeOwner; private OrderByComparator<T> _orderByComparator; private long _ownerUserId; private int _start = QueryUtil.ALL_POS; private int _status = WorkflowConstants.STATUS_ANY; }