All Downloads are FREE. Search and download functionalities are using the official Maven repository.

gobblin.service.Schedule Maven / Gradle / Ivy

The newest version!

package gobblin.service;

import java.util.List;
import javax.annotation.Generated;
import javax.annotation.Nonnull;
import com.linkedin.data.DataMap;
import com.linkedin.data.schema.PathSpec;
import com.linkedin.data.schema.RecordDataSchema;
import com.linkedin.data.template.DataTemplateUtil;
import com.linkedin.data.template.GetMode;
import com.linkedin.data.template.RecordTemplate;
import com.linkedin.data.template.SetMode;


/**
 * Attributes for defining a job schedule
 * 
 */
@Generated(value = "com.linkedin.pegasus.generator.JavaCodeUtil", comments = "Rest.li Data Template. Generated from /Users/ibuenros/repos/gobblin/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-api/src/main/pegasus/gobblin/service/Schedule.pdsc.", date = "Fri Jul 21 13:35:27 PDT 2017")
public class Schedule
    extends RecordTemplate
{

    private final static Schedule.Fields _fields = new Schedule.Fields();
    private final static RecordDataSchema SCHEMA = ((RecordDataSchema) DataTemplateUtil.parseSchema("{\"type\":\"record\",\"name\":\"Schedule\",\"namespace\":\"gobblin.service\",\"doc\":\"Attributes for defining a job schedule\",\"fields\":[{\"name\":\"cronSchedule\",\"type\":\"string\",\"doc\":\"Schedule for flow in cron format\",\"validate\":{\"gobblin.service.validator.CronValidator\":{}}},{\"name\":\"runImmediately\",\"type\":\"boolean\",\"doc\":\"Set to true to request that a job with a schedule be run immediately in addition to being scheduled\",\"default\":false}]}"));
    private final static RecordDataSchema.Field FIELD_CronSchedule = SCHEMA.getField("cronSchedule");
    private final static RecordDataSchema.Field FIELD_RunImmediately = SCHEMA.getField("runImmediately");

    public Schedule() {
        super(new DataMap(), SCHEMA);
    }

    public Schedule(DataMap data) {
        super(data, SCHEMA);
    }

    public static Schedule.Fields fields() {
        return _fields;
    }

    /**
     * Existence checker for cronSchedule
     * 
     * @see Schedule.Fields#cronSchedule
     */
    public boolean hasCronSchedule() {
        return contains(FIELD_CronSchedule);
    }

    /**
     * Remover for cronSchedule
     * 
     * @see Schedule.Fields#cronSchedule
     */
    public void removeCronSchedule() {
        remove(FIELD_CronSchedule);
    }

    /**
     * Getter for cronSchedule
     * 
     * @see Schedule.Fields#cronSchedule
     */
    public String getCronSchedule(GetMode mode) {
        return obtainDirect(FIELD_CronSchedule, String.class, mode);
    }

    /**
     * Getter for cronSchedule
     * 
     * @return
     *     Required field. Could be null for partial record.
     * @see Schedule.Fields#cronSchedule
     */
    @Nonnull
    public String getCronSchedule() {
        return obtainDirect(FIELD_CronSchedule, String.class, GetMode.STRICT);
    }

    /**
     * Setter for cronSchedule
     * 
     * @see Schedule.Fields#cronSchedule
     */
    public Schedule setCronSchedule(String value, SetMode mode) {
        putDirect(FIELD_CronSchedule, String.class, String.class, value, mode);
        return this;
    }

    /**
     * Setter for cronSchedule
     * 
     * @param value
     *     Must not be null. For more control, use setters with mode instead.
     * @see Schedule.Fields#cronSchedule
     */
    public Schedule setCronSchedule(
        @Nonnull
        String value) {
        putDirect(FIELD_CronSchedule, String.class, String.class, value, SetMode.DISALLOW_NULL);
        return this;
    }

    /**
     * Existence checker for runImmediately
     * 
     * @see Schedule.Fields#runImmediately
     */
    public boolean hasRunImmediately() {
        return contains(FIELD_RunImmediately);
    }

    /**
     * Remover for runImmediately
     * 
     * @see Schedule.Fields#runImmediately
     */
    public void removeRunImmediately() {
        remove(FIELD_RunImmediately);
    }

    /**
     * Getter for runImmediately
     * 
     * @see Schedule.Fields#runImmediately
     */
    public Boolean isRunImmediately(GetMode mode) {
        return obtainDirect(FIELD_RunImmediately, Boolean.class, mode);
    }

    /**
     * Getter for runImmediately
     * 
     * @return
     *     Required field. Could be null for partial record.
     * @see Schedule.Fields#runImmediately
     */
    @Nonnull
    public Boolean isRunImmediately() {
        return obtainDirect(FIELD_RunImmediately, Boolean.class, GetMode.STRICT);
    }

    /**
     * Setter for runImmediately
     * 
     * @see Schedule.Fields#runImmediately
     */
    public Schedule setRunImmediately(Boolean value, SetMode mode) {
        putDirect(FIELD_RunImmediately, Boolean.class, Boolean.class, value, mode);
        return this;
    }

    /**
     * Setter for runImmediately
     * 
     * @param value
     *     Must not be null. For more control, use setters with mode instead.
     * @see Schedule.Fields#runImmediately
     */
    public Schedule setRunImmediately(
        @Nonnull
        Boolean value) {
        putDirect(FIELD_RunImmediately, Boolean.class, Boolean.class, value, SetMode.DISALLOW_NULL);
        return this;
    }

    /**
     * Setter for runImmediately
     * 
     * @see Schedule.Fields#runImmediately
     */
    public Schedule setRunImmediately(boolean value) {
        putDirect(FIELD_RunImmediately, Boolean.class, Boolean.class, value, SetMode.DISALLOW_NULL);
        return this;
    }

    @Override
    public Schedule clone()
        throws CloneNotSupportedException
    {
        return ((Schedule) super.clone());
    }

    @Override
    public Schedule copy()
        throws CloneNotSupportedException
    {
        return ((Schedule) super.copy());
    }

    public static class Fields
        extends PathSpec
    {


        public Fields(List path, String name) {
            super(path, name);
        }

        public Fields() {
            super();
        }

        /**
         * Schedule for flow in cron format
         * 
         */
        public PathSpec cronSchedule() {
            return new PathSpec(getPathComponents(), "cronSchedule");
        }

        /**
         * Set to true to request that a job with a schedule be run immediately in addition to being scheduled
         * 
         */
        public PathSpec runImmediately() {
            return new PathSpec(getPathComponents(), "runImmediately");
        }

    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy