annotations.io.alauda.devops.api.model.NamedRoleBindingFluentImpl Maven / Gradle / Ivy
package io.alauda.devops.api.model;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.alauda.kubernetes.api.builder.Nested;
import java.lang.String;
import java.lang.Deprecated;
import javax.validation.Valid;
import io.alauda.kubernetes.api.builder.BaseFluent;
import java.lang.Object;
import java.lang.Boolean;
public class NamedRoleBindingFluentImpl> extends io.alauda.kubernetes.api.builder.BaseFluent implements NamedRoleBindingFluent{
private String name;
private RoleBindingBuilder roleBinding;
public NamedRoleBindingFluentImpl(){
}
public NamedRoleBindingFluentImpl(NamedRoleBinding instance){
this.withName(instance.getName());
this.withRoleBinding(instance.getRoleBinding());
}
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 buildRoleBinding instead.
*/
@Deprecated public RoleBinding getRoleBinding(){
return this.roleBinding!=null?this.roleBinding.build():null;
}
public RoleBinding buildRoleBinding(){
return this.roleBinding!=null?this.roleBinding.build():null;
}
public A withRoleBinding(RoleBinding roleBinding){
_visitables.remove(this.roleBinding);
if (roleBinding!=null){ this.roleBinding= new RoleBindingBuilder(roleBinding); _visitables.add(this.roleBinding);} return (A) this;
}
public Boolean hasRoleBinding(){
return this.roleBinding!=null;
}
public NamedRoleBindingFluent.RoleBindingNested withNewRoleBinding(){
return new RoleBindingNestedImpl();
}
public NamedRoleBindingFluent.RoleBindingNested withNewRoleBindingLike(RoleBinding item){
return new RoleBindingNestedImpl(item);
}
public NamedRoleBindingFluent.RoleBindingNested editRoleBinding(){
return withNewRoleBindingLike(getRoleBinding());
}
public NamedRoleBindingFluent.RoleBindingNested editOrNewRoleBinding(){
return withNewRoleBindingLike(getRoleBinding() != null ? getRoleBinding(): new RoleBindingBuilder().build());
}
public NamedRoleBindingFluent.RoleBindingNested editOrNewRoleBindingLike(RoleBinding item){
return withNewRoleBindingLike(getRoleBinding() != null ? getRoleBinding(): 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;
NamedRoleBindingFluentImpl that = (NamedRoleBindingFluentImpl) o;
if (name != null ? !name.equals(that.name) :that.name != null) return false;
if (roleBinding != null ? !roleBinding.equals(that.roleBinding) :that.roleBinding != null) return false;
return true;
}
public class RoleBindingNestedImpl extends RoleBindingFluentImpl> implements NamedRoleBindingFluent.RoleBindingNested,io.alauda.kubernetes.api.builder.Nested{
private final RoleBindingBuilder builder;
RoleBindingNestedImpl(RoleBinding item){
this.builder = new RoleBindingBuilder(this, item);
}
RoleBindingNestedImpl(){
this.builder = new RoleBindingBuilder(this);
}
public N and(){
return (N) NamedRoleBindingFluentImpl.this.withRoleBinding(builder.build());
}
public N endRoleBinding(){
return and();
}
}
}