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

annotations.io.fabric8.knative.sources.v1.ApiServerSourceSpecFluentImpl Maven / Gradle / Ivy

package io.fabric8.knative.sources.v1;

import io.fabric8.knative.internal.pkg.apis.duck.v1.Destination;
import io.fabric8.kubernetes.api.builder.VisitableBuilder;
import io.fabric8.kubernetes.api.builder.Nested;
import java.util.ArrayList;
import java.lang.String;
import java.util.function.Predicate;
import io.fabric8.knative.internal.pkg.apis.duck.v1.CloudEventOverrides;
import java.lang.Deprecated;
import io.fabric8.kubernetes.api.builder.BaseFluent;
import java.util.Iterator;
import java.util.List;
import io.fabric8.knative.internal.pkg.apis.duck.v1.CloudEventOverridesBuilder;
import java.lang.Boolean;
import io.fabric8.knative.internal.pkg.apis.duck.v1.CloudEventOverridesFluentImpl;
import io.fabric8.knative.internal.pkg.apis.duck.v1.DestinationBuilder;
import java.util.Collection;
import java.lang.Object;
import io.fabric8.knative.internal.pkg.apis.duck.v1.DestinationFluentImpl;

public class ApiServerSourceSpecFluentImpl> extends io.fabric8.kubernetes.api.builder.BaseFluent implements io.fabric8.knative.sources.v1.ApiServerSourceSpecFluent {

    private io.fabric8.knative.internal.pkg.apis.duck.v1.CloudEventOverridesBuilder ceOverrides;
    private java.lang.String mode;
    private io.fabric8.knative.sources.v1.APIVersionKindBuilder owner;
    private java.util.List resources;
    private java.lang.String serviceAccountName;
    private io.fabric8.knative.internal.pkg.apis.duck.v1.DestinationBuilder sink;

    public ApiServerSourceSpecFluentImpl() {
    }

    public ApiServerSourceSpecFluentImpl(io.fabric8.knative.sources.v1.ApiServerSourceSpec instance) {
        this.withCeOverrides(instance.getCeOverrides()); 
        this.withMode(instance.getMode()); 
        this.withOwner(instance.getOwner()); 
        this.withResources(instance.getResources()); 
        this.withServiceAccountName(instance.getServiceAccountName()); 
        this.withSink(instance.getSink()); 
    }

    
    @java.lang.Deprecated
        
    /**
     * This method has been deprecated, please use method buildCeOverrides instead.
     * @return The buildable object.
     */
        public io.fabric8.knative.internal.pkg.apis.duck.v1.CloudEventOverrides getCeOverrides() {
        return this.ceOverrides!=null?this.ceOverrides.build():null;
    }

    public io.fabric8.knative.internal.pkg.apis.duck.v1.CloudEventOverrides buildCeOverrides() {
        return this.ceOverrides!=null?this.ceOverrides.build():null;
    }

    public A withCeOverrides(io.fabric8.knative.internal.pkg.apis.duck.v1.CloudEventOverrides ceOverrides) {
        _visitables.get("ceOverrides").remove(this.ceOverrides);
        if (ceOverrides!=null){ this.ceOverrides= new io.fabric8.knative.internal.pkg.apis.duck.v1.CloudEventOverridesBuilder(ceOverrides); _visitables.get("ceOverrides").add(this.ceOverrides);} return (A) this;
    }

    public java.lang.Boolean hasCeOverrides() {
        return this.ceOverrides != null;
    }

    public io.fabric8.knative.sources.v1.ApiServerSourceSpecFluent.CeOverridesNested withNewCeOverrides() {
        return new io.fabric8.knative.sources.v1.ApiServerSourceSpecFluentImpl.CeOverridesNestedImpl();
    }

    public io.fabric8.knative.sources.v1.ApiServerSourceSpecFluent.CeOverridesNested withNewCeOverridesLike(io.fabric8.knative.internal.pkg.apis.duck.v1.CloudEventOverrides item) {
        return new io.fabric8.knative.sources.v1.ApiServerSourceSpecFluentImpl.CeOverridesNestedImpl(item);
    }

    public io.fabric8.knative.sources.v1.ApiServerSourceSpecFluent.CeOverridesNested editCeOverrides() {
        return withNewCeOverridesLike(getCeOverrides());
    }

    public io.fabric8.knative.sources.v1.ApiServerSourceSpecFluent.CeOverridesNested editOrNewCeOverrides() {
        return withNewCeOverridesLike(getCeOverrides() != null ? getCeOverrides(): new io.fabric8.knative.internal.pkg.apis.duck.v1.CloudEventOverridesBuilder().build());
    }

    public io.fabric8.knative.sources.v1.ApiServerSourceSpecFluent.CeOverridesNested editOrNewCeOverridesLike(io.fabric8.knative.internal.pkg.apis.duck.v1.CloudEventOverrides item) {
        return withNewCeOverridesLike(getCeOverrides() != null ? getCeOverrides(): item);
    }

    public java.lang.String getMode() {
        return this.mode;
    }

    public A withMode(java.lang.String mode) {
        this.mode=mode; return (A) this;
    }

    public java.lang.Boolean hasMode() {
        return this.mode != null;
    }

    
    @java.lang.Deprecated
        
    /**
     * Method is deprecated. use withMode instead.
     */
        public A withNewMode(java.lang.String arg0) {
        return (A)withMode(new String(arg0));
    }

    
    @java.lang.Deprecated
        
    /**
     * This method has been deprecated, please use method buildOwner instead.
     * @return The buildable object.
     */
        public io.fabric8.knative.sources.v1.APIVersionKind getOwner() {
        return this.owner!=null?this.owner.build():null;
    }

    public io.fabric8.knative.sources.v1.APIVersionKind buildOwner() {
        return this.owner!=null?this.owner.build():null;
    }

    public A withOwner(io.fabric8.knative.sources.v1.APIVersionKind owner) {
        _visitables.get("owner").remove(this.owner);
        if (owner!=null){ this.owner= new io.fabric8.knative.sources.v1.APIVersionKindBuilder(owner); _visitables.get("owner").add(this.owner);} return (A) this;
    }

    public java.lang.Boolean hasOwner() {
        return this.owner != null;
    }

    public A withNewOwner(java.lang.String apiVersion,java.lang.String kind) {
        return (A)withOwner(new APIVersionKind(apiVersion, kind));
    }

    public io.fabric8.knative.sources.v1.ApiServerSourceSpecFluent.OwnerNested withNewOwner() {
        return new io.fabric8.knative.sources.v1.ApiServerSourceSpecFluentImpl.OwnerNestedImpl();
    }

    public io.fabric8.knative.sources.v1.ApiServerSourceSpecFluent.OwnerNested withNewOwnerLike(io.fabric8.knative.sources.v1.APIVersionKind item) {
        return new io.fabric8.knative.sources.v1.ApiServerSourceSpecFluentImpl.OwnerNestedImpl(item);
    }

    public io.fabric8.knative.sources.v1.ApiServerSourceSpecFluent.OwnerNested editOwner() {
        return withNewOwnerLike(getOwner());
    }

    public io.fabric8.knative.sources.v1.ApiServerSourceSpecFluent.OwnerNested editOrNewOwner() {
        return withNewOwnerLike(getOwner() != null ? getOwner(): new io.fabric8.knative.sources.v1.APIVersionKindBuilder().build());
    }

    public io.fabric8.knative.sources.v1.ApiServerSourceSpecFluent.OwnerNested editOrNewOwnerLike(io.fabric8.knative.sources.v1.APIVersionKind item) {
        return withNewOwnerLike(getOwner() != null ? getOwner(): item);
    }

    public A addToResources(int index,io.fabric8.knative.sources.v1.APIVersionKindSelector item) {
        if (this.resources == null) {this.resources = new java.util.ArrayList();}
        io.fabric8.knative.sources.v1.APIVersionKindSelectorBuilder builder = new io.fabric8.knative.sources.v1.APIVersionKindSelectorBuilder(item);_visitables.get("resources").add(index >= 0 ? index : _visitables.get("resources").size(), builder);this.resources.add(index >= 0 ? index : resources.size(), builder); return (A)this;
    }

    public A setToResources(int index,io.fabric8.knative.sources.v1.APIVersionKindSelector item) {
        if (this.resources == null) {this.resources = new java.util.ArrayList();}
        io.fabric8.knative.sources.v1.APIVersionKindSelectorBuilder builder = new io.fabric8.knative.sources.v1.APIVersionKindSelectorBuilder(item);
        if (index < 0 || index >= _visitables.get("resources").size()) { _visitables.get("resources").add(builder); } else { _visitables.get("resources").set(index, builder);}
        if (index < 0 || index >= resources.size()) { resources.add(builder); } else { resources.set(index, builder);}
         return (A)this;
    }

    public A addToResources(io.fabric8.knative.sources.v1.APIVersionKindSelector... items) {
        if (this.resources == null) {this.resources = new java.util.ArrayList();}
        for (io.fabric8.knative.sources.v1.APIVersionKindSelector item : items) {io.fabric8.knative.sources.v1.APIVersionKindSelectorBuilder builder = new io.fabric8.knative.sources.v1.APIVersionKindSelectorBuilder(item);_visitables.get("resources").add(builder);this.resources.add(builder);} return (A)this;
    }

    public A addAllToResources(java.util.Collection items) {
        if (this.resources == null) {this.resources = new java.util.ArrayList();}
        for (io.fabric8.knative.sources.v1.APIVersionKindSelector item : items) {io.fabric8.knative.sources.v1.APIVersionKindSelectorBuilder builder = new io.fabric8.knative.sources.v1.APIVersionKindSelectorBuilder(item);_visitables.get("resources").add(builder);this.resources.add(builder);} return (A)this;
    }

    public A removeFromResources(io.fabric8.knative.sources.v1.APIVersionKindSelector... items) {
        for (io.fabric8.knative.sources.v1.APIVersionKindSelector item : items) {io.fabric8.knative.sources.v1.APIVersionKindSelectorBuilder builder = new io.fabric8.knative.sources.v1.APIVersionKindSelectorBuilder(item);_visitables.get("resources").remove(builder);if (this.resources != null) {this.resources.remove(builder);}} return (A)this;
    }

    public A removeAllFromResources(java.util.Collection items) {
        for (io.fabric8.knative.sources.v1.APIVersionKindSelector item : items) {io.fabric8.knative.sources.v1.APIVersionKindSelectorBuilder builder = new io.fabric8.knative.sources.v1.APIVersionKindSelectorBuilder(item);_visitables.get("resources").remove(builder);if (this.resources != null) {this.resources.remove(builder);}} return (A)this;
    }

    public A removeMatchingFromResources(java.util.function.Predicate predicate) {
        if (resources == null) return (A) this;
        final Iterator each = resources.iterator();
        final List visitables = _visitables.get("resources");
        while (each.hasNext()) {
          io.fabric8.knative.sources.v1.APIVersionKindSelectorBuilder builder = each.next();
          if (predicate.test(builder)) {
            visitables.remove(builder);
            each.remove();
          }
        }
        return (A)this;
    }

    
    @java.lang.Deprecated
        
    /**
     * This method has been deprecated, please use method buildResources instead.
     * @return The buildable object.
     */
        public java.util.List getResources() {
        return build(resources);
    }

    public java.util.List buildResources() {
        return build(resources);
    }

    public io.fabric8.knative.sources.v1.APIVersionKindSelector buildResource(int index) {
        return this.resources.get(index).build();
    }

    public io.fabric8.knative.sources.v1.APIVersionKindSelector buildFirstResource() {
        return this.resources.get(0).build();
    }

    public io.fabric8.knative.sources.v1.APIVersionKindSelector buildLastResource() {
        return this.resources.get(resources.size() - 1).build();
    }

    public io.fabric8.knative.sources.v1.APIVersionKindSelector buildMatchingResource(java.util.function.Predicate predicate) {
        for (io.fabric8.knative.sources.v1.APIVersionKindSelectorBuilder item: resources) { if(predicate.test(item)){ return item.build();} } return null;
    }

    public java.lang.Boolean hasMatchingResource(java.util.function.Predicate predicate) {
        for (io.fabric8.knative.sources.v1.APIVersionKindSelectorBuilder item: resources) { if(predicate.test(item)){ return true;} } return false;
    }

    public A withResources(java.util.List resources) {
        if (this.resources != null) { _visitables.get("resources").removeAll(this.resources);}
        if (resources != null) {this.resources = new java.util.ArrayList(); for (io.fabric8.knative.sources.v1.APIVersionKindSelector item : resources){this.addToResources(item);}} else { this.resources = null;} return (A) this;
    }

    public A withResources(io.fabric8.knative.sources.v1.APIVersionKindSelector... resources) {
        if (this.resources != null) {this.resources.clear();}
        if (resources != null) {for (io.fabric8.knative.sources.v1.APIVersionKindSelector item :resources){ this.addToResources(item);}} return (A) this;
    }

    public java.lang.Boolean hasResources() {
        return resources != null && !resources.isEmpty();
    }

    public io.fabric8.knative.sources.v1.ApiServerSourceSpecFluent.ResourcesNested addNewResource() {
        return new io.fabric8.knative.sources.v1.ApiServerSourceSpecFluentImpl.ResourcesNestedImpl();
    }

    public io.fabric8.knative.sources.v1.ApiServerSourceSpecFluent.ResourcesNested addNewResourceLike(io.fabric8.knative.sources.v1.APIVersionKindSelector item) {
        return new io.fabric8.knative.sources.v1.ApiServerSourceSpecFluentImpl.ResourcesNestedImpl(-1, item);
    }

    public io.fabric8.knative.sources.v1.ApiServerSourceSpecFluent.ResourcesNested setNewResourceLike(int index,io.fabric8.knative.sources.v1.APIVersionKindSelector item) {
        return new io.fabric8.knative.sources.v1.ApiServerSourceSpecFluentImpl.ResourcesNestedImpl(index, item);
    }

    public io.fabric8.knative.sources.v1.ApiServerSourceSpecFluent.ResourcesNested editResource(int index) {
        if (resources.size() <= index) throw new RuntimeException("Can't edit resources. Index exceeds size.");
        return setNewResourceLike(index, buildResource(index));
    }

    public io.fabric8.knative.sources.v1.ApiServerSourceSpecFluent.ResourcesNested editFirstResource() {
        if (resources.size() == 0) throw new RuntimeException("Can't edit first resources. The list is empty.");
        return setNewResourceLike(0, buildResource(0));
    }

    public io.fabric8.knative.sources.v1.ApiServerSourceSpecFluent.ResourcesNested editLastResource() {
        int index = resources.size() - 1;
        if (index < 0) throw new RuntimeException("Can't edit last resources. The list is empty.");
        return setNewResourceLike(index, buildResource(index));
    }

    public io.fabric8.knative.sources.v1.ApiServerSourceSpecFluent.ResourcesNested editMatchingResource(java.util.function.Predicate predicate) {
        int index = -1;
        for (int i=0;i withNewSink() {
        return new io.fabric8.knative.sources.v1.ApiServerSourceSpecFluentImpl.SinkNestedImpl();
    }

    public io.fabric8.knative.sources.v1.ApiServerSourceSpecFluent.SinkNested withNewSinkLike(io.fabric8.knative.internal.pkg.apis.duck.v1.Destination item) {
        return new io.fabric8.knative.sources.v1.ApiServerSourceSpecFluentImpl.SinkNestedImpl(item);
    }

    public io.fabric8.knative.sources.v1.ApiServerSourceSpecFluent.SinkNested editSink() {
        return withNewSinkLike(getSink());
    }

    public io.fabric8.knative.sources.v1.ApiServerSourceSpecFluent.SinkNested editOrNewSink() {
        return withNewSinkLike(getSink() != null ? getSink(): new io.fabric8.knative.internal.pkg.apis.duck.v1.DestinationBuilder().build());
    }

    public io.fabric8.knative.sources.v1.ApiServerSourceSpecFluent.SinkNested editOrNewSinkLike(io.fabric8.knative.internal.pkg.apis.duck.v1.Destination item) {
        return withNewSinkLike(getSink() != null ? getSink(): item);
    }

    public boolean equals(java.lang.Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        ApiServerSourceSpecFluentImpl that = (ApiServerSourceSpecFluentImpl) o;
        if (ceOverrides != null ? !ceOverrides.equals(that.ceOverrides) :that.ceOverrides != null) return false;
        if (mode != null ? !mode.equals(that.mode) :that.mode != null) return false;
        if (owner != null ? !owner.equals(that.owner) :that.owner != null) return false;
        if (resources != null ? !resources.equals(that.resources) :that.resources != null) return false;
        if (serviceAccountName != null ? !serviceAccountName.equals(that.serviceAccountName) :that.serviceAccountName != null) return false;
        if (sink != null ? !sink.equals(that.sink) :that.sink != null) return false;
        return true;
    }

    public int hashCode() {
        return java.util.Objects.hash(ceOverrides,  mode,  owner,  resources,  serviceAccountName,  sink,  super.hashCode());
    }

    public class CeOverridesNestedImpl extends io.fabric8.knative.internal.pkg.apis.duck.v1.CloudEventOverridesFluentImpl> implements io.fabric8.knative.sources.v1.ApiServerSourceSpecFluent.CeOverridesNested,io.fabric8.kubernetes.api.builder.Nested {
        private final io.fabric8.knative.internal.pkg.apis.duck.v1.CloudEventOverridesBuilder builder;

            CeOverridesNestedImpl(io.fabric8.knative.internal.pkg.apis.duck.v1.CloudEventOverrides item) {
                this.builder = new io.fabric8.knative.internal.pkg.apis.duck.v1.CloudEventOverridesBuilder(this, item);
                        
            }

            CeOverridesNestedImpl() {
                this.builder = new io.fabric8.knative.internal.pkg.apis.duck.v1.CloudEventOverridesBuilder(this);
                        
            }

            public N and() {
                return (N) ApiServerSourceSpecFluentImpl.this.withCeOverrides(builder.build());
            }

            public N endCeOverrides() {
                return and();
            }
    }


    public class OwnerNestedImpl extends io.fabric8.knative.sources.v1.APIVersionKindFluentImpl> implements io.fabric8.knative.sources.v1.ApiServerSourceSpecFluent.OwnerNested,io.fabric8.kubernetes.api.builder.Nested {
        private final io.fabric8.knative.sources.v1.APIVersionKindBuilder builder;

            OwnerNestedImpl(io.fabric8.knative.sources.v1.APIVersionKind item) {
                this.builder = new io.fabric8.knative.sources.v1.APIVersionKindBuilder(this, item);
                        
            }

            OwnerNestedImpl() {
                this.builder = new io.fabric8.knative.sources.v1.APIVersionKindBuilder(this);
                        
            }

            public N and() {
                return (N) ApiServerSourceSpecFluentImpl.this.withOwner(builder.build());
            }

            public N endOwner() {
                return and();
            }
    }


    public class ResourcesNestedImpl extends io.fabric8.knative.sources.v1.APIVersionKindSelectorFluentImpl> implements io.fabric8.knative.sources.v1.ApiServerSourceSpecFluent.ResourcesNested,io.fabric8.kubernetes.api.builder.Nested {
        private final io.fabric8.knative.sources.v1.APIVersionKindSelectorBuilder builder;
        private final int index;

            ResourcesNestedImpl(int index,io.fabric8.knative.sources.v1.APIVersionKindSelector item) {
                this.index = index;
                this.builder = new io.fabric8.knative.sources.v1.APIVersionKindSelectorBuilder(this, item);
                        
            }

            ResourcesNestedImpl() {
                this.index = -1;
                this.builder = new io.fabric8.knative.sources.v1.APIVersionKindSelectorBuilder(this);
                        
            }

            public N and() {
                return (N) ApiServerSourceSpecFluentImpl.this.setToResources(index,builder.build());
            }

            public N endResource() {
                return and();
            }
    }


    public class SinkNestedImpl extends io.fabric8.knative.internal.pkg.apis.duck.v1.DestinationFluentImpl> implements io.fabric8.knative.sources.v1.ApiServerSourceSpecFluent.SinkNested,io.fabric8.kubernetes.api.builder.Nested {
        private final io.fabric8.knative.internal.pkg.apis.duck.v1.DestinationBuilder builder;

            SinkNestedImpl(io.fabric8.knative.internal.pkg.apis.duck.v1.Destination item) {
                this.builder = new io.fabric8.knative.internal.pkg.apis.duck.v1.DestinationBuilder(this, item);
                        
            }

            SinkNestedImpl() {
                this.builder = new io.fabric8.knative.internal.pkg.apis.duck.v1.DestinationBuilder(this);
                        
            }

            public N and() {
                return (N) ApiServerSourceSpecFluentImpl.this.withSink(builder.build());
            }

            public N endSink() {
                return and();
            }
    }


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy