// Code generated by jtd-codegen for Java + Jackson v0.2.1

package com.senzing.typedef;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import java.util.Map;

@JsonSerialize
public class Workload {
    @JsonProperty("apiVersion")
    private String apiVersion;

    @JsonProperty("caches")
    private WorkloadCaches caches;

    @JsonProperty("candidates")
    private WorkloadCandidates candidates;

    @JsonProperty("contention")
    private WorkloadContention contention;

    @JsonProperty("datetimestamp")
    private String datetimestamp;

    @JsonProperty("expressedFeatures")
    private WorkloadExpressedFeatures expressedFeatures;

    @JsonProperty("genericDetect")
    private Fixme genericDetect;

    @JsonProperty("license")
    private WorkloadLicense license;

    @JsonProperty("loadedRecords")
    private Integer loadedRecords;

    @JsonProperty("lockWaits")
    private WorkloadLockWaits lockWaits;

    @JsonProperty("processing")
    private WorkloadProcessing processing;

    @JsonProperty("redoTriggers")
    private Map<String, Integer> redoTriggers;

    @JsonProperty("repairDiagnosis")
    private WorkloadRepairDiagnosis repairDiagnosis;

    @JsonProperty("reresolve")
    private WorkloadReresolve reresolve;

    @JsonProperty("scoring")
    private WorkloadScoring scoring;

    @JsonProperty("systemResources")
    private WorkloadSystemResources systemResources;

    @JsonProperty("threadState")
    private WorkloadThreadState threadState;

    @JsonProperty("unresolve")
    private WorkloadUnresolve unresolve;

    public Workload() {
    }

    /**
     * Getter for apiVersion.<p>
     */
    public String getApiVersion() {
        return apiVersion;
    }

    /**
     * Setter for apiVersion.<p>
     */
    public void setApiVersion(String apiVersion) {
        this.apiVersion = apiVersion;
    }

    /**
     * Getter for caches.<p>
     */
    public WorkloadCaches getCaches() {
        return caches;
    }

    /**
     * Setter for caches.<p>
     */
    public void setCaches(WorkloadCaches caches) {
        this.caches = caches;
    }

    /**
     * Getter for candidates.<p>
     */
    public WorkloadCandidates getCandidates() {
        return candidates;
    }

    /**
     * Setter for candidates.<p>
     */
    public void setCandidates(WorkloadCandidates candidates) {
        this.candidates = candidates;
    }

    /**
     * Getter for contention.<p>
     */
    public WorkloadContention getContention() {
        return contention;
    }

    /**
     * Setter for contention.<p>
     */
    public void setContention(WorkloadContention contention) {
        this.contention = contention;
    }

    /**
     * Getter for datetimestamp.<p>
     */
    public String getDatetimestamp() {
        return datetimestamp;
    }

    /**
     * Setter for datetimestamp.<p>
     */
    public void setDatetimestamp(String datetimestamp) {
        this.datetimestamp = datetimestamp;
    }

    /**
     * Getter for expressedFeatures.<p>
     */
    public WorkloadExpressedFeatures getExpressedFeatures() {
        return expressedFeatures;
    }

    /**
     * Setter for expressedFeatures.<p>
     */
    public void setExpressedFeatures(WorkloadExpressedFeatures expressedFeatures) {
        this.expressedFeatures = expressedFeatures;
    }

    /**
     * Getter for genericDetect.<p>
     */
    public Fixme getGenericDetect() {
        return genericDetect;
    }

    /**
     * Setter for genericDetect.<p>
     */
    public void setGenericDetect(Fixme genericDetect) {
        this.genericDetect = genericDetect;
    }

    /**
     * Getter for license.<p>
     */
    public WorkloadLicense getLicense() {
        return license;
    }

    /**
     * Setter for license.<p>
     */
    public void setLicense(WorkloadLicense license) {
        this.license = license;
    }

    /**
     * Getter for loadedRecords.<p>
     */
    public Integer getLoadedRecords() {
        return loadedRecords;
    }

    /**
     * Setter for loadedRecords.<p>
     */
    public void setLoadedRecords(Integer loadedRecords) {
        this.loadedRecords = loadedRecords;
    }

    /**
     * Getter for lockWaits.<p>
     */
    public WorkloadLockWaits getLockWaits() {
        return lockWaits;
    }

    /**
     * Setter for lockWaits.<p>
     */
    public void setLockWaits(WorkloadLockWaits lockWaits) {
        this.lockWaits = lockWaits;
    }

    /**
     * Getter for processing.<p>
     */
    public WorkloadProcessing getProcessing() {
        return processing;
    }

    /**
     * Setter for processing.<p>
     */
    public void setProcessing(WorkloadProcessing processing) {
        this.processing = processing;
    }

    /**
     * Getter for redoTriggers.<p>
     */
    public Map<String, Integer> getRedoTriggers() {
        return redoTriggers;
    }

    /**
     * Setter for redoTriggers.<p>
     */
    public void setRedoTriggers(Map<String, Integer> redoTriggers) {
        this.redoTriggers = redoTriggers;
    }

    /**
     * Getter for repairDiagnosis.<p>
     */
    public WorkloadRepairDiagnosis getRepairDiagnosis() {
        return repairDiagnosis;
    }

    /**
     * Setter for repairDiagnosis.<p>
     */
    public void setRepairDiagnosis(WorkloadRepairDiagnosis repairDiagnosis) {
        this.repairDiagnosis = repairDiagnosis;
    }

    /**
     * Getter for reresolve.<p>
     */
    public WorkloadReresolve getReresolve() {
        return reresolve;
    }

    /**
     * Setter for reresolve.<p>
     */
    public void setReresolve(WorkloadReresolve reresolve) {
        this.reresolve = reresolve;
    }

    /**
     * Getter for scoring.<p>
     */
    public WorkloadScoring getScoring() {
        return scoring;
    }

    /**
     * Setter for scoring.<p>
     */
    public void setScoring(WorkloadScoring scoring) {
        this.scoring = scoring;
    }

    /**
     * Getter for systemResources.<p>
     */
    public WorkloadSystemResources getSystemResources() {
        return systemResources;
    }

    /**
     * Setter for systemResources.<p>
     */
    public void setSystemResources(WorkloadSystemResources systemResources) {
        this.systemResources = systemResources;
    }

    /**
     * Getter for threadState.<p>
     */
    public WorkloadThreadState getThreadState() {
        return threadState;
    }

    /**
     * Setter for threadState.<p>
     */
    public void setThreadState(WorkloadThreadState threadState) {
        this.threadState = threadState;
    }

    /**
     * Getter for unresolve.<p>
     */
    public WorkloadUnresolve getUnresolve() {
        return unresolve;
    }

    /**
     * Setter for unresolve.<p>
     */
    public void setUnresolve(WorkloadUnresolve unresolve) {
        this.unresolve = unresolve;
    }
}
