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

me.snowdrop.istio.api.policy.v1beta1.RuleSpecFluentImpl Maven / Gradle / Ivy

package me.snowdrop.istio.api.policy.v1beta1;

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

public class RuleSpecFluentImpl> extends io.fabric8.kubernetes.api.builder.BaseFluent implements RuleSpecFluent{

    private List actions;
    private String match;
    private List requestHeaderOperations;
    private List responseHeaderOperations;
    private SamplingBuilder sampling;

    public RuleSpecFluentImpl(){
    }
    public RuleSpecFluentImpl(RuleSpec instance){
            this.withActions(instance.getActions()); 
            this.withMatch(instance.getMatch()); 
            this.withRequestHeaderOperations(instance.getRequestHeaderOperations()); 
            this.withResponseHeaderOperations(instance.getResponseHeaderOperations()); 
            this.withSampling(instance.getSampling()); 
    }

    public A addToActions(int index,Action item){
            if (this.actions == null) {this.actions = new ArrayList();}
            ActionBuilder builder = new ActionBuilder(item);_visitables.add(index >= 0 ? index : _visitables.size(), builder);this.actions.add(index >= 0 ? index : actions.size(), builder); return (A)this;
    }

    public A setToActions(int index,Action item){
            if (this.actions == null) {this.actions = new ArrayList();}
            ActionBuilder builder = new ActionBuilder(item);
            if (index < 0 || index >= _visitables.size()) { _visitables.add(builder); } else { _visitables.set(index, builder);}
            if (index < 0 || index >= actions.size()) { actions.add(builder); } else { actions.set(index, builder);}
             return (A)this;
    }

    public A addToActions(Action... items){
            if (this.actions == null) {this.actions = new ArrayList();}
            for (Action item : items) {ActionBuilder builder = new ActionBuilder(item);_visitables.add(builder);this.actions.add(builder);} return (A)this;
    }

    public A addAllToActions(Collection items){
            if (this.actions == null) {this.actions = new ArrayList();}
            for (Action item : items) {ActionBuilder builder = new ActionBuilder(item);_visitables.add(builder);this.actions.add(builder);} return (A)this;
    }

    public A removeFromActions(Action... items){
            for (Action item : items) {ActionBuilder builder = new ActionBuilder(item);_visitables.remove(builder);if (this.actions != null) {this.actions.remove(builder);}} return (A)this;
    }

    public A removeAllFromActions(Collection items){
            for (Action item : items) {ActionBuilder builder = new ActionBuilder(item);_visitables.remove(builder);if (this.actions != null) {this.actions.remove(builder);}} return (A)this;
    }

    
/**
 * This method has been deprecated, please use method buildActions instead.
 * @return The buildable object.
 */
@Deprecated public List getActions(){
            return build(actions);
    }

    public List buildActions(){
            return build(actions);
    }

    public Action buildAction(int index){
            return this.actions.get(index).build();
    }

    public Action buildFirstAction(){
            return this.actions.get(0).build();
    }

    public Action buildLastAction(){
            return this.actions.get(actions.size() - 1).build();
    }

    public Action buildMatchingAction(io.fabric8.kubernetes.api.builder.Predicate predicate){
            for (ActionBuilder item: actions) { if(predicate.apply(item)){return item.build();} } return null;
    }

    public A withActions(List actions){
            if (this.actions != null) { _visitables.removeAll(this.actions);}
            if (actions != null) {this.actions = new ArrayList(); for (Action item : actions){this.addToActions(item);}} else { this.actions = null;} return (A) this;
    }

    public A withActions(Action... actions){
            if (this.actions != null) {this.actions.clear();}
            if (actions != null) {for (Action item :actions){ this.addToActions(item);}} return (A) this;
    }

    public Boolean hasActions(){
            return actions != null && !actions.isEmpty();
    }

    public RuleSpecFluent.ActionsNested addNewAction(){
            return new ActionsNestedImpl();
    }

    public RuleSpecFluent.ActionsNested addNewActionLike(Action item){
            return new ActionsNestedImpl(-1, item);
    }

    public RuleSpecFluent.ActionsNested setNewActionLike(int index,Action item){
            return new ActionsNestedImpl(index, item);
    }

    public RuleSpecFluent.ActionsNested editAction(int index){
            if (actions.size() <= index) throw new RuntimeException("Can't edit actions. Index exceeds size.");
            return setNewActionLike(index, buildAction(index));
    }

