//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-2 
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
// Any modifications to this file will be lost upon recompilation of the source schema. 
// Generated on: 2013.08.27 at 09:45:12 AM CEST 
//


package org.apache.batchee.jaxb;

import jakarta.xml.bind.annotation.XmlAccessType;
import jakarta.xml.bind.annotation.XmlAccessorType;
import jakarta.xml.bind.annotation.XmlAttribute;
import jakarta.xml.bind.annotation.XmlElement;
import jakarta.xml.bind.annotation.XmlType;


/**
 * Java class for Chunk complex type.
 * <p>
 * The following schema fragment specifies the expected content contained within this class.
 *
 * <pre>
 * &lt;complexType name="Chunk"&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="reader" type="{https://jakarta.ee/xml/ns/jakartaee}ItemReader"/&gt;
 *         &lt;element name="processor" type="{https://jakarta.ee/xml/ns/jakartaee}ItemProcessor" minOccurs="0"/&gt;
 *         &lt;element name="writer" type="{https://jakarta.ee/xml/ns/jakartaee}ItemWriter"/&gt;
 *         &lt;element name="checkpoint-algorithm" type="{https://jakarta.ee/xml/ns/jakartaee}CheckpointAlgorithm" minOccurs="0"/&gt;
 *         &lt;element name="skippable-exception-classes" type="{https://jakarta.ee/xml/ns/jakartaee}ExceptionClassFilter" minOccurs="0"/&gt;
 *         &lt;element name="retryable-exception-classes" type="{https://jakarta.ee/xml/ns/jakartaee}ExceptionClassFilter" minOccurs="0"/&gt;
 *         &lt;element name="no-rollback-exception-classes" type="{https://jakarta.ee/xml/ns/jakartaee}ExceptionClassFilter" minOccurs="0"/&gt;
 *       &lt;/sequence&gt;
 *       &lt;attribute name="checkpoint-policy" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
 *       &lt;attribute name="item-count" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
 *       &lt;attribute name="time-limit" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
 *       &lt;attribute name="skip-limit" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
 *       &lt;attribute name="retry-limit" type="{http://www.w3.org/2001/XMLSchema}string" /&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Chunk", propOrder = {
    "reader",
    "processor",
    "writer",
    "checkpointAlgorithm",
    "skippableExceptionClasses",
    "retryableExceptionClasses",
    "noRollbackExceptionClasses"
})
public class Chunk {

    @XmlElement(required = true)
    protected ItemReader reader;
    protected ItemProcessor processor;
    @XmlElement(required = true)
    protected ItemWriter writer;
    @XmlElement(name = "checkpoint-algorithm")
    protected CheckpointAlgorithm checkpointAlgorithm;
    @XmlElement(name = "skippable-exception-classes")
    protected ExceptionClassFilter skippableExceptionClasses;
    @XmlElement(name = "retryable-exception-classes")
    protected ExceptionClassFilter retryableExceptionClasses;
    @XmlElement(name = "no-rollback-exception-classes")
    protected ExceptionClassFilter noRollbackExceptionClasses;
    @XmlAttribute(name = "checkpoint-policy")
    protected String checkpointPolicy;
    @XmlAttribute(name = "item-count")
    protected String itemCount;
    @XmlAttribute(name = "time-limit")
    protected String timeLimit;
    @XmlAttribute(name = "skip-limit")
    protected String skipLimit;
    @XmlAttribute(name = "retry-limit")
    protected String retryLimit;

    /**
     * Gets the value of the reader property.
     *
     * @return possible object is
     * {@link ItemReader }
     */
    public ItemReader getReader() {
        return reader;
    }

    /**
     * Sets the value of the reader property.
     *
     * @param value allowed object is
     *              {@link ItemReader }
     */
    public void setReader(ItemReader value) {
        this.reader = value;
    }

    /**
     * Gets the value of the processor property.
     *
     * @return possible object is
     * {@link ItemProcessor }
     */
    public ItemProcessor getProcessor() {
        return processor;
    }

    /**
     * Sets the value of the processor property.
     *
     * @param value allowed object is
     *              {@link ItemProcessor }
     */
    public void setProcessor(ItemProcessor value) {
        this.processor = value;
    }

    /**
     * Gets the value of the writer property.
     *
     * @return possible object is
     * {@link ItemWriter }
     */
    public ItemWriter getWriter() {
        return writer;
    }

    /**
     * Sets the value of the writer property.
     *
     * @param value allowed object is
     *              {@link ItemWriter }
     */
    public void setWriter(ItemWriter value) {
        this.writer = value;
    }

    /**
     * Gets the value of the checkpointAlgorithm property.
     *
     * @return possible object is
     * {@link CheckpointAlgorithm }
     */
    public CheckpointAlgorithm getCheckpointAlgorithm() {
        return checkpointAlgorithm;
    }

    /**
     * Sets the value of the checkpointAlgorithm property.
     *
     * @param value allowed object is
     *              {@link CheckpointAlgorithm }
     */
    public void setCheckpointAlgorithm(CheckpointAlgorithm value) {
        this.checkpointAlgorithm = value;
    }

    /**
     * Gets the value of the skippableExceptionClasses property.
     *
     * @return possible object is
     * {@link ExceptionClassFilter }
     */
    public ExceptionClassFilter getSkippableExceptionClasses() {
        return skippableExceptionClasses;
    }

    /**
     * Sets the value of the skippableExceptionClasses property.
     *
     * @param value allowed object is
     *              {@link ExceptionClassFilter }
     */
    public void setSkippableExceptionClasses(ExceptionClassFilter value) {
        this.skippableExceptionClasses = value;
    }

    /**
     * Gets the value of the retryableExceptionClasses property.
     *
     * @return possible object is
     * {@link ExceptionClassFilter }
     */
    public ExceptionClassFilter getRetryableExceptionClasses() {
        return retryableExceptionClasses;
    }

    /**
     * Sets the value of the retryableExceptionClasses property.
     *
     * @param value allowed object is
     *              {@link ExceptionClassFilter }
     */
    public void setRetryableExceptionClasses(ExceptionClassFilter value) {
        this.retryableExceptionClasses = value;
    }

    /**
     * Gets the value of the noRollbackExceptionClasses property.
     *
     * @return possible object is
     * {@link ExceptionClassFilter }
     */
    public ExceptionClassFilter getNoRollbackExceptionClasses() {
        return noRollbackExceptionClasses;
    }

    /**
     * Sets the value of the noRollbackExceptionClasses property.
     *
     * @param value allowed object is
     *              {@link ExceptionClassFilter }
     */
    public void setNoRollbackExceptionClasses(ExceptionClassFilter value) {
        this.noRollbackExceptionClasses = value;
    }

    /**
     * Gets the value of the checkpointPolicy property.
     *
     * @return possible object is
     * {@link String }
     */
    public String getCheckpointPolicy() {
        return checkpointPolicy;
    }

    /**
     * Sets the value of the checkpointPolicy property.
     *
     * @param value allowed object is
     *              {@link String }
     */
    public void setCheckpointPolicy(String value) {
        this.checkpointPolicy = value;
    }

    /**
     * Gets the value of the itemCount property.
     *
     * @return possible object is
     * {@link String }
     */
    public String getItemCount() {
        return itemCount;
    }

    /**
     * Sets the value of the itemCount property.
     *
     * @param value allowed object is
     *              {@link String }
     */
    public void setItemCount(String value) {
        this.itemCount = value;
    }

    /**
     * Gets the value of the timeLimit property.
     *
     * @return possible object is
     * {@link String }
     */
    public String getTimeLimit() {
        return timeLimit;
    }

    /**
     * Sets the value of the timeLimit property.
     *
     * @param value allowed object is
     *              {@link String }
     */
    public void setTimeLimit(String value) {
        this.timeLimit = value;
    }

    /**
     * Gets the value of the skipLimit property.
     *
     * @return possible object is
     * {@link String }
     */
    public String getSkipLimit() {
        return skipLimit;
    }

    /**
     * Sets the value of the skipLimit property.
     *
     * @param value allowed object is
     *              {@link String }
     */
    public void setSkipLimit(String value) {
        this.skipLimit = value;
    }

    /**
     * Gets the value of the retryLimit property.
     *
     * @return possible object is
     * {@link String }
     */
    public String getRetryLimit() {
        return retryLimit;
    }

    /**
     * Sets the value of the retryLimit property.
     *
     * @param value allowed object is
     *              {@link String }
     */
    public void setRetryLimit(String value) {
        this.retryLimit = value;
    }

}
