/*
 * Copyright 2014 gathanas.
 *
 * Licensed 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 eu.dnetlib.espas.gui.shared;

import com.google.gwt.user.client.rpc.IsSerializable;
import java.util.Date;

/**
 */
public class DataProviderRequestStatus implements IsSerializable {
   private String providerName;
   private DownloadStatus.Status provideStatus;
   private String statusReport;
   private Date lastUpdatedDate;
   private Date expirationDate;
   private String providerDownloadURL;
   private int totalRequests;
   private int completedRequests; 
   private int failedRequests; 
   private int pendingRequests;

   public DataProviderRequestStatus() {
   }

   DataProviderRequestStatus(String providerName, DownloadStatus.Status provideStatus, String statusReport, Date lastUpdatedDate, Date expirationDate,
                                 String providerDownloadURL, int totalRequests, int completedRequests, int failedRequests, int pendingRequests) {
      this.providerName = providerName;
      this.provideStatus = provideStatus;
      this.statusReport = statusReport;
      this.lastUpdatedDate = lastUpdatedDate;
      this.expirationDate = expirationDate;
      this.providerDownloadURL = providerDownloadURL;
      this.totalRequests= totalRequests;
      this.completedRequests = completedRequests;
      this.pendingRequests = pendingRequests;
      this.failedRequests = failedRequests;
   }

   public String getProviderName() {
      return providerName;
   }

   public DownloadStatus.Status getProvideStatus() {
      return provideStatus;
   }

   public String getStatusReport() {
      return statusReport;
   }

   public Date getLastUpdatedDate() {
      return lastUpdatedDate;
   }

   public Date getExpirationDate() {
      return expirationDate;
   }

   public void setProviderName(String providerName) {
      this.providerName = providerName;
   }

   public void setProvideStatus(DownloadStatus.Status provideStatus) {
      this.provideStatus = provideStatus;
   }

   public void setStatusReport(String statusReport) {
      this.statusReport = statusReport;
   }

   public void setLastUpdatedDate(Date lastUpdatedDate) {
      this.lastUpdatedDate = lastUpdatedDate;
   }

   public void setExpirationDate(Date expirationDate) {
      this.expirationDate = expirationDate;
   }

   public String getProviderDownloadURL() {
      return providerDownloadURL;
   }

   public void setProviderDownloadURL(String providerDownloadURL) {
      this.providerDownloadURL = providerDownloadURL;
   }


   public int getTotalRequests() {
      return totalRequests;
   }

   public int getCompletedRequests() {
      return completedRequests;
   }

   public int getFailedRequests() {
      return failedRequests;
   }

   public int getPendingRequests() {
      return pendingRequests;
   }
   
   
}