    public RuleSpecFluent.ActionsNested editFirstAction(){
            if (actions.size() == 0) throw new RuntimeException("Can't edit first actions. The list is empty.");
            return setNewActionLike(0, buildAction(0));
    }

    public RuleSpecFluent.ActionsNested editLastAction(){
            int index = actions.size() - 1;
            if (index < 0) throw new RuntimeException("Can't edit last actions. The list is empty.");
            return setNewActionLike(index, buildAction(index));
    }

    public RuleSpecFluent.ActionsNested editMatchingAction(io.fabric8.kubernetes.api.builder.Predicate predicate){
            int index = -1;
            for (int i=0;i();}
            HeaderOperationTemplateBuilder builder = new HeaderOperationTemplateBuilder(item);_visitables.add(index >= 0 ? index : _visitables.size(), builder);this.requestHeaderOperations.add(index >= 0 ? index : requestHeaderOperations.size(), builder); return (A)this;
    }

    public A setToRequestHeaderOperations(int index,HeaderOperationTemplate item){
            if (this.requestHeaderOperations == null) {this.requestHeaderOperations = new ArrayList();}
            HeaderOperationTemplateBuilder builder = new HeaderOperationTemplateBuilder(item);
            if (index < 0 || index >= _visitables.size()) { _visitables.add(builder); } else { _visitables.set(index, builder);}
            if (index < 0 || index >= requestHeaderOperations.size()) { requestHeaderOperations.add(builder); } else { requestHeaderOperations.set(index, builder);}
             return (A)this;
    }

    public A addToRequestHeaderOperations(HeaderOperationTemplate... items){
            if (this.requestHeaderOperations == null) {this.requestHeaderOperations = new ArrayList();}
            for (HeaderOperationTemplate item : items) {HeaderOperationTemplateBuilder builder = new HeaderOperationTemplateBuilder(item);_visitables.add(builder);this.requestHeaderOperations.add(builder);} return (A)this;
    }

    public A addAllToRequestHeaderOperations(Collection items){
            if (this.requestHeaderOperations == null) {this.requestHeaderOperations = new ArrayList();}
            for (HeaderOperationTemplate item : items) {HeaderOperationTemplateBuilder builder = new HeaderOperationTemplateBuilder(item);_visitables.add(builder);this.requestHeaderOperations.add(builder);} return (A)this;
    }

    public A removeFromRequestHeaderOperations(HeaderOperationTemplate... items){
            for (HeaderOperationTemplate item : items) {HeaderOperationTemplateBuilder builder = new HeaderOperationTemplateBuilder(item);_visitables.remove(builder);if (this.requestHeaderOperations != null) {this.requestHeaderOperations.remove(builder);}} return (A)this;
    }

    public A removeAllFromRequestHeaderOperations(Collection items){
            for (HeaderOperationTemplate item : items) {HeaderOperationTemplateBuilder builder = new HeaderOperationTemplateBuilder(item);_visitables.remove(builder);if (this.requestHeaderOperations != null) {this.requestHeaderOperations.remove(builder);}} return (A)this;
    }

    
/**
 * This method has been deprecated, please use method buildRequestHeaderOperations instead.
 * @return The buildable object.
 */
@Deprecated public List getRequestHeaderOperations(){
            return build(requestHeaderOperations);
    }

    public List buildRequestHeaderOperations(){
            return build(requestHeaderOperations);
    }

    public HeaderOperationTemplate buildRequestHeaderOperation(int index){
            return this.requestHeaderOperations.get(index).build();
    }

    public HeaderOperationTemplate buildFirstRequestHeaderOperation(){
            return this.requestHeaderOperations.get(0).build();
    }

    public HeaderOperationTemplate buildLastRequestHeaderOperation(){
            return this.requestHeaderOperations.get(requestHeaderOperations.size() - 1).build();
    }

    public HeaderOperationTemplate buildMatchingRequestHeaderOperation(io.fabric8.kubernetes.api.builder.Predicate predicate){
            for (HeaderOperationTemplateBuilder item: requestHeaderOperations) { if(predicate.apply(item)){return item.build();} } return null;
    }

    public A withRequestHeaderOperations(List requestHeaderOperations){
            if (this.requestHeaderOperations != null) { _visitables.removeAll(this.requestHeaderOperations);}
            if (requestHeaderOperations != null) {this.requestHeaderOperations = new ArrayList(); for (HeaderOperationTemplate item : requestHeaderOperations){this.addToRequestHeaderOperations(item);}} else { this.requestHeaderOperations = null;} return (A) this;
    }

    public A withRequestHeaderOperations(HeaderOperationTemplate... requestHeaderOperations){
            if (this.requestHeaderOperations != null) {this.requestHeaderOperations.clear();}
            if (requestHeaderOperations != null) {for (HeaderOperationTemplate item :requestHeaderOperations){ this.addToRequestHeaderOperations(item);}} return (A) this;
    }

    public Boolean hasRequestHeaderOperations(){
            return requestHeaderOperations != null && !requestHeaderOperations.isEmpty();
    }

    public RuleSpecFluent.RequestHeaderOperationsNested addNewRequestHeaderOperation(){
            return new RequestHeaderOperationsNestedImpl();
    }

    public RuleSpecFluent.RequestHeaderOperationsNested addNewRequestHeaderOperationLike(HeaderOperationTemplate item){
            return new RequestHeaderOperationsNestedImpl(-1, item);
    }

    public RuleSpecFluent.RequestHeaderOperationsNested setNewRequestHeaderOperationLike(int index,HeaderOperationTemplate item){
            return new RequestHeaderOperationsNestedImpl(index, item);
    }

    public RuleSpecFluent.RequestHeaderOperationsNested editRequestHeaderOperation(int index){
            if (requestHeaderOperations.size() <= index) throw new RuntimeException("Can't edit requestHeaderOperations. Index exceeds size.");
            return setNewRequestHeaderOperationLike(index, buildRequestHeaderOperation(index));
    }

    public RuleSpecFluent.RequestHeaderOperationsNested editFirstRequestHeaderOperation(){
            if (requestHeaderOperations.size() == 0) throw new RuntimeException("Can't edit first requestHeaderOperations. The list is empty.");
            return setNewRequestHeaderOperationLike(0, buildRequestHeaderOperation(0));
    }

    public RuleSpecFluent.RequestHeaderOperationsNested editLastRequestHeaderOperation(){
            int index = requestHeaderOperations.size() - 1;
            if (index < 0) throw new RuntimeException("Can't edit last requestHeaderOperations. The list is empty.");
            return setNewRequestHeaderOperationLike(index, buildRequestHeaderOperation(index));
    }

    public RuleSpecFluent.RequestHeaderOperationsNested editMatchingRequestHeaderOperation(io.fabric8.kubernetes.api.builder.Predicate predicate){
            int index = -1;
            for (int i=0;i();}
            HeaderOperationTemplateBuilder builder = new HeaderOperationTemplateBuilder(item);_visitables.add(index >= 0 ? index : _visitables.size(), builder);this.responseHeaderOperations.add(index >= 0 ? index : responseHeaderOperations.size(), builder); return (A)this;
    }

    public A setToResponseHeaderOperations(int index,HeaderOperationTemplate item){
            if (this.responseHeaderOperations == null) {this.responseHeaderOperations = new ArrayList();}
            HeaderOperationTemplateBuilder builder = new HeaderOperationTemplateBuilder(item);
            if (index < 0 || index >= _visitables.size()) { _visitables.add(builder); } else { _visitables.set(index, builder);}
            if (index < 0 || index >= responseHeaderOperations.size()) { responseHeaderOperations.add(builder); } else { responseHeaderOperations.set(index, builder);}
             return (A)this;
    }

    public A addToResponseHeaderOperations(HeaderOperationTemplate... items){
            if (this.responseHeaderOperations == null) {this.responseHeaderOperations = new ArrayList();}
            for (HeaderOperationTemplate item : items) {HeaderOperationTemplateBuilder builder = new HeaderOperationTemplateBuilder(item);_visitables.add(builder);this.responseHeaderOperations.add(builder);} return (A)this;
    }

    public A addAllToResponseHeaderOperations(Collection items){
            if (this.responseHeaderOperations == null) {this.responseHeaderOperations = new ArrayList();}
            for (HeaderOperationTemplate item : items) {HeaderOperationTemplateBuilder builder = new HeaderOperationTemplateBuilder(item);_visitables.add(builder);this.responseHeaderOperations.add(builder);} return (A)this;
    }

    public A removeFromResponseHeaderOperations(HeaderOperationTemplate... items){
            for (HeaderOperationTemplate item : items) {HeaderOperationTemplateBuilder builder = new HeaderOperationTemplateBuilder(item);_visitables.remove(builder);if (this.responseHeaderOperations != null) {this.responseHeaderOperations.remove(builder);}} return (A)this;
    }

    public A removeAllFromResponseHeaderOperations(Collection items){
            for (HeaderOperationTemplate item : items) {HeaderOperationTemplateBuilder builder = new HeaderOperationTemplateBuilder(item);_visitables.remove(builder);if (this.responseHeaderOperations != null) {this.responseHeaderOperations.remove(builder);}} return (A)this;
    }

    
/**
 * This method has been deprecated, please use method buildResponseHeaderOperations instead.
 * @return The buildable object.
 */
@Deprecated public List getResponseHeaderOperations(){
            return build(responseHeaderOperations);
    }

    public List buildResponseHeaderOperations(){
            return build(responseHeaderOperations);
    }

    public HeaderOperationTemplate buildResponseHeaderOperation(int index){
            return this.responseHeaderOperations.get(index).build();
    }

    public HeaderOperationTemplate buildFirstResponseHeaderOperation(){
            return this.responseHeaderOperations.get(0).build();
    }

    public HeaderOperationTemplate buildLastResponseHeaderOperation(){
            return this.responseHeaderOperations.get(responseHeaderOperations.size() - 1).build();
    }

    public HeaderOperationTemplate buildMatchingResponseHeaderOperation(io.fabric8.kubernetes.api.builder.Predicate predicate){
            for (HeaderOperationTemplateBuilder item: responseHeaderOperations) { if(predicate.apply(item)){return item.build();} } return null;
    }

    public A withResponseHeaderOperations(List responseHeaderOperations){
            if (this.responseHeaderOperations != null) { _visitables.removeAll(this.responseHeaderOperations);}
            if (responseHeaderOperations != null) {this.responseHeaderOperations = new ArrayList(); for (HeaderOperationTemplate item : responseHeaderOperations){this.addToResponseHeaderOperations(item);}} else { this.responseHeaderOperations = null;} return (A) this;
    }

    public A withResponseHeaderOperations(HeaderOperationTemplate... responseHeaderOperations){
            if (this.responseHeaderOperations != null) {this.responseHeaderOperations.clear();}
            if (responseHeaderOperations != null) {for (HeaderOperationTemplate item :responseHeaderOperations){ this.addToResponseHeaderOperations(item);}} return (A) this;
    }

    public Boolean hasResponseHeaderOperations(){
            return responseHeaderOperations != null && !responseHeaderOperations.isEmpty();
    }

    public RuleSpecFluent.ResponseHeaderOperationsNested addNewResponseHeaderOperation(){
            return new ResponseHeaderOperationsNestedImpl();
    }

    public RuleSpecFluent.ResponseHeaderOperationsNested addNewResponseHeaderOperationLike(HeaderOperationTemplate item){
            return new ResponseHeaderOperationsNestedImpl(-1, item);
    }

    public RuleSpecFluent.ResponseHeaderOperationsNested setNewResponseHeaderOperationLike(int index,HeaderOperationTemplate item){
            return new ResponseHeaderOperationsNestedImpl(index, item);
    }

    public RuleSpecFluent.ResponseHeaderOperationsNested editResponseHeaderOperation(int index){
            if (responseHeaderOperations.size() <= index) throw new RuntimeException("Can't edit responseHeaderOperations. Index exceeds size.");
            return setNewResponseHeaderOperationLike(index, buildResponseHeaderOperation(index));
    }

    public RuleSpecFluent.ResponseHeaderOperationsNested editFirstResponseHeaderOperation(){
            if (responseHeaderOperations.size() == 0) throw new RuntimeException("Can't edit first responseHeaderOperations. The list is empty.");
            return setNewResponseHeaderOperationLike(0, buildResponseHeaderOperation(0));
    }

    public RuleSpecFluent.ResponseHeaderOperationsNested editLastResponseHeaderOperation(){
            int index = responseHeaderOperations.size() - 1;
            if (index < 0) throw new RuntimeException("Can't edit last responseHeaderOperations. The list is empty.");
            return setNewResponseHeaderOperationLike(index, buildResponseHeaderOperation(index));
    }

    public RuleSpecFluent.ResponseHeaderOperationsNested editMatchingResponseHeaderOperation(io.fabric8.kubernetes.api.builder.Predicate predicate){
            int index = -1;
            for (int i=0;i withNewSampling(){
            return new SamplingNestedImpl();
    }

    public RuleSpecFluent.SamplingNested withNewSamplingLike(Sampling item){
            return new SamplingNestedImpl(item);
    }

    public RuleSpecFluent.SamplingNested editSampling(){
            return withNewSamplingLike(getSampling());
    }

    public RuleSpecFluent.SamplingNested editOrNewSampling(){
            return withNewSamplingLike(getSampling() != null ? getSampling(): new SamplingBuilder().build());
    }

    public RuleSpecFluent.SamplingNested editOrNewSamplingLike(Sampling item){
            return withNewSamplingLike(getSampling() != null ? getSampling(): 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;
            RuleSpecFluentImpl that = (RuleSpecFluentImpl) o;
            if (actions != null ? !actions.equals(that.actions) :that.actions != null) return false;
            if (match != null ? !match.equals(that.match) :that.match != null) return false;
            if (requestHeaderOperations != null ? !requestHeaderOperations.equals(that.requestHeaderOperations) :that.requestHeaderOperations != null) return false;
            if (responseHeaderOperations != null ? !responseHeaderOperations.equals(that.responseHeaderOperations) :that.responseHeaderOperations != null) return false;
            if (sampling != null ? !sampling.equals(that.sampling) :that.sampling != null) return false;
            return true;
    }


    public class ActionsNestedImpl extends ActionFluentImpl> implements RuleSpecFluent.ActionsNested,io.fabric8.kubernetes.api.builder.Nested{

            private final ActionBuilder builder;
        private final int index;
    
            ActionsNestedImpl(int index,Action item){
                    this.index = index;
                    this.builder = new ActionBuilder(this, item);
            }
            ActionsNestedImpl(){
                    this.index = -1;
                    this.builder = new ActionBuilder(this);
            }
    
    public N and(){
            return (N) RuleSpecFluentImpl.this.setToActions(index, builder.build());
    }
    public N endAction(){
            return and();
    }

}
    public class RequestHeaderOperationsNestedImpl extends HeaderOperationTemplateFluentImpl> implements RuleSpecFluent.RequestHeaderOperationsNested,io.fabric8.kubernetes.api.builder.Nested{

            private final HeaderOperationTemplateBuilder builder;
        private final int index;
    
            RequestHeaderOperationsNestedImpl(int index,HeaderOperationTemplate item){
                    this.index = index;
                    this.builder = new HeaderOperationTemplateBuilder(this, item);
            }
            RequestHeaderOperationsNestedImpl(){
                    this.index = -1;
                    this.builder = new HeaderOperationTemplateBuilder(this);
            }
    
    public N and(){
            return (N) RuleSpecFluentImpl.this.setToRequestHeaderOperations(index, builder.build());
    }
    public N endRequestHeaderOperation(){
            return and();
    }

}
    public class ResponseHeaderOperationsNestedImpl extends HeaderOperationTemplateFluentImpl> implements RuleSpecFluent.ResponseHeaderOperationsNested,io.fabric8.kubernetes.api.builder.Nested{

            private final HeaderOperationTemplateBuilder builder;
        private final int index;
    
            ResponseHeaderOperationsNestedImpl(int index,HeaderOperationTemplate item){
                    this.index = index;
                    this.builder = new HeaderOperationTemplateBuilder(this, item);
            }
            ResponseHeaderOperationsNestedImpl(){
                    this.index = -1;
                    this.builder = new HeaderOperationTemplateBuilder(this);
            }
    
    public N and(){
            return (N) RuleSpecFluentImpl.this.setToResponseHeaderOperations(index, builder.build());
    }
    public N endResponseHeaderOperation(){
            return and();
    }

}
    public class SamplingNestedImpl extends SamplingFluentImpl> implements RuleSpecFluent.SamplingNested,io.fabric8.kubernetes.api.builder.Nested{

            private final SamplingBuilder builder;
    
            SamplingNestedImpl(Sampling item){
                    this.builder = new SamplingBuilder(this, item);
            }
            SamplingNestedImpl(){
                    this.builder = new SamplingBuilder(this);
            }
    
    public N and(){
            return (N) RuleSpecFluentImpl.this.withSampling(builder.build());
    }
    public N endSampling(){
            return and();
    }

}


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy