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

org.apache.gobblin.rest.JobExecutionQuery Maven / Gradle / Ivy

The newest version!

package org.apache.gobblin.rest;

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


/**
 * Gobblin job execution query
 * 
 */
@Generated(value = "com.linkedin.pegasus.generator.JavaCodeUtil", comments = "Rest.li Data Template. Generated from gobblin-rest-service/gobblin-rest-api/src/main/pegasus/org/apache/gobblin/rest/JobExecutionQuery.pdl.")
public class JobExecutionQuery
    extends RecordTemplate
{

    private final static JobExecutionQuery.Fields _fields = new JobExecutionQuery.Fields();
    private final static RecordDataSchema SCHEMA = ((RecordDataSchema) DataTemplateUtil.parseSchema("namespace org.apache.gobblin.rest/**Gobblin job execution query*/record JobExecutionQuery{/**Query ID (a job ID, job name, table definition, or list type)*/id:union[string/**Gobblin table definition*/record Table{/**Table namespace*/`namespace`:optional string/**Table name*/name:string/**Table type*/type:optional enum TableTypeEnum{SNAPSHOT_ONLY,SNAPSHOT_APPEND,APPEND_ONLY}}/**Listing distinct jobs fetches the most recent execution info for each job name in the database. Listing recent jobs fetches the most recent job executions, regardless of job name.*/enum QueryListType{DISTINCT,RECENT}]/**Query ID type*/idType:enum QueryIdTypeEnum{JOB_NAME,JOB_ID,TABLE,LIST_TYPE}/**Query time range*/timeRange:optional/**Query time range*/record TimeRange{/**Start time of the query range*/startTime:optional string/**End time of the query range*/endTime:optional string/**Date/time format used to parse the start time and end time*/timeFormat:string}/**Query limit*/limit:optional int=1/**Comma-separated list of job properties to include in the query result*/jobProperties:optional string/**Comma-separated list of task properties to include in the query result*/taskProperties:optional string/**true/false if the response should include job metrics (default: true)*/includeJobMetrics:optional boolean=true/**true/false if the response should include task metrics (default: true)*/includeTaskMetrics:optional boolean=true/**true/false if the response should include task executions (default: true)*/includeTaskExecutions:optional boolean=true/**true/false if the response should include jobs that did not launch tasks (default: true)*/includeJobsWithoutTasks:optional boolean=true}", SchemaFormatType.PDL));
    private final static RecordDataSchema.Field FIELD_Id = SCHEMA.getField("id");
    private final static RecordDataSchema.Field FIELD_IdType = SCHEMA.getField("idType");
    private final static RecordDataSchema.Field FIELD_TimeRange = SCHEMA.getField("timeRange");
    private final static RecordDataSchema.Field FIELD_Limit = SCHEMA.getField("limit");
    private final static RecordDataSchema.Field FIELD_JobProperties = SCHEMA.getField("jobProperties");
    private final static RecordDataSchema.Field FIELD_TaskProperties = SCHEMA.getField("taskProperties");
    private final static RecordDataSchema.Field FIELD_IncludeJobMetrics = SCHEMA.getField("includeJobMetrics");
    private final static RecordDataSchema.Field FIELD_IncludeTaskMetrics = SCHEMA.getField("includeTaskMetrics");
    private final static RecordDataSchema.Field FIELD_IncludeTaskExecutions = SCHEMA.getField("includeTaskExecutions");
    private final static RecordDataSchema.Field FIELD_IncludeJobsWithoutTasks = SCHEMA.getField("includeJobsWithoutTasks");

    public JobExecutionQuery() {
        super(new DataMap(14, 0.75F), SCHEMA, 3);
    }

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

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

    /**
     * Existence checker for id
     * 
     * @see JobExecutionQuery.Fields#id
     */
    public boolean hasId() {
        return contains(FIELD_Id);
    }

    /**
     * Remover for id
     * 
     * @see JobExecutionQuery.Fields#id
     */
    public void removeId() {
        remove(FIELD_Id);
    }

    /**
     * Getter for id
     * 
     * @see JobExecutionQuery.Fields#id
     */
    public JobExecutionQuery.Id getId(GetMode mode) {
        return obtainWrapped(FIELD_Id, JobExecutionQuery.Id.class, mode);
    }

    /**
     * Getter for id
     * 
     * @return
     *     Required field. Could be null for partial record.
     * @see JobExecutionQuery.Fields#id
     */
    @Nonnull
    public JobExecutionQuery.Id getId() {
        return obtainWrapped(FIELD_Id, JobExecutionQuery.Id.class, GetMode.STRICT);
    }

    /**
     * Setter for id
     * 
     * @see JobExecutionQuery.Fields#id
     */
    public JobExecutionQuery setId(JobExecutionQuery.Id value, SetMode mode) {
        putWrapped(FIELD_Id, JobExecutionQuery.Id.class, value, mode);
        return this;
    }

    /**
     * Setter for id
     * 
     * @param value
     *     Must not be null. For more control, use setters with mode instead.
     * @see JobExecutionQuery.Fields#id
     */
    public JobExecutionQuery setId(
        @Nonnull
        JobExecutionQuery.Id value) {
        putWrapped(FIELD_Id, JobExecutionQuery.Id.class, value, SetMode.DISALLOW_NULL);
        return this;
    }

    /**
     * Existence checker for idType
     * 
     * @see JobExecutionQuery.Fields#idType
     */
    public boolean hasIdType() {
        return contains(FIELD_IdType);
    }

    /**
     * Remover for idType
     * 
     * @see JobExecutionQuery.Fields#idType
     */
    public void removeIdType() {
        remove(FIELD_IdType);
    }

    /**
     * Getter for idType
     * 
     * @see JobExecutionQuery.Fields#idType
     */
    public QueryIdTypeEnum getIdType(GetMode mode) {
        return obtainDirect(FIELD_IdType, QueryIdTypeEnum.class, mode);
    }

    /**
     * Getter for idType
     * 
     * @return
     *     Required field. Could be null for partial record.
     * @see JobExecutionQuery.Fields#idType
     */
    @Nonnull
    public QueryIdTypeEnum getIdType() {
        return obtainDirect(FIELD_IdType, QueryIdTypeEnum.class, GetMode.STRICT);
    }

    /**
     * Setter for idType
     * 
     * @see JobExecutionQuery.Fields#idType
     */
    public JobExecutionQuery setIdType(QueryIdTypeEnum value, SetMode mode) {
        putDirect(FIELD_IdType, QueryIdTypeEnum.class, java.lang.String.class, value, mode);
        return this;
    }

    /**
     * Setter for idType
     * 
     * @param value
     *     Must not be null. For more control, use setters with mode instead.
     * @see JobExecutionQuery.Fields#idType
     */
    public JobExecutionQuery setIdType(
        @Nonnull
        QueryIdTypeEnum value) {
        putDirect(FIELD_IdType, QueryIdTypeEnum.class, java.lang.String.class, value, SetMode.DISALLOW_NULL);
        return this;
    }

    /**
     * Existence checker for timeRange
     * 
     * @see JobExecutionQuery.Fields#timeRange
     */
    public boolean hasTimeRange() {
        return contains(FIELD_TimeRange);
    }

    /**
     * Remover for timeRange
     * 
     * @see JobExecutionQuery.Fields#timeRange
     */
    public void removeTimeRange() {
        remove(FIELD_TimeRange);
    }

    /**
     * Getter for timeRange
     * 
     * @see JobExecutionQuery.Fields#timeRange
     */
    public TimeRange getTimeRange(GetMode mode) {
        return obtainWrapped(FIELD_TimeRange, TimeRange.class, mode);
    }

    /**
     * Getter for timeRange
     * 
     * @return
     *     Optional field. Always check for null.
     * @see JobExecutionQuery.Fields#timeRange
     */
    @Nullable
    public TimeRange getTimeRange() {
        return obtainWrapped(FIELD_TimeRange, TimeRange.class, GetMode.STRICT);
    }

    /**
     * Setter for timeRange
     * 
     * @see JobExecutionQuery.Fields#timeRange
     */
    public JobExecutionQuery setTimeRange(TimeRange value, SetMode mode) {
        putWrapped(FIELD_TimeRange, TimeRange.class, value, mode);
        return this;
    }

    /**
     * Setter for timeRange
     * 
     * @param value
     *     Must not be null. For more control, use setters with mode instead.
     * @see JobExecutionQuery.Fields#timeRange
     */
    public JobExecutionQuery setTimeRange(
        @Nonnull
        TimeRange value) {
        putWrapped(FIELD_TimeRange, TimeRange.class, value, SetMode.DISALLOW_NULL);
        return this;
    }

    /**
     * Existence checker for limit
     * 
     * @see JobExecutionQuery.Fields#limit
     */
    public boolean hasLimit() {
        return contains(FIELD_Limit);
    }

    /**
     * Remover for limit
     * 
     * @see JobExecutionQuery.Fields#limit
     */
    public void removeLimit() {
        remove(FIELD_Limit);
    }

    /**
     * Getter for limit
     * 
     * @see JobExecutionQuery.Fields#limit
     */
    public Integer getLimit(GetMode mode) {
        return obtainDirect(FIELD_Limit, Integer.class, mode);
    }

    /**
     * Getter for limit
     * 
     * @return
     *     Optional field. Always check for null.
     * @see JobExecutionQuery.Fields#limit
     */
    @Nullable
    public Integer getLimit() {
        return obtainDirect(FIELD_Limit, Integer.class, GetMode.STRICT);
    }

    /**
     * Setter for limit
     * 
     * @see JobExecutionQuery.Fields#limit
     */
    public JobExecutionQuery setLimit(Integer value, SetMode mode) {
        putDirect(FIELD_Limit, Integer.class, Integer.class, value, mode);
        return this;
    }

    /**
     * Setter for limit
     * 
     * @param value
     *     Must not be null. For more control, use setters with mode instead.
     * @see JobExecutionQuery.Fields#limit
     */
    public JobExecutionQuery setLimit(
        @Nonnull
        Integer value) {
        putDirect(FIELD_Limit, Integer.class, Integer.class, value, SetMode.DISALLOW_NULL);
        return this;
    }

    /**
     * Setter for limit
     * 
     * @see JobExecutionQuery.Fields#limit
     */
    public JobExecutionQuery setLimit(int value) {
        putDirect(FIELD_Limit, Integer.class, Integer.class, value, SetMode.DISALLOW_NULL);
        return this;
    }

    /**
     * Existence checker for jobProperties
     * 
     * @see JobExecutionQuery.Fields#jobProperties
     */
    public boolean hasJobProperties() {
        return contains(FIELD_JobProperties);
    }

    /**
     * Remover for jobProperties
     * 
     * @see JobExecutionQuery.Fields#jobProperties
     */
    public void removeJobProperties() {
        remove(FIELD_JobProperties);
    }

    /**
     * Getter for jobProperties
     * 
     * @see JobExecutionQuery.Fields#jobProperties
     */
    public java.lang.String getJobProperties(GetMode mode) {
        return obtainDirect(FIELD_JobProperties, java.lang.String.class, mode);
    }

    /**
     * Getter for jobProperties
     * 
     * @return
     *     Optional field. Always check for null.
     * @see JobExecutionQuery.Fields#jobProperties
     */
    @Nullable
    public java.lang.String getJobProperties() {
        return obtainDirect(FIELD_JobProperties, java.lang.String.class, GetMode.STRICT);
    }

    /**
     * Setter for jobProperties
     * 
     * @see JobExecutionQuery.Fields#jobProperties
     */
    public JobExecutionQuery setJobProperties(java.lang.String value, SetMode mode) {
        putDirect(FIELD_JobProperties, java.lang.String.class, java.lang.String.class, value, mode);
        return this;
    }

    /**
     * Setter for jobProperties
     * 
     * @param value
     *     Must not be null. For more control, use setters with mode instead.
     * @see JobExecutionQuery.Fields#jobProperties
     */
    public JobExecutionQuery setJobProperties(
        @Nonnull
        java.lang.String value) {
        putDirect(FIELD_JobProperties, java.lang.String.class, java.lang.String.class, value, SetMode.DISALLOW_NULL);
        return this;
    }

    /**
     * Existence checker for taskProperties
     * 
     * @see JobExecutionQuery.Fields#taskProperties
     */
    public boolean hasTaskProperties() {
        return contains(FIELD_TaskProperties);
    }

    /**
     * Remover for taskProperties
     * 
     * @see JobExecutionQuery.Fields#taskProperties
     */
    public void removeTaskProperties() {
        remove(FIELD_TaskProperties);
    }

    /**
     * Getter for taskProperties
     * 
     * @see JobExecutionQuery.Fields#taskProperties
     */
    public java.lang.String getTaskProperties(GetMode mode) {
        return obtainDirect(FIELD_TaskProperties, java.lang.String.class, mode);
    }

    /**
     * Getter for taskProperties
     * 
     * @return
     *     Optional field. Always check for null.
     * @see JobExecutionQuery.Fields#taskProperties
     */
    @Nullable
    public java.lang.String getTaskProperties() {
        return obtainDirect(FIELD_TaskProperties, java.lang.String.class, GetMode.STRICT);
    }

    /**
     * Setter for taskProperties
     * 
     * @see JobExecutionQuery.Fields#taskProperties
     */
    public JobExecutionQuery setTaskProperties(java.lang.String value, SetMode mode) {
        putDirect(FIELD_TaskProperties, java.lang.String.class, java.lang.String.class, value, mode);
        return this;
    }

    /**
     * Setter for taskProperties
     * 
     * @param value
     *     Must not be null. For more control, use setters with mode instead.
     * @see JobExecutionQuery.Fields#taskProperties
     */
    public JobExecutionQuery setTaskProperties(
        @Nonnull
        java.lang.String value) {
        putDirect(FIELD_TaskProperties, java.lang.String.class, java.lang.String.class, value, SetMode.DISALLOW_NULL);
        return this;
    }

    /**
     * Existence checker for includeJobMetrics
     * 
     * @see JobExecutionQuery.Fields#includeJobMetrics
     */
    public boolean hasIncludeJobMetrics() {
        return contains(FIELD_IncludeJobMetrics);
    }

    /**
     * Remover for includeJobMetrics
     * 
     * @see JobExecutionQuery.Fields#includeJobMetrics
     */
    public void removeIncludeJobMetrics() {
        remove(FIELD_IncludeJobMetrics);
    }

    /**
     * Getter for includeJobMetrics
     * 
     * @see JobExecutionQuery.Fields#includeJobMetrics
     */
    public Boolean isIncludeJobMetrics(GetMode mode) {
        return obtainDirect(FIELD_IncludeJobMetrics, Boolean.class, mode);
    }

    /**
     * Getter for includeJobMetrics
     * 
     * @return
     *     Optional field. Always check for null.
     * @see JobExecutionQuery.Fields#includeJobMetrics
     */
    @Nullable
    public Boolean isIncludeJobMetrics() {
        return obtainDirect(FIELD_IncludeJobMetrics, Boolean.class, GetMode.STRICT);
    }

    /**
     * Setter for includeJobMetrics
     * 
     * @see JobExecutionQuery.Fields#includeJobMetrics
     */
    public JobExecutionQuery setIncludeJobMetrics(Boolean value, SetMode mode) {
        putDirect(FIELD_IncludeJobMetrics, Boolean.class, Boolean.class, value, mode);
        return this;
    }

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

    /**
     * Setter for includeJobMetrics
     * 
     * @see JobExecutionQuery.Fields#includeJobMetrics
     */
    public JobExecutionQuery setIncludeJobMetrics(boolean value) {
        putDirect(FIELD_IncludeJobMetrics, Boolean.class, Boolean.class, value, SetMode.DISALLOW_NULL);
        return this;
    }

    /**
     * Existence checker for includeTaskMetrics
     * 
     * @see JobExecutionQuery.Fields#includeTaskMetrics
     */
    public boolean hasIncludeTaskMetrics() {
        return contains(FIELD_IncludeTaskMetrics);
    }

    /**
     * Remover for includeTaskMetrics
     * 
     * @see JobExecutionQuery.Fields#includeTaskMetrics
     */
    public void removeIncludeTaskMetrics() {
        remove(FIELD_IncludeTaskMetrics);
    }

    /**
     * Getter for includeTaskMetrics
     * 
     * @see JobExecutionQuery.Fields#includeTaskMetrics
     */
    public Boolean isIncludeTaskMetrics(GetMode mode) {
        return obtainDirect(FIELD_IncludeTaskMetrics, Boolean.class, mode);
    }

    /**
     * Getter for includeTaskMetrics
     * 
     * @return
     *     Optional field. Always check for null.
     * @see JobExecutionQuery.Fields#includeTaskMetrics
     */
    @Nullable
    public Boolean isIncludeTaskMetrics() {
        return obtainDirect(FIELD_IncludeTaskMetrics, Boolean.class, GetMode.STRICT);
    }

    /**
     * Setter for includeTaskMetrics
     * 
     * @see JobExecutionQuery.Fields#includeTaskMetrics
     */
    public JobExecutionQuery setIncludeTaskMetrics(Boolean value, SetMode mode) {
        putDirect(FIELD_IncludeTaskMetrics, Boolean.class, Boolean.class, value, mode);
        return this;
    }

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

    /**
     * Setter for includeTaskMetrics
     * 
     * @see JobExecutionQuery.Fields#includeTaskMetrics
     */
    public JobExecutionQuery setIncludeTaskMetrics(boolean value) {
        putDirect(FIELD_IncludeTaskMetrics, Boolean.class, Boolean.class, value, SetMode.DISALLOW_NULL);
        return this;
    }

    /**
     * Existence checker for includeTaskExecutions
     * 
     * @see JobExecutionQuery.Fields#includeTaskExecutions
     */
    public boolean hasIncludeTaskExecutions() {
        return contains(FIELD_IncludeTaskExecutions);
    }

    /**
     * Remover for includeTaskExecutions
     * 
     * @see JobExecutionQuery.Fields#includeTaskExecutions
     */
    public void removeIncludeTaskExecutions() {
        remove(FIELD_IncludeTaskExecutions);
    }

    /**
     * Getter for includeTaskExecutions
     * 
     * @see JobExecutionQuery.Fields#includeTaskExecutions
     */
    public Boolean isIncludeTaskExecutions(GetMode mode) {
        return obtainDirect(FIELD_IncludeTaskExecutions, Boolean.class, mode);
    }

    /**
     * Getter for includeTaskExecutions
     * 
     * @return
     *     Optional field. Always check for null.
     * @see JobExecutionQuery.Fields#includeTaskExecutions
     */
    @Nullable
    public Boolean isIncludeTaskExecutions() {
        return obtainDirect(FIELD_IncludeTaskExecutions, Boolean.class, GetMode.STRICT);
    }

    /**
     * Setter for includeTaskExecutions
     * 
     * @see JobExecutionQuery.Fields#includeTaskExecutions
     */
    public JobExecutionQuery setIncludeTaskExecutions(Boolean value, SetMode mode) {
        putDirect(FIELD_IncludeTaskExecutions, Boolean.class, Boolean.class, value, mode);
        return this;
    }

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

    /**
     * Setter for includeTaskExecutions
     * 
     * @see JobExecutionQuery.Fields#includeTaskExecutions
     */
    public JobExecutionQuery setIncludeTaskExecutions(boolean value) {
        putDirect(FIELD_IncludeTaskExecutions, Boolean.class, Boolean.class, value, SetMode.DISALLOW_NULL);
        return this;
    }

    /**
     * Existence checker for includeJobsWithoutTasks
     * 
     * @see JobExecutionQuery.Fields#includeJobsWithoutTasks
     */
    public boolean hasIncludeJobsWithoutTasks() {
        return contains(FIELD_IncludeJobsWithoutTasks);
    }

    /**
     * Remover for includeJobsWithoutTasks
     * 
     * @see JobExecutionQuery.Fields#includeJobsWithoutTasks
     */
    public void removeIncludeJobsWithoutTasks() {
        remove(FIELD_IncludeJobsWithoutTasks);
    }

    /**
     * Getter for includeJobsWithoutTasks
     * 
     * @see JobExecutionQuery.Fields#includeJobsWithoutTasks
     */
    public Boolean isIncludeJobsWithoutTasks(GetMode mode) {
        return obtainDirect(FIELD_IncludeJobsWithoutTasks, Boolean.class, mode);
    }

    /**
     * Getter for includeJobsWithoutTasks
     * 
     * @return
     *     Optional field. Always check for null.
     * @see JobExecutionQuery.Fields#includeJobsWithoutTasks
     */
    @Nullable
    public Boolean isIncludeJobsWithoutTasks() {
        return obtainDirect(FIELD_IncludeJobsWithoutTasks, Boolean.class, GetMode.STRICT);
    }

    /**
     * Setter for includeJobsWithoutTasks
     * 
     * @see JobExecutionQuery.Fields#includeJobsWithoutTasks
     */
    public JobExecutionQuery setIncludeJobsWithoutTasks(Boolean value, SetMode mode) {
        putDirect(FIELD_IncludeJobsWithoutTasks, Boolean.class, Boolean.class, value, mode);
        return this;
    }

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

    /**
     * Setter for includeJobsWithoutTasks
     * 
     * @see JobExecutionQuery.Fields#includeJobsWithoutTasks
     */
    public JobExecutionQuery setIncludeJobsWithoutTasks(boolean value) {
        putDirect(FIELD_IncludeJobsWithoutTasks, Boolean.class, Boolean.class, value, SetMode.DISALLOW_NULL);
        return this;
    }

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

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

    public static class Fields
        extends PathSpec
    {


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

        public Fields() {
            super();
        }

        /**
         * Query ID (a job ID, job name, table definition, or list type)
         * 
         */
        public org.apache.gobblin.rest.JobExecutionQuery.Id.Fields id() {
            return new org.apache.gobblin.rest.JobExecutionQuery.Id.Fields(getPathComponents(), "id");
        }

        /**
         * Query ID type
         * 
         */
        public PathSpec idType() {
            return new PathSpec(getPathComponents(), "idType");
        }

        /**
         * Query time range
         * 
         */
        public org.apache.gobblin.rest.TimeRange.Fields timeRange() {
            return new org.apache.gobblin.rest.TimeRange.Fields(getPathComponents(), "timeRange");
        }

        /**
         * Query limit
         * 
         */
        public PathSpec limit() {
            return new PathSpec(getPathComponents(), "limit");
        }

        /**
         * Comma-separated list of job properties to include in the query result
         * 
         */
        public PathSpec jobProperties() {
            return new PathSpec(getPathComponents(), "jobProperties");
        }

        /**
         * Comma-separated list of task properties to include in the query result
         * 
         */
        public PathSpec taskProperties() {
            return new PathSpec(getPathComponents(), "taskProperties");
        }

        /**
         * true/false if the response should include job metrics (default: true)
         * 
         */
        public PathSpec includeJobMetrics() {
            return new PathSpec(getPathComponents(), "includeJobMetrics");
        }

        /**
         * true/false if the response should include task metrics (default: true)
         * 
         */
        public PathSpec includeTaskMetrics() {
            return new PathSpec(getPathComponents(), "includeTaskMetrics");
        }

        /**
         * true/false if the response should include task executions (default: true)
         * 
         */
        public PathSpec includeTaskExecutions() {
            return new PathSpec(getPathComponents(), "includeTaskExecutions");
        }

        /**
         * true/false if the response should include jobs that did not launch tasks (default: true)
         * 
         */
        public PathSpec includeJobsWithoutTasks() {
            return new PathSpec(getPathComponents(), "includeJobsWithoutTasks");
        }

    }

    @Generated(value = "com.linkedin.pegasus.generator.JavaCodeUtil", comments = "Rest.li Data Template. Generated from gobblin-rest-service/gobblin-rest-api/src/main/pegasus/org/apache/gobblin/rest/JobExecutionQuery.pdl.")
    public final static class Id
        extends UnionTemplate
    {

        private final static UnionDataSchema SCHEMA = ((UnionDataSchema) DataTemplateUtil.parseSchema("union[string{namespace org.apache.gobblin.rest/**Gobblin table definition*/record Table{/**Table namespace*/`namespace`:optional string/**Table name*/name:string/**Table type*/type:optional enum TableTypeEnum{SNAPSHOT_ONLY,SNAPSHOT_APPEND,APPEND_ONLY}}}{namespace org.apache.gobblin.rest/**Listing distinct jobs fetches the most recent execution info for each job name in the database. Listing recent jobs fetches the most recent job executions, regardless of job name.*/enum QueryListType{DISTINCT,RECENT}}]", SchemaFormatType.PDL));
        private final static DataSchema MEMBER_String = SCHEMA.getTypeByMemberKey("string");
        private final static DataSchema MEMBER_Table = SCHEMA.getTypeByMemberKey("org.apache.gobblin.rest.Table");
        private final static DataSchema MEMBER_QueryListType = SCHEMA.getTypeByMemberKey("org.apache.gobblin.rest.QueryListType");

        public Id() {
            super(new DataMap(2, 0.75F), SCHEMA);
        }

        public Id(Object data) {
            super(data, SCHEMA);
        }

        public static JobExecutionQuery.Id create(java.lang.String value) {
            JobExecutionQuery.Id newUnion = new JobExecutionQuery.Id();
            newUnion.setString(value);
            return newUnion;
        }

        public boolean isString() {
            return memberIs("string");
        }

        public java.lang.String getString() {
            return obtainDirect(MEMBER_String, java.lang.String.class, "string");
        }

        public void setString(java.lang.String value) {
            selectDirect(MEMBER_String, java.lang.String.class, java.lang.String.class, "string", value);
        }

        public static JobExecutionQuery.Id create(org.apache.gobblin.rest.Table value) {
            JobExecutionQuery.Id newUnion = new JobExecutionQuery.Id();
            newUnion.setTable(value);
            return newUnion;
        }

        public boolean isTable() {
            return memberIs("org.apache.gobblin.rest.Table");
        }

        public org.apache.gobblin.rest.Table getTable() {
            return obtainWrapped(MEMBER_Table, org.apache.gobblin.rest.Table.class, "org.apache.gobblin.rest.Table");
        }

        public void setTable(org.apache.gobblin.rest.Table value) {
            selectWrapped(MEMBER_Table, org.apache.gobblin.rest.Table.class, "org.apache.gobblin.rest.Table", value);
        }

        public static JobExecutionQuery.Id create(org.apache.gobblin.rest.QueryListType value) {
            JobExecutionQuery.Id newUnion = new JobExecutionQuery.Id();
            newUnion.setQueryListType(value);
            return newUnion;
        }

        public boolean isQueryListType() {
            return memberIs("org.apache.gobblin.rest.QueryListType");
        }

        public org.apache.gobblin.rest.QueryListType getQueryListType() {
            return obtainDirect(MEMBER_QueryListType, org.apache.gobblin.rest.QueryListType.class, "org.apache.gobblin.rest.QueryListType");
        }

        public void setQueryListType(org.apache.gobblin.rest.QueryListType value) {
            selectDirect(MEMBER_QueryListType, org.apache.gobblin.rest.QueryListType.class, java.lang.String.class, "org.apache.gobblin.rest.QueryListType", value);
        }

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

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

        public static class Fields
            extends PathSpec
        {


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

            public Fields() {
                super();
            }

            public PathSpec String() {
                return new PathSpec(getPathComponents(), "string");
            }

            public org.apache.gobblin.rest.Table.Fields Table() {
                return new org.apache.gobblin.rest.Table.Fields(getPathComponents(), "org.apache.gobblin.rest.Table");
            }

            public PathSpec QueryListType() {
                return new PathSpec(getPathComponents(), "org.apache.gobblin.rest.QueryListType");
            }

        }

    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy