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

io.alauda.kubernetes.api.model.PipelineTriggerCronFluentImpl Maven / Gradle / Ivy

The newest version!
package io.alauda.kubernetes.api.model;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.alauda.kubernetes.api.builder.Nested;
import java.lang.String;
import java.lang.Deprecated;
import javax.validation.Valid;
import io.alauda.kubernetes.api.builder.BaseFluent;
import java.lang.Object;
import java.lang.Boolean;

public class PipelineTriggerCronFluentImpl> extends io.alauda.kubernetes.api.builder.BaseFluent implements PipelineTriggerCronFluent{

    private Boolean enabled;
    private String rule;
    private PipelineTriggeScheduleBuilder schedule;

    public PipelineTriggerCronFluentImpl(){
    }
    public PipelineTriggerCronFluentImpl(PipelineTriggerCron instance){
            this.withEnabled(instance.getEnabled()); 
            this.withRule(instance.getRule()); 
            this.withSchedule(instance.getSchedule()); 
    }

    public Boolean isEnabled(){
            return this.enabled;
    }

    public A withEnabled(Boolean enabled){
            this.enabled=enabled; return (A) this;
    }

    public Boolean hasEnabled(){
            return this.enabled!=null;
    }

    public String getRule(){
            return this.rule;
    }

    public A withRule(String rule){
            this.rule=rule; return (A) this;
    }

    public Boolean hasRule(){
            return this.rule!=null;
    }

    
/**
 * This method has been deprecated, please use method buildSchedule instead.
 */
@Deprecated public PipelineTriggeSchedule getSchedule(){
            return this.schedule!=null?this.schedule.build():null;
    }

    public PipelineTriggeSchedule buildSchedule(){
            return this.schedule!=null?this.schedule.build():null;
    }

    public A withSchedule(PipelineTriggeSchedule schedule){
            _visitables.remove(this.schedule);
            if (schedule!=null){ this.schedule= new PipelineTriggeScheduleBuilder(schedule); _visitables.add(this.schedule);} return (A) this;
    }

    public Boolean hasSchedule(){
            return this.schedule!=null;
    }

    public PipelineTriggerCronFluent.ScheduleNested withNewSchedule(){
            return new ScheduleNestedImpl();
    }

    public PipelineTriggerCronFluent.ScheduleNested withNewScheduleLike(PipelineTriggeSchedule item){
            return new ScheduleNestedImpl(item);
    }

    public PipelineTriggerCronFluent.ScheduleNested editSchedule(){
            return withNewScheduleLike(getSchedule());
    }

    public PipelineTriggerCronFluent.ScheduleNested editOrNewSchedule(){
            return withNewScheduleLike(getSchedule() != null ? getSchedule(): new PipelineTriggeScheduleBuilder().build());
    }

    public PipelineTriggerCronFluent.ScheduleNested editOrNewScheduleLike(PipelineTriggeSchedule item){
            return withNewScheduleLike(getSchedule() != null ? getSchedule(): item);
    }

    public boolean equals(Object o){
            if (this == o) return true;
            if (o == null || getClass() != o.getClass()) return false;
            if (!super.equals(o)) return false;
            PipelineTriggerCronFluentImpl that = (PipelineTriggerCronFluentImpl) o;
            if (enabled != null ? !enabled.equals(that.enabled) :that.enabled != null) return false;
            if (rule != null ? !rule.equals(that.rule) :that.rule != null) return false;
            if (schedule != null ? !schedule.equals(that.schedule) :that.schedule != null) return false;
            return true;
    }


    public class ScheduleNestedImpl extends PipelineTriggeScheduleFluentImpl> implements PipelineTriggerCronFluent.ScheduleNested,io.alauda.kubernetes.api.builder.Nested{

            private final PipelineTriggeScheduleBuilder builder;
    
            ScheduleNestedImpl(PipelineTriggeSchedule item){
                    this.builder = new PipelineTriggeScheduleBuilder(this, item);
            }
            ScheduleNestedImpl(){
                    this.builder = new PipelineTriggeScheduleBuilder(this);
            }
    
    public N and(){
            return (N) PipelineTriggerCronFluentImpl.this.withSchedule(builder.build());
    }
    public N endSchedule(){
            return and();
    }

}


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy