package net.smartcosmos.model.batch;

/*
 * *#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*
 * SMART COSMOS Platform Core SDK
 * ===============================================================================
 * Copyright (C) 2013 - 2015 SMARTRAC Technology Fletcher, Inc.
 * ===============================================================================
 * 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.
 * #*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
 */

public interface IBatchStatusReport
{
    long getBatchProcessorStartTimestamp();

    BatchProcessorStatus getBatchProcessorStatus();

    int getPercentageComplete();

    long getLastPercentageCompleteUpdateTimestamp();

    long getBatchProcessorStopTimestamp();

    String getErrorMessage();

    int getErrorCode();

    void setBatchProcessorStartTimestamp(long batchProcessorStartTimestamp);

    void setBatchProcessorStatus(BatchProcessorStatus batchProcessorStatus);

    void setPercentageComplete(int percentageComplete);

    void setLastPercentageCompleteUpdateTimestamp(long lastPercentageCompleteUpdateTimestamp);

    void setBatchProcessorStopTimestamp(long batchProcessorStopTimestamp);

    void setErrorMessage(String errorMessage);

    void setErrorCode(int errorCode);
}
