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

me.snowdrop.istio.api.authentication.v1alpha1.PolicySpecFluentImpl Maven / Gradle / Ivy

package me.snowdrop.istio.api.authentication.v1alpha1;

import com.fasterxml.jackson.annotation.JsonPropertyDescription;
import java.io.Serializable;
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 PolicySpecFluentImpl> extends io.fabric8.kubernetes.api.builder.BaseFluent implements PolicySpecFluent{

    private Boolean originIsOptional;
    private List origins;
    private Boolean peerIsOptional;
    private List peers;
    private PrincipalBinding principalBinding;
    private List targets;

    public PolicySpecFluentImpl(){
    }
    public PolicySpecFluentImpl(PolicySpec instance){
            this.withOriginIsOptional(instance.getOriginIsOptional()); 
            this.withOrigins(instance.getOrigins()); 
            this.withPeerIsOptional(instance.getPeerIsOptional()); 
            this.withPeers(instance.getPeers()); 
            this.withPrincipalBinding(instance.getPrincipalBinding()); 
            this.withTargets(instance.getTargets()); 
    }

    public Boolean isOriginIsOptional(){
            return this.originIsOptional;
    }

    public A withOriginIsOptional(Boolean originIsOptional){
            this.originIsOptional=originIsOptional; return (A) this;
    }

    public Boolean hasOriginIsOptional(){
            return this.originIsOptional != null;
    }

    public A withNewOriginIsOptional(String arg1){
            return (A)withOriginIsOptional(new Boolean(arg1));
    }

    public A withNewOriginIsOptional(boolean arg1){
            return (A)withOriginIsOptional(new Boolean(arg1));
    }

    public A addToOrigins(int index,OriginAuthenticationMethod item){
            if (this.origins == null) {this.origins = new ArrayList();}
            OriginAuthenticationMethodBuilder builder = new OriginAuthenticationMethodBuilder(item);_visitables.add(index >= 0 ? index : _visitables.size(), builder);this.origins.add(index >= 0 ? index : origins.size(), builder); return (A)this;
    }

    public A setToOrigins(int index,OriginAuthenticationMethod item){
            if (this.origins == null) {this.origins = new ArrayList();}
            OriginAuthenticationMethodBuilder builder = new OriginAuthenticationMethodBuilder(item);
            if (index < 0 || index >= _visitables.size()) { _visitables.add(builder); } else { _visitables.set(index, builder);}
            if (index < 0 || index >= origins.size()) { origins.add(builder); } else { origins.set(index, builder);}
             return (A)this;
    }

    public A addToOrigins(OriginAuthenticationMethod... items){
            if (this.origins == null) {this.origins = new ArrayList();}
            for (OriginAuthenticationMethod item : items) {OriginAuthenticationMethodBuilder builder = new OriginAuthenticationMethodBuilder(item);_visitables.add(builder);this.origins.add(builder);} return (A)this;
    }

    public A addAllToOrigins(Collection items){
            if (this.origins == null) {this.origins = new ArrayList();}
            for (OriginAuthenticationMethod item : items) {OriginAuthenticationMethodBuilder builder = new OriginAuthenticationMethodBuilder(item);_visitables.add(builder);this.origins.add(builder);} return (A)this;
    }

    public A removeFromOrigins(OriginAuthenticationMethod... items){
            for (OriginAuthenticationMethod item : items) {OriginAuthenticationMethodBuilder builder = new OriginAuthenticationMethodBuilder(item);_visitables.remove(builder);if (this.origins != null) {this.origins.remove(builder);}} return (A)this;
    }

    public A removeAllFromOrigins(Collection items){
            for (OriginAuthenticationMethod item : items) {OriginAuthenticationMethodBuilder builder = new OriginAuthenticationMethodBuilder(item);_visitables.remove(builder);if (this.origins != null) {this.origins.remove(builder);}} return (A)this;
    }

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

    public List buildOrigins(){
            return build(origins);
    }

    public OriginAuthenticationMethod buildOrigin(int index){
            return this.origins.get(index).build();
    }

    public OriginAuthenticationMethod buildFirstOrigin(){
            return this.origins.get(0).build();
    }

    public OriginAuthenticationMethod buildLastOrigin(){
            return this.origins.get(origins.size() - 1).build();
    }

    public OriginAuthenticationMethod buildMatchingOrigin(io.fabric8.kubernetes.api.builder.Predicate predicate){
            for (OriginAuthenticationMethodBuilder item: origins) { if(predicate.apply(item)){return item.build();} } return null;
    }

    public A withOrigins(List origins){
            if (this.origins != null) { _visitables.removeAll(this.origins);}
            if (origins != null) {this.origins = new ArrayList(); for (OriginAuthenticationMethod item : origins){this.addToOrigins(item);}} else { this.origins = null;} return (A) this;
    }

    public A withOrigins(OriginAuthenticationMethod... origins){
            if (this.origins != null) {this.origins.clear();}
            if (origins != null) {for (OriginAuthenticationMethod item :origins){ this.addToOrigins(item);}} return (A) this;
    }

    public Boolean hasOrigins(){
            return origins != null && !origins.isEmpty();
    }

    public PolicySpecFluent.OriginsNested addNewOrigin(){
            return new OriginsNestedImpl();
    }

    public PolicySpecFluent.OriginsNested addNewOriginLike(OriginAuthenticationMethod item){
            return new OriginsNestedImpl(-1, item);
    }

    public PolicySpecFluent.OriginsNested setNewOriginLike(int index,OriginAuthenticationMethod item){
            return new OriginsNestedImpl(index, item);
    }

    public PolicySpecFluent.OriginsNested editOrigin(int index){
            if (origins.size() <= index) throw new RuntimeException("Can't edit origins. Index exceeds size.");
            return setNewOriginLike(index, buildOrigin(index));
    }

    public PolicySpecFluent.OriginsNested editFirstOrigin(){
            if (origins.size() == 0) throw new RuntimeException("Can't edit first origins. The list is empty.");
            return setNewOriginLike(0, buildOrigin(0));
    }

    public PolicySpecFluent.OriginsNested editLastOrigin(){
            int index = origins.size() - 1;
            if (index < 0) throw new RuntimeException("Can't edit last origins. The list is empty.");
            return setNewOriginLike(index, buildOrigin(index));
    }

    public PolicySpecFluent.OriginsNested editMatchingOrigin(io.fabric8.kubernetes.api.builder.Predicate predicate){
            int index = -1;
            for (int i=0;i();}
            PeerAuthenticationMethodBuilder builder = new PeerAuthenticationMethodBuilder(item);_visitables.add(index >= 0 ? index : _visitables.size(), builder);this.peers.add(index >= 0 ? index : peers.size(), builder); return (A)this;
    }

    public A setToPeers(int index,PeerAuthenticationMethod item){
            if (this.peers == null) {this.peers = new ArrayList();}
            PeerAuthenticationMethodBuilder builder = new PeerAuthenticationMethodBuilder(item);
            if (index < 0 || index >= _visitables.size()) { _visitables.add(builder); } else { _visitables.set(index, builder);}
            if (index < 0 || index >= peers.size()) { peers.add(builder); } else { peers.set(index, builder);}
             return (A)this;
    }

    public A addToPeers(PeerAuthenticationMethod... items){
            if (this.peers == null) {this.peers = new ArrayList();}
            for (PeerAuthenticationMethod item : items) {PeerAuthenticationMethodBuilder builder = new PeerAuthenticationMethodBuilder(item);_visitables.add(builder);this.peers.add(builder);} return (A)this;
    }

    public A addAllToPeers(Collection items){
            if (this.peers == null) {this.peers = new ArrayList();}
            for (PeerAuthenticationMethod item : items) {PeerAuthenticationMethodBuilder builder = new PeerAuthenticationMethodBuilder(item);_visitables.add(builder);this.peers.add(builder);} return (A)this;
    }

    public A removeFromPeers(PeerAuthenticationMethod... items){
            for (PeerAuthenticationMethod item : items) {PeerAuthenticationMethodBuilder builder = new PeerAuthenticationMethodBuilder(item);_visitables.remove(builder);if (this.peers != null) {this.peers.remove(builder);}} return (A)this;
    }

    public A removeAllFromPeers(Collection items){
            for (PeerAuthenticationMethod item : items) {PeerAuthenticationMethodBuilder builder = new PeerAuthenticationMethodBuilder(item);_visitables.remove(builder);if (this.peers != null) {this.peers.remove(builder);}} return (A)this;
    }

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

    public List buildPeers(){
            return build(peers);
    }

    public PeerAuthenticationMethod buildPeer(int index){
            return this.peers.get(index).build();
    }

    public PeerAuthenticationMethod buildFirstPeer(){
            return this.peers.get(0).build();
    }

    public PeerAuthenticationMethod buildLastPeer(){
            return this.peers.get(peers.size() - 1).build();
    }

    public PeerAuthenticationMethod buildMatchingPeer(io.fabric8.kubernetes.api.builder.Predicate predicate){
            for (PeerAuthenticationMethodBuilder item: peers) { if(predicate.apply(item)){return item.build();} } return null;
    }

    public A withPeers(List peers){
            if (this.peers != null) { _visitables.removeAll(this.peers);}
            if (peers != null) {this.peers = new ArrayList(); for (PeerAuthenticationMethod item : peers){this.addToPeers(item);}} else { this.peers = null;} return (A) this;
    }

    public A withPeers(PeerAuthenticationMethod... peers){
            if (this.peers != null) {this.peers.clear();}
            if (peers != null) {for (PeerAuthenticationMethod item :peers){ this.addToPeers(item);}} return (A) this;
    }

    public Boolean hasPeers(){
            return peers != null && !peers.isEmpty();
    }

    public PolicySpecFluent.PeersNested addNewPeer(){
            return new PeersNestedImpl();
    }

    public PolicySpecFluent.PeersNested addNewPeerLike(PeerAuthenticationMethod item){
            return new PeersNestedImpl(-1, item);
    }

    public PolicySpecFluent.PeersNested setNewPeerLike(int index,PeerAuthenticationMethod item){
            return new PeersNestedImpl(index, item);
    }

    public PolicySpecFluent.PeersNested editPeer(int index){
            if (peers.size() <= index) throw new RuntimeException("Can't edit peers. Index exceeds size.");
            return setNewPeerLike(index, buildPeer(index));
    }

    public PolicySpecFluent.PeersNested editFirstPeer(){
            if (peers.size() == 0) throw new RuntimeException("Can't edit first peers. The list is empty.");
            return setNewPeerLike(0, buildPeer(0));
    }

    public PolicySpecFluent.PeersNested editLastPeer(){
            int index = peers.size() - 1;
            if (index < 0) throw new RuntimeException("Can't edit last peers. The list is empty.");
            return setNewPeerLike(index, buildPeer(index));
    }

    public PolicySpecFluent.PeersNested editMatchingPeer(io.fabric8.kubernetes.api.builder.Predicate predicate){
            int index = -1;
            for (int i=0;i();}
            TargetSelectorBuilder builder = new TargetSelectorBuilder(item);_visitables.add(index >= 0 ? index : _visitables.size(), builder);this.targets.add(index >= 0 ? index : targets.size(), builder); return (A)this;
    }

    public A setToTargets(int index,TargetSelector item){
            if (this.targets == null) {this.targets = new ArrayList();}
            TargetSelectorBuilder builder = new TargetSelectorBuilder(item);
            if (index < 0 || index >= _visitables.size()) { _visitables.add(builder); } else { _visitables.set(index, builder);}
            if (index < 0 || index >= targets.size()) { targets.add(builder); } else { targets.set(index, builder);}
             return (A)this;
    }

    public A addToTargets(TargetSelector... items){
            if (this.targets == null) {this.targets = new ArrayList();}
            for (TargetSelector item : items) {TargetSelectorBuilder builder = new TargetSelectorBuilder(item);_visitables.add(builder);this.targets.add(builder);} return (A)this;
    }

    public A addAllToTargets(Collection items){
            if (this.targets == null) {this.targets = new ArrayList();}
            for (TargetSelector item : items) {TargetSelectorBuilder builder = new TargetSelectorBuilder(item);_visitables.add(builder);this.targets.add(builder);} return (A)this;
    }

    public A removeFromTargets(TargetSelector... items){
            for (TargetSelector item : items) {TargetSelectorBuilder builder = new TargetSelectorBuilder(item);_visitables.remove(builder);if (this.targets != null) {this.targets.remove(builder);}} return (A)this;
    }

    public A removeAllFromTargets(Collection items){
            for (TargetSelector item : items) {TargetSelectorBuilder builder = new TargetSelectorBuilder(item);_visitables.remove(builder);if (this.targets != null) {this.targets.remove(builder);}} return (A)this;
    }

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

    public List buildTargets(){
            return build(targets);
    }

    public TargetSelector buildTarget(int index){
            return this.targets.get(index).build();
    }

    public TargetSelector buildFirstTarget(){
            return this.targets.get(0).build();
    }

    public TargetSelector buildLastTarget(){
            return this.targets.get(targets.size() - 1).build();
    }

    public TargetSelector buildMatchingTarget(io.fabric8.kubernetes.api.builder.Predicate predicate){
            for (TargetSelectorBuilder item: targets) { if(predicate.apply(item)){return item.build();} } return null;
    }

    public A withTargets(List targets){
            if (this.targets != null) { _visitables.removeAll(this.targets);}
            if (targets != null) {this.targets = new ArrayList(); for (TargetSelector item : targets){this.addToTargets(item);}} else { this.targets = null;} return (A) this;
    }

    public A withTargets(TargetSelector... targets){
            if (this.targets != null) {this.targets.clear();}
            if (targets != null) {for (TargetSelector item :targets){ this.addToTargets(item);}} return (A) this;
    }

    public Boolean hasTargets(){
            return targets != null && !targets.isEmpty();
    }

    public PolicySpecFluent.TargetsNested addNewTarget(){
            return new TargetsNestedImpl();
    }

    public PolicySpecFluent.TargetsNested addNewTargetLike(TargetSelector item){
            return new TargetsNestedImpl(-1, item);
    }

    public PolicySpecFluent.TargetsNested setNewTargetLike(int index,TargetSelector item){
            return new TargetsNestedImpl(index, item);
    }

    public PolicySpecFluent.TargetsNested editTarget(int index){
            if (targets.size() <= index) throw new RuntimeException("Can't edit targets. Index exceeds size.");
            return setNewTargetLike(index, buildTarget(index));
    }

    public PolicySpecFluent.TargetsNested editFirstTarget(){
            if (targets.size() == 0) throw new RuntimeException("Can't edit first targets. The list is empty.");
            return setNewTargetLike(0, buildTarget(0));
    }

    public PolicySpecFluent.TargetsNested editLastTarget(){
            int index = targets.size() - 1;
            if (index < 0) throw new RuntimeException("Can't edit last targets. The list is empty.");
            return setNewTargetLike(index, buildTarget(index));
    }

    public PolicySpecFluent.TargetsNested editMatchingTarget(io.fabric8.kubernetes.api.builder.Predicate predicate){
            int index = -1;
            for (int i=0;i extends OriginAuthenticationMethodFluentImpl> implements PolicySpecFluent.OriginsNested,io.fabric8.kubernetes.api.builder.Nested{

            private final OriginAuthenticationMethodBuilder builder;
        private final int index;
    
            OriginsNestedImpl(int index,OriginAuthenticationMethod item){
                    this.index = index;
                    this.builder = new OriginAuthenticationMethodBuilder(this, item);
            }
            OriginsNestedImpl(){
                    this.index = -1;
                    this.builder = new OriginAuthenticationMethodBuilder(this);
            }
    
    public N and(){
            return (N) PolicySpecFluentImpl.this.setToOrigins(index, builder.build());
    }
    public N endOrigin(){
            return and();
    }

}
    public class PeersNestedImpl extends PeerAuthenticationMethodFluentImpl> implements PolicySpecFluent.PeersNested,io.fabric8.kubernetes.api.builder.Nested{

            private final PeerAuthenticationMethodBuilder builder;
        private final int index;
    
            PeersNestedImpl(int index,PeerAuthenticationMethod item){
                    this.index = index;
                    this.builder = new PeerAuthenticationMethodBuilder(this, item);
            }
            PeersNestedImpl(){
                    this.index = -1;
                    this.builder = new PeerAuthenticationMethodBuilder(this);
            }
    
    public N and(){
            return (N) PolicySpecFluentImpl.this.setToPeers(index, builder.build());
    }
    public N endPeer(){
            return and();
    }

}
    public class TargetsNestedImpl extends TargetSelectorFluentImpl> implements PolicySpecFluent.TargetsNested,io.fabric8.kubernetes.api.builder.Nested{

            private final TargetSelectorBuilder builder;
        private final int index;
    
            TargetsNestedImpl(int index,TargetSelector item){
                    this.index = index;
                    this.builder = new TargetSelectorBuilder(this, item);
            }
            TargetsNestedImpl(){
                    this.index = -1;
                    this.builder = new TargetSelectorBuilder(this);
            }
    
    public N and(){
            return (N) PolicySpecFluentImpl.this.setToTargets(index, builder.build());
    }
    public N endTarget(){
            return and();
    }

}


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy