/* See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* Esri Inc. licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.esri.gpt.catalog.harvest.repository;
import com.esri.gpt.catalog.harvest.protocols.HarvestProtocol;
import com.esri.gpt.framework.request.QueryCriteria;
import com.esri.gpt.framework.util.DateRange;
import com.esri.gpt.framework.util.UuidUtil;
import com.esri.gpt.framework.util.Val;
/**
* Harvest repository search criteria.
*/
public class HrQueryCriteria extends QueryCriteria {
// class variables =============================================================
// instance variables ==========================================================
/** Harvest protocol type. */
private HarvestProtocol.ProtocolType _protocolType =
HarvestProtocol.ProtocolType.None;
/** Repository name. */
private String _name = "";
/** Host name. */
private String _hostUrl = "";
/** Update date range. */
private DateRange _dateRange = new DateRange();
/** Repository uuid. */
private String _uuid = "";
/** Repository local id. */
private String _localId = "";
/** Last harvest date range. */
private DateRange _lastHarvestDateRange = new DateRange();
/** Due only. */
private boolean _dueOnly;
// constructors ================================================================
// properties ==================================================================
/**
* Gets protocol type.
* @return protocol type
*/
public HarvestProtocol.ProtocolType getProtocolType() {
return _protocolType;
}
/**
* Sets protocol type.
* @param protocolType protocol type.
*/
public void setProtocolType(HarvestProtocol.ProtocolType protocolType) {
_protocolType = protocolType;
}
/**
* Gets protocol type as string.
* @return protocol type as string
*/
public String getProtocolTypeAsString() {
return getProtocolType().name().toLowerCase();
}
/**
* Sets protocol type as string.
* @param name protocol type as string
*/
public void setProtocolTypeAsString(String name) {
setProtocolType(HarvestProtocol.ProtocolType.checkValueOf(name));
}
/**
* Gets repository name.
* @return repository name
*/
public String getName() {
return _name;
}
/**
* Sets repository name.
* @param name repository name
*/
public void setName(String name) {
_name = Val.chkStr(name);
}
/**
* Gets host name.
* @return hostUrl name
*/
public String getHost() {
return _hostUrl;
}
/**
* Sets host url.
* @param hostUrl hostUrl url
*/
public void setHost(String hostUrl) {
_hostUrl = Val.chkStr(hostUrl);
}
/**
* Gets date range.
* @return date range
*/
public DateRange getDateRange() {
return _dateRange;
}
/**
* Sets update date range.
* @param dateRange update date range
*/
public void setDateRange(DateRange dateRange) {
_dateRange = dateRange != null ? dateRange : new DateRange();
}
/**
* Gets date range.
* @return date range
*/
public DateRange getLastHarvestDateRange() {
return _lastHarvestDateRange;
}
/**
* Sets update date range.
* @param dateRange update date range
*/
public void setLastHarvestDateRange(DateRange dateRange) {
_lastHarvestDateRange = dateRange != null ? dateRange : new DateRange();
}
/**
* Gets uuid.
* @return uuid
*/
public String getUuid() {
return _uuid;
}
/**
* Sets uuid.
* @param uuid uuid
*/
public void setUuid(String uuid) {
_uuid = UuidUtil.isUuid(uuid) ? uuid : "";
}
/**
* Gets local id.
* @return local id
*/
public String getLocalId() {
return _localId;
}
/**
* Sets local id.
* @param localId local id
*/
public void setLocalId(String localId) {
_localId = Val.chkStr(localId);
}
/**
* Get due only flag.
* @return <code>true</code> to search records due now only
*/
public boolean getDueOnly() {
return _dueOnly;
}
/**
* Set due only flag.
* @param dueOnly <code>true</code> to search records due now only
*/
public void setDueOnly(boolean dueOnly) {
_dueOnly = dueOnly;
}
// methods =====================================================================
}