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

me.snowdrop.istio.mixer.template.authorization.AuthorizationSpecFluentImpl Maven / Gradle / Ivy

package me.snowdrop.istio.mixer.template.authorization;

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

public class AuthorizationSpecFluentImpl> extends io.fabric8.kubernetes.api.builder.BaseFluent implements AuthorizationSpecFluent{

    private me.snowdrop.istio.mixer.template.authorization.ActionBuilder action;
    private String name;
    private me.snowdrop.istio.mixer.template.authorization.SubjectBuilder subject;

    public AuthorizationSpecFluentImpl(){
    }
    public AuthorizationSpecFluentImpl(AuthorizationSpec instance){
            this.withAction(instance.getAction()); 
            this.withName(instance.getName()); 
            this.withSubject(instance.getSubject()); 
    }

    
/**
 * This method has been deprecated, please use method buildAction instead.
 * @return The buildable object.
 */
@Deprecated public me.snowdrop.istio.mixer.template.authorization.Action getAction(){
            return this.action!=null?this.action.build():null;
    }

    public me.snowdrop.istio.mixer.template.authorization.Action buildAction(){
            return this.action!=null?this.action.build():null;
    }

    public A withAction(me.snowdrop.istio.mixer.template.authorization.Action action){
            _visitables.remove(this.action);
            if (action!=null){ this.action= new me.snowdrop.istio.mixer.template.authorization.ActionBuilder(action); _visitables.add(this.action);} return (A) this;
    }

    public Boolean hasAction(){
            return this.action != null;
    }

    public AuthorizationSpecFluent.ActionNested withNewAction(){
            return new ActionNestedImpl();
    }

    public AuthorizationSpecFluent.ActionNested withNewActionLike(me.snowdrop.istio.mixer.template.authorization.Action item){
            return new ActionNestedImpl(item);
    }

    public AuthorizationSpecFluent.ActionNested editAction(){
            return withNewActionLike(getAction());
    }

    public AuthorizationSpecFluent.ActionNested editOrNewAction(){
            return withNewActionLike(getAction() != null ? getAction(): new me.snowdrop.istio.mixer.template.authorization.ActionBuilder().build());
    }

    public AuthorizationSpecFluent.ActionNested editOrNewActionLike(me.snowdrop.istio.mixer.template.authorization.Action item){
            return withNewActionLike(getAction() != null ? getAction(): item);
    }

    public String getName(){
            return this.name;
    }

    public A withName(String name){
            this.name=name; return (A) this;
    }

    public Boolean hasName(){
            return this.name != null;
    }

    
/**
 * This method has been deprecated, please use method buildSubject instead.
 * @return The buildable object.
 */
@Deprecated public me.snowdrop.istio.mixer.template.authorization.Subject getSubject(){
            return this.subject!=null?this.subject.build():null;
    }

    public me.snowdrop.istio.mixer.template.authorization.Subject buildSubject(){
            return this.subject!=null?this.subject.build():null;
    }

    public A withSubject(me.snowdrop.istio.mixer.template.authorization.Subject subject){
            _visitables.remove(this.subject);
            if (subject!=null){ this.subject= new me.snowdrop.istio.mixer.template.authorization.SubjectBuilder(subject); _visitables.add(this.subject);} return (A) this;
    }

    public Boolean hasSubject(){
            return this.subject != null;
    }

    public AuthorizationSpecFluent.SubjectNested withNewSubject(){
            return new SubjectNestedImpl();
    }

    public AuthorizationSpecFluent.SubjectNested withNewSubjectLike(me.snowdrop.istio.mixer.template.authorization.Subject item){
            return new SubjectNestedImpl(item);
    }

    public AuthorizationSpecFluent.SubjectNested editSubject(){
            return withNewSubjectLike(getSubject());
    }

    public AuthorizationSpecFluent.SubjectNested editOrNewSubject(){
            return withNewSubjectLike(getSubject() != null ? getSubject(): new me.snowdrop.istio.mixer.template.authorization.SubjectBuilder().build());
    }

    public AuthorizationSpecFluent.SubjectNested editOrNewSubjectLike(me.snowdrop.istio.mixer.template.authorization.Subject item){
            return withNewSubjectLike(getSubject() != null ? getSubject(): 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;
            AuthorizationSpecFluentImpl that = (AuthorizationSpecFluentImpl) o;
            if (action != null ? !action.equals(that.action) :that.action != null) return false;
            if (name != null ? !name.equals(that.name) :that.name != null) return false;
            if (subject != null ? !subject.equals(that.subject) :that.subject != null) return false;
            return true;
    }


    public class ActionNestedImpl extends me.snowdrop.istio.mixer.template.authorization.ActionFluentImpl> implements AuthorizationSpecFluent.ActionNested,io.fabric8.kubernetes.api.builder.Nested{

            private final me.snowdrop.istio.mixer.template.authorization.ActionBuilder builder;
    
            ActionNestedImpl(me.snowdrop.istio.mixer.template.authorization.Action item){
                    this.builder = new me.snowdrop.istio.mixer.template.authorization.ActionBuilder(this, item);
            }
            ActionNestedImpl(){
                    this.builder = new me.snowdrop.istio.mixer.template.authorization.ActionBuilder(this);
            }
    
    public N and(){
            return (N) AuthorizationSpecFluentImpl.this.withAction(builder.build());
    }
    public N endAction(){
            return and();
    }

}
    public class SubjectNestedImpl extends me.snowdrop.istio.mixer.template.authorization.SubjectFluentImpl> implements AuthorizationSpecFluent.SubjectNested,io.fabric8.kubernetes.api.builder.Nested{

            private final me.snowdrop.istio.mixer.template.authorization.SubjectBuilder builder;
    
            SubjectNestedImpl(me.snowdrop.istio.mixer.template.authorization.Subject item){
                    this.builder = new me.snowdrop.istio.mixer.template.authorization.SubjectBuilder(this, item);
            }
            SubjectNestedImpl(){
                    this.builder = new me.snowdrop.istio.mixer.template.authorization.SubjectBuilder(this);
            }
    
    public N and(){
            return (N) AuthorizationSpecFluentImpl.this.withSubject(builder.build());
    }
    public N endSubject(){
            return and();
    }

}


}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy