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

annotations.io.alauda.devops.api.model.LifecycleHookFluentImpl Maven / Gradle / Ivy

There is a newer version: 0.2.12
Show newest version
package io.alauda.devops.api.model;

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

public class LifecycleHookFluentImpl> extends io.alauda.kubernetes.api.builder.BaseFluent implements LifecycleHookFluent{

    private ExecNewPodHookBuilder execNewPod;
    private String failurePolicy;
    private List tagImages =  new ArrayList();

    public LifecycleHookFluentImpl(){
    }
    public LifecycleHookFluentImpl(LifecycleHook instance){
            this.withExecNewPod(instance.getExecNewPod()); 
            this.withFailurePolicy(instance.getFailurePolicy()); 
            this.withTagImages(instance.getTagImages()); 
    }

    
/**
 * This method has been deprecated, please use method buildExecNewPod instead.
 */
@Deprecated public ExecNewPodHook getExecNewPod(){
            return this.execNewPod!=null?this.execNewPod.build():null;
    }

    public ExecNewPodHook buildExecNewPod(){
            return this.execNewPod!=null?this.execNewPod.build():null;
    }

    public A withExecNewPod(ExecNewPodHook execNewPod){
            _visitables.remove(this.execNewPod);
            if (execNewPod!=null){ this.execNewPod= new ExecNewPodHookBuilder(execNewPod); _visitables.add(this.execNewPod);} return (A) this;
    }

    public Boolean hasExecNewPod(){
            return this.execNewPod!=null;
    }

    public LifecycleHookFluent.ExecNewPodNested withNewExecNewPod(){
            return new ExecNewPodNestedImpl();
    }

    public LifecycleHookFluent.ExecNewPodNested withNewExecNewPodLike(ExecNewPodHook item){
            return new ExecNewPodNestedImpl(item);
    }

    public LifecycleHookFluent.ExecNewPodNested editExecNewPod(){
            return withNewExecNewPodLike(getExecNewPod());
    }

    public LifecycleHookFluent.ExecNewPodNested editOrNewExecNewPod(){
            return withNewExecNewPodLike(getExecNewPod() != null ? getExecNewPod(): new ExecNewPodHookBuilder().build());
    }

    public LifecycleHookFluent.ExecNewPodNested editOrNewExecNewPodLike(ExecNewPodHook item){
            return withNewExecNewPodLike(getExecNewPod() != null ? getExecNewPod(): item);
    }

    public String getFailurePolicy(){
            return this.failurePolicy;
    }

    public A withFailurePolicy(String failurePolicy){
            this.failurePolicy=failurePolicy; return (A) this;
    }

    public Boolean hasFailurePolicy(){
            return this.failurePolicy!=null;
    }

    public A addToTagImages(int index,TagImageHook item){
            TagImageHookBuilder builder = new TagImageHookBuilder(item);_visitables.add(index >= 0 ? index : _visitables.size(), builder);this.tagImages.add(index >= 0 ? index : tagImages.size(), builder); return (A)this;
    }

    public A setToTagImages(int index,TagImageHook item){
            TagImageHookBuilder builder = new TagImageHookBuilder(item);
            if (index < 0 || index >= _visitables.size()) { _visitables.add(builder); } else { _visitables.set(index, builder);}
            if (index < 0 || index >= tagImages.size()) { tagImages.add(builder); } else { tagImages.set(index, builder);}
             return (A)this;
    }

    public A addToTagImages(TagImageHook... items){
            for (TagImageHook item : items) {TagImageHookBuilder builder = new TagImageHookBuilder(item);_visitables.add(builder);this.tagImages.add(builder);} return (A)this;
    }

    public A addAllToTagImages(Collection items){
            for (TagImageHook item : items) {TagImageHookBuilder builder = new TagImageHookBuilder(item);_visitables.add(builder);this.tagImages.add(builder);} return (A)this;
    }

    public A removeFromTagImages(TagImageHook... items){
            for (TagImageHook item : items) {TagImageHookBuilder builder = new TagImageHookBuilder(item);_visitables.remove(builder);this.tagImages.remove(builder);} return (A)this;
    }

    public A removeAllFromTagImages(Collection items){
            for (TagImageHook item : items) {TagImageHookBuilder builder = new TagImageHookBuilder(item);_visitables.remove(builder);this.tagImages.remove(builder);} return (A)this;
    }

    
/**
 * This method has been deprecated, please use method buildTagImages instead.
 */
@Deprecated public List getTagImages(){
            return build(tagImages);
    }

    public List buildTagImages(){
            return build(tagImages);
    }

    public TagImageHook buildTagImage(int index){
            return this.tagImages.get(index).build();
    }

    public TagImageHook buildFirstTagImage(){
            return this.tagImages.get(0).build();
    }

    public TagImageHook buildLastTagImage(){
            return this.tagImages.get(tagImages.size() - 1).build();
    }

    public TagImageHook buildMatchingTagImage(io.alauda.kubernetes.api.builder.Predicate predicate){
            for (TagImageHookBuilder item: tagImages) { if(predicate.apply(item)){return item.build();} } return null;
    }

    public A withTagImages(List tagImages){
            _visitables.removeAll(this.tagImages);
            this.tagImages.clear();
            if (tagImages != null) {for (TagImageHook item : tagImages){this.addToTagImages(item);}} return (A) this;
    }

    public A withTagImages(TagImageHook... tagImages){
            this.tagImages.clear(); if (tagImages != null) {for (TagImageHook item :tagImages){ this.addToTagImages(item);}} return (A) this;
    }

    public Boolean hasTagImages(){
            return tagImages!= null && !tagImages.isEmpty();
    }

    public LifecycleHookFluent.TagImagesNested addNewTagImage(){
            return new TagImagesNestedImpl();
    }

    public LifecycleHookFluent.TagImagesNested addNewTagImageLike(TagImageHook item){
            return new TagImagesNestedImpl(-1, item);
    }

    public LifecycleHookFluent.TagImagesNested setNewTagImageLike(int index,TagImageHook item){
            return new TagImagesNestedImpl(index, item);
    }

    public LifecycleHookFluent.TagImagesNested editTagImage(int index){
            if (tagImages.size() <= index) throw new RuntimeException("Can't edit tagImages. Index exceeds size.");
            return setNewTagImageLike(index, buildTagImage(index));
    }

    public LifecycleHookFluent.TagImagesNested editFirstTagImage(){
            if (tagImages.size() == 0) throw new RuntimeException("Can't edit first tagImages. The list is empty.");
            return setNewTagImageLike(0, buildTagImage(0));
    }

    public LifecycleHookFluent.TagImagesNested editLastTagImage(){
            int index = tagImages.size() - 1;
            if (index < 0) throw new RuntimeException("Can't edit last tagImages. The list is empty.");
            return setNewTagImageLike(index, buildTagImage(index));
    }

    public LifecycleHookFluent.TagImagesNested editMatchingTagImage(io.alauda.kubernetes.api.builder.Predicate predicate){
            int index = -1;
            for (int i=0;i extends ExecNewPodHookFluentImpl> implements LifecycleHookFluent.ExecNewPodNested,io.alauda.kubernetes.api.builder.Nested{

            private final ExecNewPodHookBuilder builder;
    
            ExecNewPodNestedImpl(ExecNewPodHook item){
                    this.builder = new ExecNewPodHookBuilder(this, item);
            }
            ExecNewPodNestedImpl(){
                    this.builder = new ExecNewPodHookBuilder(this);
            }
    
    public N and(){
            return (N) LifecycleHookFluentImpl.this.withExecNewPod(builder.build());
    }
    public N endExecNewPod(){
            return and();
    }

}
    public class TagImagesNestedImpl extends TagImageHookFluentImpl> implements LifecycleHookFluent.TagImagesNested,io.alauda.kubernetes.api.builder.Nested{

            private final TagImageHookBuilder builder;
        private final int index;
    
            TagImagesNestedImpl(int index,TagImageHook item){
                    this.index = index;
                    this.builder = new TagImageHookBuilder(this, item);
            }
            TagImagesNestedImpl(){
                    this.index = -1;
                    this.builder = new TagImageHookBuilder(this);
            }
    
    public N and(){
            return (N) LifecycleHookFluentImpl.this.setToTagImages(index, builder.build());
    }
    public N endTagImage(){
            return and();
    }

}


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy