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

io.fabric8.openshift.api.model.ImageStreamSpecFluentImpl Maven / Gradle / Ivy

There is a newer version: 4.1.1
Show newest version
package io.fabric8.openshift.api.model;

import io.fabric8.kubernetes.api.builder.BaseFluent;
import java.lang.String;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.fabric8.kubernetes.api.builder.VisitableBuilder;
import java.util.List;
import javax.validation.Valid;
import java.util.ArrayList;
import java.lang.Object;
import io.fabric8.kubernetes.api.builder.Nested;

public class ImageStreamSpecFluentImpl> extends BaseFluent implements ImageStreamSpecFluent{

    private String dockerImageRepository;
    private List> tags =  new ArrayList>();

    public ImageStreamSpecFluentImpl(){
    }
    public ImageStreamSpecFluentImpl(ImageStreamSpec instance){
            this.withDockerImageRepository(instance.getDockerImageRepository()); 
            this.withTags(instance.getTags()); 
    }

    public String getDockerImageRepository(){
            return this.dockerImageRepository;
    }

    public A withDockerImageRepository(String dockerImageRepository){
            this.dockerImageRepository=dockerImageRepository; return (A) this;
    }

    public A addToTags(TagReference... items){
            for (TagReference item : items) {TagReferenceBuilder builder = new TagReferenceBuilder(item);_visitables.add(builder);this.tags.add(builder);} return (A)this;
    }

    public A removeFromTags(TagReference... items){
            for (TagReference item : items) {TagReferenceBuilder builder = new TagReferenceBuilder(item);_visitables.remove(builder);this.tags.remove(builder);} return (A)this;
    }

    public List getTags(){
            return build(tags);
    }

    public A withTags(List tags){
            this.tags.clear();
            if (tags != null) {for (TagReference item : tags){this.addToTags(item);}} return (A) this;
    }

    public A withTags(TagReference... tags){
            this.tags.clear(); if (tags != null) {for (TagReference item :tags){ this.addToTags(item);}} return (A) this;
    }

    public ImageStreamSpecFluent.TagsNested addNewTag(){
            return new TagsNestedImpl();
    }

    public ImageStreamSpecFluent.TagsNested addNewTagLike(TagReference item){
            return new TagsNestedImpl(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;
            ImageStreamSpecFluentImpl that = (ImageStreamSpecFluentImpl) o;
            if (dockerImageRepository != null ? !dockerImageRepository.equals(that.dockerImageRepository) :that.dockerImageRepository != null) return false;
            if (tags != null ? !tags.equals(that.tags) :that.tags != null) return false;
            return true;
    }


    public class TagsNestedImpl extends TagReferenceFluentImpl> implements ImageStreamSpecFluent.TagsNested,Nested{

            private final TagReferenceBuilder builder;
    
            TagsNestedImpl(){
                    this.builder = new TagReferenceBuilder(this);
            }
            TagsNestedImpl(TagReference item){
                    this.builder = new TagReferenceBuilder(this, item);
            }
    
    public N endTag(){
            return and();
    }
    public N and(){
            return (N) ImageStreamSpecFluentImpl.this.addToTags(builder.build());
    }

}


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy