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

io.fabric8.kubernetes.api.model.EndpointSubsetFluentImpl Maven / Gradle / Ivy

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

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

public class EndpointSubsetFluentImpl> extends BaseFluent implements EndpointSubsetFluent{

    private List> addresses =  new ArrayList>();
    private List> notReadyAddresses =  new ArrayList>();
    private List> ports =  new ArrayList>();

    public EndpointSubsetFluentImpl(){
    }
    public EndpointSubsetFluentImpl(EndpointSubset instance){
            this.withAddresses(instance.getAddresses()); 
            this.withNotReadyAddresses(instance.getNotReadyAddresses()); 
            this.withPorts(instance.getPorts()); 
    }

    public A addToAddresses(EndpointAddress... items){
            for (EndpointAddress item : items) {EndpointAddressBuilder builder = new EndpointAddressBuilder(item);_visitables.add(builder);this.addresses.add(builder);} return (A)this;
    }

    public A removeFromAddresses(EndpointAddress... items){
            for (EndpointAddress item : items) {EndpointAddressBuilder builder = new EndpointAddressBuilder(item);_visitables.remove(builder);this.addresses.remove(builder);} return (A)this;
    }

    public List getAddresses(){
            return build(addresses);
    }

    public A withAddresses(List addresses){
            this.addresses.clear();
            if (addresses != null) {for (EndpointAddress item : addresses){this.addToAddresses(item);}} return (A) this;
    }

    public A withAddresses(EndpointAddress... addresses){
            this.addresses.clear(); if (addresses != null) {for (EndpointAddress item :addresses){ this.addToAddresses(item);}} return (A) this;
    }

    public EndpointSubsetFluent.AddressesNested addNewAddress(){
            return new AddressesNestedImpl();
    }

    public EndpointSubsetFluent.AddressesNested addNewAddressLike(EndpointAddress item){
            return new AddressesNestedImpl(item);
    }

    public A addToNotReadyAddresses(EndpointAddress... items){
            for (EndpointAddress item : items) {EndpointAddressBuilder builder = new EndpointAddressBuilder(item);_visitables.add(builder);this.notReadyAddresses.add(builder);} return (A)this;
    }

    public A removeFromNotReadyAddresses(EndpointAddress... items){
            for (EndpointAddress item : items) {EndpointAddressBuilder builder = new EndpointAddressBuilder(item);_visitables.remove(builder);this.notReadyAddresses.remove(builder);} return (A)this;
    }

    public List getNotReadyAddresses(){
            return build(notReadyAddresses);
    }

    public A withNotReadyAddresses(List notReadyAddresses){
            this.notReadyAddresses.clear();
            if (notReadyAddresses != null) {for (EndpointAddress item : notReadyAddresses){this.addToNotReadyAddresses(item);}} return (A) this;
    }

    public A withNotReadyAddresses(EndpointAddress... notReadyAddresses){
            this.notReadyAddresses.clear(); if (notReadyAddresses != null) {for (EndpointAddress item :notReadyAddresses){ this.addToNotReadyAddresses(item);}} return (A) this;
    }

    public EndpointSubsetFluent.NotReadyAddressesNested addNewNotReadyAddress(){
            return new NotReadyAddressesNestedImpl();
    }

    public EndpointSubsetFluent.NotReadyAddressesNested addNewNotReadyAddressLike(EndpointAddress item){
            return new NotReadyAddressesNestedImpl(item);
    }

    public A addToPorts(EndpointPort... items){
            for (EndpointPort item : items) {EndpointPortBuilder builder = new EndpointPortBuilder(item);_visitables.add(builder);this.ports.add(builder);} return (A)this;
    }

    public A removeFromPorts(EndpointPort... items){
            for (EndpointPort item : items) {EndpointPortBuilder builder = new EndpointPortBuilder(item);_visitables.remove(builder);this.ports.remove(builder);} return (A)this;
    }

    public List getPorts(){
            return build(ports);
    }

    public A withPorts(List ports){
            this.ports.clear();
            if (ports != null) {for (EndpointPort item : ports){this.addToPorts(item);}} return (A) this;
    }

    public A withPorts(EndpointPort... ports){
            this.ports.clear(); if (ports != null) {for (EndpointPort item :ports){ this.addToPorts(item);}} return (A) this;
    }

    public EndpointSubsetFluent.PortsNested addNewPort(){
            return new PortsNestedImpl();
    }

    public EndpointSubsetFluent.PortsNested addNewPortLike(EndpointPort item){
            return new PortsNestedImpl(item);
    }

    public A addNewPort(String name,Integer port,String protocol){
            return (A)addToPorts(new EndpointPort(name, port, protocol));
    }

    public boolean equals(Object o){
            if (this == o) return true;
            if (o == null || getClass() != o.getClass()) return false;
            if (!super.equals(o)) return false;
            EndpointSubsetFluentImpl that = (EndpointSubsetFluentImpl) o;
            if (addresses != null ? !addresses.equals(that.addresses) :that.addresses != null) return false;
            if (notReadyAddresses != null ? !notReadyAddresses.equals(that.notReadyAddresses) :that.notReadyAddresses != null) return false;
            if (ports != null ? !ports.equals(that.ports) :that.ports != null) return false;
            return true;
    }


    public class AddressesNestedImpl extends EndpointAddressFluentImpl> implements EndpointSubsetFluent.AddressesNested,Nested{

            private final EndpointAddressBuilder builder;
    
            AddressesNestedImpl(){
                    this.builder = new EndpointAddressBuilder(this);
            }
            AddressesNestedImpl(EndpointAddress item){
                    this.builder = new EndpointAddressBuilder(this, item);
            }
    
    public N endAddress(){
            return and();
    }
    public N and(){
            return (N) EndpointSubsetFluentImpl.this.addToAddresses(builder.build());
    }

}
    public class NotReadyAddressesNestedImpl extends EndpointAddressFluentImpl> implements EndpointSubsetFluent.NotReadyAddressesNested,Nested{

            private final EndpointAddressBuilder builder;
    
            NotReadyAddressesNestedImpl(){
                    this.builder = new EndpointAddressBuilder(this);
            }
            NotReadyAddressesNestedImpl(EndpointAddress item){
                    this.builder = new EndpointAddressBuilder(this, item);
            }
    
    public N endNotReadyAddress(){
            return and();
    }
    public N and(){
            return (N) EndpointSubsetFluentImpl.this.addToNotReadyAddresses(builder.build());
    }

}
    public class PortsNestedImpl extends EndpointPortFluentImpl> implements EndpointSubsetFluent.PortsNested,Nested{

            private final EndpointPortBuilder builder;
    
            PortsNestedImpl(){
                    this.builder = new EndpointPortBuilder(this);
            }
            PortsNestedImpl(EndpointPort item){
                    this.builder = new EndpointPortBuilder(this, item);
            }
    
    public N endPort(){
            return and();
    }
    public N and(){
            return (N) EndpointSubsetFluentImpl.this.addToPorts(builder.build());
    }

}


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy