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

me.snowdrop.istio.api.model.v1.routing.DestinationPolicyFluentImpl Maven / Gradle / Ivy

package me.snowdrop.istio.api.model.v1.routing;

import com.fasterxml.jackson.annotation.JsonPropertyDescription;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.fabric8.kubernetes.api.builder.Nested;
import java.lang.String;
import me.snowdrop.istio.api.model.Any;
import java.lang.Deprecated;
import me.snowdrop.istio.api.model.AnyBuilder;
import me.snowdrop.istio.api.model.AnyFluentImpl;
import io.fabric8.kubernetes.api.builder.BaseFluent;
import java.lang.Boolean;
import javax.validation.Valid;
import java.lang.Object;

public class DestinationPolicyFluentImpl> extends io.fabric8.kubernetes.api.builder.BaseFluent implements DestinationPolicyFluent{

    private CircuitBreakerBuilder circuitBreaker;
    private AnyBuilder custom;
    private IstioServiceBuilder destination;
    private LoadBalancingBuilder loadBalancing;
    private IstioServiceBuilder source;

    public DestinationPolicyFluentImpl(){
    }
    public DestinationPolicyFluentImpl(DestinationPolicy instance){
            this.withCircuitBreaker(instance.getCircuitBreaker()); 
            this.withCustom(instance.getCustom()); 
            this.withDestination(instance.getDestination()); 
            this.withLoadBalancing(instance.getLoadBalancing()); 
            this.withSource(instance.getSource()); 
    }

    
/**
 * This method has been deprecated, please use method buildCircuitBreaker instead.
 */
@Deprecated public CircuitBreaker getCircuitBreaker(){
            return this.circuitBreaker!=null?this.circuitBreaker.build():null;
    }

    public CircuitBreaker buildCircuitBreaker(){
            return this.circuitBreaker!=null?this.circuitBreaker.build():null;
    }

    public A withCircuitBreaker(CircuitBreaker circuitBreaker){
            _visitables.remove(this.circuitBreaker);
            if (circuitBreaker!=null){ this.circuitBreaker= new CircuitBreakerBuilder(circuitBreaker); _visitables.add(this.circuitBreaker);} return (A) this;
    }

    public Boolean hasCircuitBreaker(){
            return this.circuitBreaker != null;
    }

    public A withNewCircuitBreaker(Object cbPolicy){
            return (A)withCircuitBreaker(new CircuitBreaker(cbPolicy));
    }

    public DestinationPolicyFluent.CircuitBreakerNested withNewCircuitBreaker(){
            return new CircuitBreakerNestedImpl();
    }

    public DestinationPolicyFluent.CircuitBreakerNested withNewCircuitBreakerLike(CircuitBreaker item){
            return new CircuitBreakerNestedImpl(item);
    }

    public DestinationPolicyFluent.CircuitBreakerNested editCircuitBreaker(){
            return withNewCircuitBreakerLike(getCircuitBreaker());
    }

    public DestinationPolicyFluent.CircuitBreakerNested editOrNewCircuitBreaker(){
            return withNewCircuitBreakerLike(getCircuitBreaker() != null ? getCircuitBreaker(): new CircuitBreakerBuilder().build());
    }

    public DestinationPolicyFluent.CircuitBreakerNested editOrNewCircuitBreakerLike(CircuitBreaker item){
            return withNewCircuitBreakerLike(getCircuitBreaker() != null ? getCircuitBreaker(): item);
    }

    
/**
 * This method has been deprecated, please use method buildCustom instead.
 */
@Deprecated public Any getCustom(){
            return this.custom!=null?this.custom.build():null;
    }

    public Any buildCustom(){
            return this.custom!=null?this.custom.build():null;
    }

    public A withCustom(Any custom){
            _visitables.remove(this.custom);
            if (custom!=null){ this.custom= new AnyBuilder(custom); _visitables.add(this.custom);} return (A) this;
    }

    public Boolean hasCustom(){
            return this.custom != null;
    }

    public A withNewCustom(String typeUrl,String value){
            return (A)withCustom(new Any(typeUrl, value));
    }

    public DestinationPolicyFluent.CustomNested withNewCustom(){
            return new CustomNestedImpl();
    }

    public DestinationPolicyFluent.CustomNested withNewCustomLike(Any item){
            return new CustomNestedImpl(item);
    }

    public DestinationPolicyFluent.CustomNested editCustom(){
            return withNewCustomLike(getCustom());
    }

    public DestinationPolicyFluent.CustomNested editOrNewCustom(){
            return withNewCustomLike(getCustom() != null ? getCustom(): new AnyBuilder().build());
    }

    public DestinationPolicyFluent.CustomNested editOrNewCustomLike(Any item){
            return withNewCustomLike(getCustom() != null ? getCustom(): item);
    }

    
/**
 * This method has been deprecated, please use method buildDestination instead.
 */
@Deprecated public IstioService getDestination(){
            return this.destination!=null?this.destination.build():null;
    }

    public IstioService buildDestination(){
            return this.destination!=null?this.destination.build():null;
    }

    public A withDestination(IstioService destination){
            _visitables.remove(this.destination);
            if (destination!=null){ this.destination= new IstioServiceBuilder(destination); _visitables.add(this.destination);} return (A) this;
    }

    public Boolean hasDestination(){
            return this.destination != null;
    }

    public DestinationPolicyFluent.DestinationNested withNewDestination(){
            return new DestinationNestedImpl();
    }

    public DestinationPolicyFluent.DestinationNested withNewDestinationLike(IstioService item){
            return new DestinationNestedImpl(item);
    }

    public DestinationPolicyFluent.DestinationNested editDestination(){
            return withNewDestinationLike(getDestination());
    }

    public DestinationPolicyFluent.DestinationNested editOrNewDestination(){
            return withNewDestinationLike(getDestination() != null ? getDestination(): new IstioServiceBuilder().build());
    }

    public DestinationPolicyFluent.DestinationNested editOrNewDestinationLike(IstioService item){
            return withNewDestinationLike(getDestination() != null ? getDestination(): item);
    }

    
/**
 * This method has been deprecated, please use method buildLoadBalancing instead.
 */
@Deprecated public LoadBalancing getLoadBalancing(){
            return this.loadBalancing!=null?this.loadBalancing.build():null;
    }

    public LoadBalancing buildLoadBalancing(){
            return this.loadBalancing!=null?this.loadBalancing.build():null;
    }

    public A withLoadBalancing(LoadBalancing loadBalancing){
            _visitables.remove(this.loadBalancing);
            if (loadBalancing!=null){ this.loadBalancing= new LoadBalancingBuilder(loadBalancing); _visitables.add(this.loadBalancing);} return (A) this;
    }

    public Boolean hasLoadBalancing(){
            return this.loadBalancing != null;
    }

    public A withNewLoadBalancing(Object lbPolicy){
            return (A)withLoadBalancing(new LoadBalancing(lbPolicy));
    }

    public DestinationPolicyFluent.LoadBalancingNested withNewLoadBalancing(){
            return new LoadBalancingNestedImpl();
    }

    public DestinationPolicyFluent.LoadBalancingNested withNewLoadBalancingLike(LoadBalancing item){
            return new LoadBalancingNestedImpl(item);
    }

    public DestinationPolicyFluent.LoadBalancingNested editLoadBalancing(){
            return withNewLoadBalancingLike(getLoadBalancing());
    }

    public DestinationPolicyFluent.LoadBalancingNested editOrNewLoadBalancing(){
            return withNewLoadBalancingLike(getLoadBalancing() != null ? getLoadBalancing(): new LoadBalancingBuilder().build());
    }

    public DestinationPolicyFluent.LoadBalancingNested editOrNewLoadBalancingLike(LoadBalancing item){
            return withNewLoadBalancingLike(getLoadBalancing() != null ? getLoadBalancing(): item);
    }

    
/**
 * This method has been deprecated, please use method buildSource instead.
 */
@Deprecated public IstioService getSource(){
            return this.source!=null?this.source.build():null;
    }

    public IstioService buildSource(){
            return this.source!=null?this.source.build():null;
    }

    public A withSource(IstioService source){
            _visitables.remove(this.source);
            if (source!=null){ this.source= new IstioServiceBuilder(source); _visitables.add(this.source);} return (A) this;
    }

    public Boolean hasSource(){
            return this.source != null;
    }

    public DestinationPolicyFluent.SourceNested withNewSource(){
            return new SourceNestedImpl();
    }

    public DestinationPolicyFluent.SourceNested withNewSourceLike(IstioService item){
            return new SourceNestedImpl(item);
    }

    public DestinationPolicyFluent.SourceNested editSource(){
            return withNewSourceLike(getSource());
    }

    public DestinationPolicyFluent.SourceNested editOrNewSource(){
            return withNewSourceLike(getSource() != null ? getSource(): new IstioServiceBuilder().build());
    }

    public DestinationPolicyFluent.SourceNested editOrNewSourceLike(IstioService item){
            return withNewSourceLike(getSource() != null ? getSource(): 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;
            DestinationPolicyFluentImpl that = (DestinationPolicyFluentImpl) o;
            if (circuitBreaker != null ? !circuitBreaker.equals(that.circuitBreaker) :that.circuitBreaker != null) return false;
            if (custom != null ? !custom.equals(that.custom) :that.custom != null) return false;
            if (destination != null ? !destination.equals(that.destination) :that.destination != null) return false;
            if (loadBalancing != null ? !loadBalancing.equals(that.loadBalancing) :that.loadBalancing != null) return false;
            if (source != null ? !source.equals(that.source) :that.source != null) return false;
            return true;
    }


    public class CircuitBreakerNestedImpl extends CircuitBreakerFluentImpl> implements DestinationPolicyFluent.CircuitBreakerNested,io.fabric8.kubernetes.api.builder.Nested{

            private final CircuitBreakerBuilder builder;
    
            CircuitBreakerNestedImpl(CircuitBreaker item){
                    this.builder = new CircuitBreakerBuilder(this, item);
            }
            CircuitBreakerNestedImpl(){
                    this.builder = new CircuitBreakerBuilder(this);
            }
    
    public N and(){
            return (N) DestinationPolicyFluentImpl.this.withCircuitBreaker(builder.build());
    }
    public N endCircuitBreaker(){
            return and();
    }

}
    public class CustomNestedImpl extends AnyFluentImpl> implements DestinationPolicyFluent.CustomNested,io.fabric8.kubernetes.api.builder.Nested{

            private final AnyBuilder builder;
    
            CustomNestedImpl(Any item){
                    this.builder = new AnyBuilder(this, item);
            }
            CustomNestedImpl(){
                    this.builder = new AnyBuilder(this);
            }
    
    public N and(){
            return (N) DestinationPolicyFluentImpl.this.withCustom(builder.build());
    }
    public N endCustom(){
            return and();
    }

}
    public class DestinationNestedImpl extends IstioServiceFluentImpl> implements DestinationPolicyFluent.DestinationNested,io.fabric8.kubernetes.api.builder.Nested{

            private final IstioServiceBuilder builder;
    
            DestinationNestedImpl(IstioService item){
                    this.builder = new IstioServiceBuilder(this, item);
            }
            DestinationNestedImpl(){
                    this.builder = new IstioServiceBuilder(this);
            }
    
    public N and(){
            return (N) DestinationPolicyFluentImpl.this.withDestination(builder.build());
    }
    public N endDestination(){
            return and();
    }

}
    public class LoadBalancingNestedImpl extends LoadBalancingFluentImpl> implements DestinationPolicyFluent.LoadBalancingNested,io.fabric8.kubernetes.api.builder.Nested{

            private final LoadBalancingBuilder builder;
    
            LoadBalancingNestedImpl(LoadBalancing item){
                    this.builder = new LoadBalancingBuilder(this, item);
            }
            LoadBalancingNestedImpl(){
                    this.builder = new LoadBalancingBuilder(this);
            }
    
    public N and(){
            return (N) DestinationPolicyFluentImpl.this.withLoadBalancing(builder.build());
    }
    public N endLoadBalancing(){
            return and();
    }

}
    public class SourceNestedImpl extends IstioServiceFluentImpl> implements DestinationPolicyFluent.SourceNested,io.fabric8.kubernetes.api.builder.Nested{

            private final IstioServiceBuilder builder;
    
            SourceNestedImpl(IstioService item){
                    this.builder = new IstioServiceBuilder(this, item);
            }
            SourceNestedImpl(){
                    this.builder = new IstioServiceBuilder(this);
            }
    
    public N and(){
            return (N) DestinationPolicyFluentImpl.this.withSource(builder.build());
    }
    public N endSource(){
            return and();
    }

}


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy