/* 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.control.webharvest.engine;
import com.esri.gpt.catalog.harvest.jobs.HjRecord;
import com.esri.gpt.catalog.harvest.repository.HrRecord;
import com.esri.gpt.control.webharvest.common.CommonCriteria;
import com.esri.gpt.framework.resource.query.Criteria;
/**
* Task.
*/
public class Task {
/** resource to harvest */
private HrRecord resource;
/** criteria */
private Criteria criteria = new CommonCriteria();
/**
* Creates instance of the task.
* @param resource resource
* @param criteria criteria
*/
public Task(HrRecord resource, Criteria criteria) {
if (resource==null) {
throw new IllegalArgumentException("No resource provided.");
}
this.resource = resource;
this.criteria = criteria!=null? criteria: new CommonCriteria();
}
/**
* Creates instance of the task.
* @param record job record
*/
public Task(HjRecord record) {
this(record.getHarvestSite(), record.getCriteria());
}
/**
* Gets resource to harvest.
* @return resource
*/
public HrRecord getResource() {
return resource;
}
/**
* Gets criteria.
* @return criteria
*/
public Criteria getCriteria() {
return criteria;
}
}