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

io.alauda.devops.api.model.BuildSourceFluentImpl 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 io.alauda.kubernetes.api.model.LocalObjectReferenceFluentImpl;
import java.util.List;
import java.lang.Boolean;
import io.alauda.kubernetes.api.model.LocalObjectReferenceBuilder;
import javax.validation.Valid;
import io.alauda.kubernetes.api.model.LocalObjectReference;
import java.util.Collection;
import java.lang.Object;

public class BuildSourceFluentImpl> extends io.alauda.kubernetes.api.builder.BaseFluent implements BuildSourceFluent{

    private BinaryBuildSourceBuilder binary;
    private String contextDir;
    private String dockerfile;
    private GitBuildSourceBuilder git;
    private List images =  new ArrayList();
    private List secrets =  new ArrayList();
    private LocalObjectReferenceBuilder sourceSecret;
    private String type;

    public BuildSourceFluentImpl(){
    }
    public BuildSourceFluentImpl(BuildSource instance){
            this.withBinary(instance.getBinary()); 
            this.withContextDir(instance.getContextDir()); 
            this.withDockerfile(instance.getDockerfile()); 
            this.withGit(instance.getGit()); 
            this.withImages(instance.getImages()); 
            this.withSecrets(instance.getSecrets()); 
            this.withSourceSecret(instance.getSourceSecret()); 
            this.withType(instance.getType()); 
    }

    
/**
 * This method has been deprecated, please use method buildBinary instead.
 */
@Deprecated public BinaryBuildSource getBinary(){
            return this.binary!=null?this.binary.build():null;
    }

    public BinaryBuildSource buildBinary(){
            return this.binary!=null?this.binary.build():null;
    }

    public A withBinary(BinaryBuildSource binary){
            _visitables.remove(this.binary);
            if (binary!=null){ this.binary= new BinaryBuildSourceBuilder(binary); _visitables.add(this.binary);} return (A) this;
    }

    public Boolean hasBinary(){
            return this.binary!=null;
    }

    public BuildSourceFluent.BinaryNested withNewBinary(){
            return new BinaryNestedImpl();
    }

    public BuildSourceFluent.BinaryNested withNewBinaryLike(BinaryBuildSource item){
            return new BinaryNestedImpl(item);
    }

    public BuildSourceFluent.BinaryNested editBinary(){
            return withNewBinaryLike(getBinary());
    }

    public BuildSourceFluent.BinaryNested editOrNewBinary(){
            return withNewBinaryLike(getBinary() != null ? getBinary(): new BinaryBuildSourceBuilder().build());
    }

    public BuildSourceFluent.BinaryNested editOrNewBinaryLike(BinaryBuildSource item){
            return withNewBinaryLike(getBinary() != null ? getBinary(): item);
    }

    public A withNewBinary(String asFile){
            return (A)withBinary(new BinaryBuildSource(asFile));
    }

    public String getContextDir(){
            return this.contextDir;
    }

    public A withContextDir(String contextDir){
            this.contextDir=contextDir; return (A) this;
    }

    public Boolean hasContextDir(){
            return this.contextDir!=null;
    }

    public String getDockerfile(){
            return this.dockerfile;
    }

    public A withDockerfile(String dockerfile){
            this.dockerfile=dockerfile; return (A) this;
    }

    public Boolean hasDockerfile(){
            return this.dockerfile!=null;
    }

    
/**
 * This method has been deprecated, please use method buildGit instead.
 */
@Deprecated public GitBuildSource getGit(){
            return this.git!=null?this.git.build():null;
    }

    public GitBuildSource buildGit(){
            return this.git!=null?this.git.build():null;
    }

    public A withGit(GitBuildSource git){
            _visitables.remove(this.git);
            if (git!=null){ this.git= new GitBuildSourceBuilder(git); _visitables.add(this.git);} return (A) this;
    }

    public Boolean hasGit(){
            return this.git!=null;
    }

    public BuildSourceFluent.GitNested withNewGit(){
            return new GitNestedImpl();
    }

    public BuildSourceFluent.GitNested withNewGitLike(GitBuildSource item){
            return new GitNestedImpl(item);
    }

    public BuildSourceFluent.GitNested editGit(){
            return withNewGitLike(getGit());
    }

    public BuildSourceFluent.GitNested editOrNewGit(){
            return withNewGitLike(getGit() != null ? getGit(): new GitBuildSourceBuilder().build());
    }

    public BuildSourceFluent.GitNested editOrNewGitLike(GitBuildSource item){
            return withNewGitLike(getGit() != null ? getGit(): item);
    }

    public A withNewGit(String httpProxy,String httpsProxy,String noProxy,String ref,String uri){
            return (A)withGit(new GitBuildSource(httpProxy, httpsProxy, noProxy, ref, uri));
    }

    public A addToImages(int index,ImageSource item){
            ImageSourceBuilder builder = new ImageSourceBuilder(item);_visitables.add(index >= 0 ? index : _visitables.size(), builder);this.images.add(index >= 0 ? index : images.size(), builder); return (A)this;
    }

    public A setToImages(int index,ImageSource item){
            ImageSourceBuilder builder = new ImageSourceBuilder(item);
            if (index < 0 || index >= _visitables.size()) { _visitables.add(builder); } else { _visitables.set(index, builder);}
            if (index < 0 || index >= images.size()) { images.add(builder); } else { images.set(index, builder);}
             return (A)this;
    }

    public A addToImages(ImageSource... items){
            for (ImageSource item : items) {ImageSourceBuilder builder = new ImageSourceBuilder(item);_visitables.add(builder);this.images.add(builder);} return (A)this;
    }

    public A addAllToImages(Collection items){
            for (ImageSource item : items) {ImageSourceBuilder builder = new ImageSourceBuilder(item);_visitables.add(builder);this.images.add(builder);} return (A)this;
    }

    public A removeFromImages(ImageSource... items){
            for (ImageSource item : items) {ImageSourceBuilder builder = new ImageSourceBuilder(item);_visitables.remove(builder);this.images.remove(builder);} return (A)this;
    }

    public A removeAllFromImages(Collection items){
            for (ImageSource item : items) {ImageSourceBuilder builder = new ImageSourceBuilder(item);_visitables.remove(builder);this.images.remove(builder);} return (A)this;
    }

    
/**
 * This method has been deprecated, please use method buildImages instead.
 */
@Deprecated public List getImages(){
            return build(images);
    }

    public List buildImages(){
            return build(images);
    }

    public ImageSource buildImage(int index){
            return this.images.get(index).build();
    }

    public ImageSource buildFirstImage(){
            return this.images.get(0).build();
    }

    public ImageSource buildLastImage(){
            return this.images.get(images.size() - 1).build();
    }

    public ImageSource buildMatchingImage(io.alauda.kubernetes.api.builder.Predicate predicate){
            for (ImageSourceBuilder item: images) { if(predicate.apply(item)){return item.build();} } return null;
    }

    public A withImages(List images){
            _visitables.removeAll(this.images);
            this.images.clear();
            if (images != null) {for (ImageSource item : images){this.addToImages(item);}} return (A) this;
    }

    public A withImages(ImageSource... images){
            this.images.clear(); if (images != null) {for (ImageSource item :images){ this.addToImages(item);}} return (A) this;
    }

    public Boolean hasImages(){
            return images!= null && !images.isEmpty();
    }

    public BuildSourceFluent.ImagesNested addNewImage(){
            return new ImagesNestedImpl();
    }

    public BuildSourceFluent.ImagesNested addNewImageLike(ImageSource item){
            return new ImagesNestedImpl(-1, item);
    }

    public BuildSourceFluent.ImagesNested setNewImageLike(int index,ImageSource item){
            return new ImagesNestedImpl(index, item);
    }

    public BuildSourceFluent.ImagesNested editImage(int index){
            if (images.size() <= index) throw new RuntimeException("Can't edit images. Index exceeds size.");
            return setNewImageLike(index, buildImage(index));
    }

    public BuildSourceFluent.ImagesNested editFirstImage(){
            if (images.size() == 0) throw new RuntimeException("Can't edit first images. The list is empty.");
            return setNewImageLike(0, buildImage(0));
    }

    public BuildSourceFluent.ImagesNested editLastImage(){
            int index = images.size() - 1;
            if (index < 0) throw new RuntimeException("Can't edit last images. The list is empty.");
            return setNewImageLike(index, buildImage(index));
    }

    public BuildSourceFluent.ImagesNested editMatchingImage(io.alauda.kubernetes.api.builder.Predicate predicate){
            int index = -1;
            for (int i=0;i= 0 ? index : _visitables.size(), builder);this.secrets.add(index >= 0 ? index : secrets.size(), builder); return (A)this;
    }

    public A setToSecrets(int index,SecretBuildSource item){
            SecretBuildSourceBuilder builder = new SecretBuildSourceBuilder(item);
            if (index < 0 || index >= _visitables.size()) { _visitables.add(builder); } else { _visitables.set(index, builder);}
            if (index < 0 || index >= secrets.size()) { secrets.add(builder); } else { secrets.set(index, builder);}
             return (A)this;
    }

    public A addToSecrets(SecretBuildSource... items){
            for (SecretBuildSource item : items) {SecretBuildSourceBuilder builder = new SecretBuildSourceBuilder(item);_visitables.add(builder);this.secrets.add(builder);} return (A)this;
    }

    public A addAllToSecrets(Collection items){
            for (SecretBuildSource item : items) {SecretBuildSourceBuilder builder = new SecretBuildSourceBuilder(item);_visitables.add(builder);this.secrets.add(builder);} return (A)this;
    }

    public A removeFromSecrets(SecretBuildSource... items){
            for (SecretBuildSource item : items) {SecretBuildSourceBuilder builder = new SecretBuildSourceBuilder(item);_visitables.remove(builder);this.secrets.remove(builder);} return (A)this;
    }

    public A removeAllFromSecrets(Collection items){
            for (SecretBuildSource item : items) {SecretBuildSourceBuilder builder = new SecretBuildSourceBuilder(item);_visitables.remove(builder);this.secrets.remove(builder);} return (A)this;
    }

    
/**
 * This method has been deprecated, please use method buildSecrets instead.
 */
@Deprecated public List getSecrets(){
            return build(secrets);
    }

    public List buildSecrets(){
            return build(secrets);
    }

    public SecretBuildSource buildSecret(int index){
            return this.secrets.get(index).build();
    }

    public SecretBuildSource buildFirstSecret(){
            return this.secrets.get(0).build();
    }

    public SecretBuildSource buildLastSecret(){
            return this.secrets.get(secrets.size() - 1).build();
    }

    public SecretBuildSource buildMatchingSecret(io.alauda.kubernetes.api.builder.Predicate predicate){
            for (SecretBuildSourceBuilder item: secrets) { if(predicate.apply(item)){return item.build();} } return null;
    }

    public A withSecrets(List secrets){
            _visitables.removeAll(this.secrets);
            this.secrets.clear();
            if (secrets != null) {for (SecretBuildSource item : secrets){this.addToSecrets(item);}} return (A) this;
    }

    public A withSecrets(SecretBuildSource... secrets){
            this.secrets.clear(); if (secrets != null) {for (SecretBuildSource item :secrets){ this.addToSecrets(item);}} return (A) this;
    }

    public Boolean hasSecrets(){
            return secrets!= null && !secrets.isEmpty();
    }

    public BuildSourceFluent.SecretsNested addNewSecret(){
            return new SecretsNestedImpl();
    }

    public BuildSourceFluent.SecretsNested addNewSecretLike(SecretBuildSource item){
            return new SecretsNestedImpl(-1, item);
    }

    public BuildSourceFluent.SecretsNested setNewSecretLike(int index,SecretBuildSource item){
            return new SecretsNestedImpl(index, item);
    }

    public BuildSourceFluent.SecretsNested editSecret(int index){
            if (secrets.size() <= index) throw new RuntimeException("Can't edit secrets. Index exceeds size.");
            return setNewSecretLike(index, buildSecret(index));
    }

    public BuildSourceFluent.SecretsNested editFirstSecret(){
            if (secrets.size() == 0) throw new RuntimeException("Can't edit first secrets. The list is empty.");
            return setNewSecretLike(0, buildSecret(0));
    }

    public BuildSourceFluent.SecretsNested editLastSecret(){
            int index = secrets.size() - 1;
            if (index < 0) throw new RuntimeException("Can't edit last secrets. The list is empty.");
            return setNewSecretLike(index, buildSecret(index));
    }

    public BuildSourceFluent.SecretsNested editMatchingSecret(io.alauda.kubernetes.api.builder.Predicate predicate){
            int index = -1;
            for (int i=0;i withNewSourceSecret(){
            return new SourceSecretNestedImpl();
    }

    public BuildSourceFluent.SourceSecretNested withNewSourceSecretLike(LocalObjectReference item){
            return new SourceSecretNestedImpl(item);
    }

    public BuildSourceFluent.SourceSecretNested editSourceSecret(){
            return withNewSourceSecretLike(getSourceSecret());
    }

    public BuildSourceFluent.SourceSecretNested editOrNewSourceSecret(){
            return withNewSourceSecretLike(getSourceSecret() != null ? getSourceSecret(): new LocalObjectReferenceBuilder().build());
    }

    public BuildSourceFluent.SourceSecretNested editOrNewSourceSecretLike(LocalObjectReference item){
            return withNewSourceSecretLike(getSourceSecret() != null ? getSourceSecret(): item);
    }

    public A withNewSourceSecret(String name){
            return (A)withSourceSecret(new LocalObjectReference(name));
    }

    public String getType(){
            return this.type;
    }

    public A withType(String type){
            this.type=type; return (A) this;
    }

    public Boolean hasType(){
            return this.type!=null;
    }

    public boolean equals(Object o){
            if (this == o) return true;
            if (o == null || getClass() != o.getClass()) return false;
            if (!super.equals(o)) return false;
            BuildSourceFluentImpl that = (BuildSourceFluentImpl) o;
            if (binary != null ? !binary.equals(that.binary) :that.binary != null) return false;
            if (contextDir != null ? !contextDir.equals(that.contextDir) :that.contextDir != null) return false;
            if (dockerfile != null ? !dockerfile.equals(that.dockerfile) :that.dockerfile != null) return false;
            if (git != null ? !git.equals(that.git) :that.git != null) return false;
            if (images != null ? !images.equals(that.images) :that.images != null) return false;
            if (secrets != null ? !secrets.equals(that.secrets) :that.secrets != null) return false;
            if (sourceSecret != null ? !sourceSecret.equals(that.sourceSecret) :that.sourceSecret != null) return false;
            if (type != null ? !type.equals(that.type) :that.type != null) return false;
            return true;
    }


    public class BinaryNestedImpl extends BinaryBuildSourceFluentImpl> implements BuildSourceFluent.BinaryNested,io.alauda.kubernetes.api.builder.Nested{

            private final BinaryBuildSourceBuilder builder;
    
            BinaryNestedImpl(BinaryBuildSource item){
                    this.builder = new BinaryBuildSourceBuilder(this, item);
            }
            BinaryNestedImpl(){
                    this.builder = new BinaryBuildSourceBuilder(this);
            }
    
    public N and(){
            return (N) BuildSourceFluentImpl.this.withBinary(builder.build());
    }
    public N endBinary(){
            return and();
    }

}
    public class GitNestedImpl extends GitBuildSourceFluentImpl> implements BuildSourceFluent.GitNested,io.alauda.kubernetes.api.builder.Nested{

            private final GitBuildSourceBuilder builder;
    
            GitNestedImpl(GitBuildSource item){
                    this.builder = new GitBuildSourceBuilder(this, item);
            }
            GitNestedImpl(){
                    this.builder = new GitBuildSourceBuilder(this);
            }
    
    public N and(){
            return (N) BuildSourceFluentImpl.this.withGit(builder.build());
    }
    public N endGit(){
            return and();
    }

}
    public class ImagesNestedImpl extends ImageSourceFluentImpl> implements BuildSourceFluent.ImagesNested,io.alauda.kubernetes.api.builder.Nested{

            private final ImageSourceBuilder builder;
        private final int index;
    
            ImagesNestedImpl(int index,ImageSource item){
                    this.index = index;
                    this.builder = new ImageSourceBuilder(this, item);
            }
            ImagesNestedImpl(){
                    this.index = -1;
                    this.builder = new ImageSourceBuilder(this);
            }
    
    public N and(){
            return (N) BuildSourceFluentImpl.this.setToImages(index, builder.build());
    }
    public N endImage(){
            return and();
    }

}
    public class SecretsNestedImpl extends SecretBuildSourceFluentImpl> implements BuildSourceFluent.SecretsNested,io.alauda.kubernetes.api.builder.Nested{

            private final SecretBuildSourceBuilder builder;
        private final int index;
    
            SecretsNestedImpl(int index,SecretBuildSource item){
                    this.index = index;
                    this.builder = new SecretBuildSourceBuilder(this, item);
            }
            SecretsNestedImpl(){
                    this.index = -1;
                    this.builder = new SecretBuildSourceBuilder(this);
            }
    
    public N and(){
            return (N) BuildSourceFluentImpl.this.setToSecrets(index, builder.build());
    }
    public N endSecret(){
            return and();
    }

}
    public class SourceSecretNestedImpl extends LocalObjectReferenceFluentImpl> implements BuildSourceFluent.SourceSecretNested,io.alauda.kubernetes.api.builder.Nested{

            private final LocalObjectReferenceBuilder builder;
    
            SourceSecretNestedImpl(LocalObjectReference item){
                    this.builder = new LocalObjectReferenceBuilder(this, item);
            }
            SourceSecretNestedImpl(){
                    this.builder = new LocalObjectReferenceBuilder(this);
            }
    
    public N and(){
            return (N) BuildSourceFluentImpl.this.withSourceSecret(builder.build());
    }
    public N endSourceSecret(){
            return and();
    }

}


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy