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

io.alauda.devops.api.model.DockerStrategyOptionsFluentImpl 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 io.alauda.kubernetes.api.model.EnvVarBuilder;
import io.alauda.kubernetes.api.builder.Predicate;
import java.lang.Deprecated;
import javax.validation.Valid;
import io.alauda.kubernetes.api.builder.BaseFluent;
import io.alauda.kubernetes.api.model.EnvVar;
import java.util.Collection;
import io.alauda.kubernetes.api.model.EnvVarFluentImpl;
import java.lang.Object;
import java.util.List;
import java.lang.Boolean;

public class DockerStrategyOptionsFluentImpl> extends io.alauda.kubernetes.api.builder.BaseFluent implements DockerStrategyOptionsFluent{

    private List buildArgs =  new ArrayList();

    public DockerStrategyOptionsFluentImpl(){
    }
    public DockerStrategyOptionsFluentImpl(DockerStrategyOptions instance){
            this.withBuildArgs(instance.getBuildArgs()); 
    }

    public A addToBuildArgs(int index,EnvVar item){
            EnvVarBuilder builder = new EnvVarBuilder(item);_visitables.add(index >= 0 ? index : _visitables.size(), builder);this.buildArgs.add(index >= 0 ? index : buildArgs.size(), builder); return (A)this;
    }

    public A setToBuildArgs(int index,EnvVar item){
            EnvVarBuilder builder = new EnvVarBuilder(item);
            if (index < 0 || index >= _visitables.size()) { _visitables.add(builder); } else { _visitables.set(index, builder);}
            if (index < 0 || index >= buildArgs.size()) { buildArgs.add(builder); } else { buildArgs.set(index, builder);}
             return (A)this;
    }

    public A addToBuildArgs(EnvVar... items){
            for (EnvVar item : items) {EnvVarBuilder builder = new EnvVarBuilder(item);_visitables.add(builder);this.buildArgs.add(builder);} return (A)this;
    }

    public A addAllToBuildArgs(Collection items){
            for (EnvVar item : items) {EnvVarBuilder builder = new EnvVarBuilder(item);_visitables.add(builder);this.buildArgs.add(builder);} return (A)this;
    }

    public A removeFromBuildArgs(EnvVar... items){
            for (EnvVar item : items) {EnvVarBuilder builder = new EnvVarBuilder(item);_visitables.remove(builder);this.buildArgs.remove(builder);} return (A)this;
    }

    public A removeAllFromBuildArgs(Collection items){
            for (EnvVar item : items) {EnvVarBuilder builder = new EnvVarBuilder(item);_visitables.remove(builder);this.buildArgs.remove(builder);} return (A)this;
    }

    
/**
 * This method has been deprecated, please use method buildBuildArgs instead.
 */
@Deprecated public List getBuildArgs(){
            return build(buildArgs);
    }

    public List buildBuildArgs(){
            return build(buildArgs);
    }

    public EnvVar buildBuildArg(int index){
            return this.buildArgs.get(index).build();
    }

    public EnvVar buildFirstBuildArg(){
            return this.buildArgs.get(0).build();
    }

    public EnvVar buildLastBuildArg(){
            return this.buildArgs.get(buildArgs.size() - 1).build();
    }

    public EnvVar buildMatchingBuildArg(io.alauda.kubernetes.api.builder.Predicate predicate){
            for (EnvVarBuilder item: buildArgs) { if(predicate.apply(item)){return item.build();} } return null;
    }

    public A withBuildArgs(List buildArgs){
            _visitables.removeAll(this.buildArgs);
            this.buildArgs.clear();
            if (buildArgs != null) {for (EnvVar item : buildArgs){this.addToBuildArgs(item);}} return (A) this;
    }

    public A withBuildArgs(EnvVar... buildArgs){
            this.buildArgs.clear(); if (buildArgs != null) {for (EnvVar item :buildArgs){ this.addToBuildArgs(item);}} return (A) this;
    }

    public Boolean hasBuildArgs(){
            return buildArgs!= null && !buildArgs.isEmpty();
    }

    public DockerStrategyOptionsFluent.BuildArgsNested addNewBuildArg(){
            return new BuildArgsNestedImpl();
    }

    public DockerStrategyOptionsFluent.BuildArgsNested addNewBuildArgLike(EnvVar item){
            return new BuildArgsNestedImpl(-1, item);
    }

    public DockerStrategyOptionsFluent.BuildArgsNested setNewBuildArgLike(int index,EnvVar item){
            return new BuildArgsNestedImpl(index, item);
    }

    public DockerStrategyOptionsFluent.BuildArgsNested editBuildArg(int index){
            if (buildArgs.size() <= index) throw new RuntimeException("Can't edit buildArgs. Index exceeds size.");
            return setNewBuildArgLike(index, buildBuildArg(index));
    }

    public DockerStrategyOptionsFluent.BuildArgsNested editFirstBuildArg(){
            if (buildArgs.size() == 0) throw new RuntimeException("Can't edit first buildArgs. The list is empty.");
            return setNewBuildArgLike(0, buildBuildArg(0));
    }

    public DockerStrategyOptionsFluent.BuildArgsNested editLastBuildArg(){
            int index = buildArgs.size() - 1;
            if (index < 0) throw new RuntimeException("Can't edit last buildArgs. The list is empty.");
            return setNewBuildArgLike(index, buildBuildArg(index));
    }

    public DockerStrategyOptionsFluent.BuildArgsNested editMatchingBuildArg(io.alauda.kubernetes.api.builder.Predicate predicate){
            int index = -1;
            for (int i=0;i extends EnvVarFluentImpl> implements DockerStrategyOptionsFluent.BuildArgsNested,io.alauda.kubernetes.api.builder.Nested{

            private final EnvVarBuilder builder;
        private final int index;
    
            BuildArgsNestedImpl(int index,EnvVar item){
                    this.index = index;
                    this.builder = new EnvVarBuilder(this, item);
            }
            BuildArgsNestedImpl(){
                    this.index = -1;
                    this.builder = new EnvVarBuilder(this);
            }
    
    public N and(){
            return (N) DockerStrategyOptionsFluentImpl.this.setToBuildArgs(index, builder.build());
    }
    public N endBuildArg(){
            return and();
    }

}


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy