/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.essar.mes.service.framework;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;

/**
 *
 * @author dhaval
 */
public class Service {

    private String className;
    private String methodName;
    private Date callTime;
    private Date returnTime;
    private String id;
    private Object[] argument;
    private Object result;
    private List<ValidationError> validationErrors;
    private List<ValidationError> resultValidationErrors;

    public Service() {
        validationErrors = new ArrayList<ValidationError>();
        resultValidationErrors = new ArrayList<ValidationError>();
    }


    public Date getCallTime() {
        return callTime;
    }

    public void setCallTime(Date callTime) {
        this.callTime = callTime;
    }

    public String getClassName() {
        return className;
    }

    public void setClassName(String className) {
        this.className = className;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getMethodName() {
        return methodName;
    }

    public void setMethodName(String methodName) {
        this.methodName = methodName;
    }

    public void setArgument(Object[] argument) {
        this.argument = argument;
    }

    public Object[] getArgument() {
        return argument;
    }

    public void setResult(Object result) {
        this.result = result;
    }

    public Object getResult() {
        return result;
    }

    public List<ValidationError> getValidationErrors() {
        return Collections.unmodifiableList(validationErrors);
    }

    public void addValidationError(ValidationError error){
        validationErrors.add(error);
    }

    public void setReturnTime(Date returnTime) {
        this.returnTime = returnTime;
    }

    public Date getReturnTime() {
        return returnTime;
    }

    public List<ValidationError> getResultValidationErrors() {
        return Collections.unmodifiableList(resultValidationErrors);
    }

    public void addResultValidationError(ValidationError error){
        resultValidationErrors.add(error);
    }
}
