/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.ranger.plugin.model;
import java.util.ArrayList;
import java.util.List;
import java.util.HashMap;
import java.util.Map;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import org.codehaus.jackson.annotate.JsonAutoDetect;
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
import org.codehaus.jackson.map.annotate.JsonSerialize;
@JsonAutoDetect(fieldVisibility=Visibility.ANY)
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown=true)
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class RangerPolicy extends RangerBaseModelObject implements java.io.Serializable {
public static final int POLICY_TYPE_ACCESS = 0;
public static final int POLICY_TYPE_DATAMASK = 1;
public static final int POLICY_TYPE_ROWFILTER = 2;
public static final int[] POLICY_TYPES = new int[] {
POLICY_TYPE_ACCESS,
POLICY_TYPE_DATAMASK,
POLICY_TYPE_ROWFILTER
};
public static final String MASK_TYPE_NULL = "MASK_NULL";
public static final String MASK_TYPE_NONE = "MASK_NONE";
public static final String MASK_TYPE_CUSTOM = "CUSTOM";
// For future use
private static final long serialVersionUID = 1L;
private String service;
private String name;
private Integer policyType;
private String description;
private String resourceSignature;
private Boolean isAuditEnabled;
private Map<String, RangerPolicyResource> resources;
private List<RangerPolicyItem> policyItems;
private List<RangerPolicyItem> denyPolicyItems;
private List<RangerPolicyItem> allowExceptions;
private List<RangerPolicyItem> denyExceptions;
private List<RangerDataMaskPolicyItem> dataMaskPolicyItems;
private List<RangerRowFilterPolicyItem> rowFilterPolicyItems;
/**
* @param
*/
public RangerPolicy() {
this(null, null, null, null, null, null, null);
}
/**
* @param service
* @param name
* @param policyType
* @param description
* @param resources
* @param policyItems
* @param resourceSignature TODO
*/
public RangerPolicy(String service, String name, Integer policyType, String description, Map<String, RangerPolicyResource> resources, List<RangerPolicyItem> policyItems, String resourceSignature) {
super();
setService(service);
setName(name);
setPolicyType(policyType);
setDescription(description);
setResourceSignature(resourceSignature);
setIsAuditEnabled(null);
setResources(resources);
setPolicyItems(policyItems);
setDenyPolicyItems(null);
setAllowExceptions(null);
setDenyExceptions(null);
setDataMaskPolicyItems(null);
setRowFilterPolicyItems(null);
}
/**
* @param other
*/
public void updateFrom(RangerPolicy other) {
super.updateFrom(other);
setService(other.getService());
setName(other.getName());
setPolicyType(other.getPolicyType());
setDescription(other.getDescription());
setResourceSignature(other.getResourceSignature());
setIsAuditEnabled(other.getIsAuditEnabled());
setResources(other.getResources());
setPolicyItems(other.getPolicyItems());
setDenyPolicyItems(other.getDenyPolicyItems());
setAllowExceptions(other.getAllowExceptions());
setDenyExceptions(other.getDenyExceptions());
setDataMaskPolicyItems(other.getDataMaskPolicyItems());
setRowFilterPolicyItems(other.getRowFilterPolicyItems());
}
/**
* @return the type
*/
public String getService() {
return service;
}
/**
* @param service the type to set
*/
public void setService(String service) {
this.service = service;
}
/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @param name the name to set
*/
public void setName(String name) {
this.name = name;
}
/**
* @return the policyType
*/
public Integer getPolicyType() {
return policyType;
}
/**
* @param policyType the policyType to set
*/
public void setPolicyType(Integer policyType) {
this.policyType = policyType;
}
/**
* @return the description
*/
public String getDescription() {
return description;
}
/**
* @param description the description to set
*/
public void setDescription(String description) {
this.description = description;
}
/**
* @return the resourceSignature
*/
public String getResourceSignature() {
return resourceSignature;
}
/**
* @param resourceSignature the resourceSignature to set
*/
public void setResourceSignature(String resourceSignature) {
this.resourceSignature = resourceSignature;
}
/**
* @return the isAuditEnabled
*/
public Boolean getIsAuditEnabled() {
return isAuditEnabled;
}
/**
* @param isAuditEnabled the isEnabled to set
*/
public void setIsAuditEnabled(Boolean isAuditEnabled) {
this.isAuditEnabled = isAuditEnabled == null ? Boolean.TRUE : isAuditEnabled;
}
/**
* @return the resources
*/
public Map<String, RangerPolicyResource> getResources() {
return resources;
}
/**
* @param resources the resources to set
*/
public void setResources(Map<String, RangerPolicyResource> resources) {
if(this.resources == null) {
this.resources = new HashMap<>();
}
if(this.resources == resources) {
return;
}
this.resources.clear();
if(resources != null) {
for(Map.Entry<String, RangerPolicyResource> e : resources.entrySet()) {
this.resources.put(e.getKey(), e.getValue());
}
}
}
/**
* @return the policyItems
*/
public List<RangerPolicyItem> getPolicyItems() {
return policyItems;
}
/**
* @param policyItems the policyItems to set
*/
public void setPolicyItems(List<RangerPolicyItem> policyItems) {
if(this.policyItems == null) {
this.policyItems = new ArrayList<>();
}
if(this.policyItems == policyItems) {
return;
}
this.policyItems.clear();
if(policyItems != null) {
this.policyItems.addAll(policyItems);
}
}
/**
* @return the denyPolicyItems
*/
public List<RangerPolicyItem> getDenyPolicyItems() {
return denyPolicyItems;
}
/**
* @param denyPolicyItems the denyPolicyItems to set
*/
public void setDenyPolicyItems(List<RangerPolicyItem> denyPolicyItems) {
if(this.denyPolicyItems == null) {
this.denyPolicyItems = new ArrayList<>();
}
if(this.denyPolicyItems == denyPolicyItems) {
return;
}
this.denyPolicyItems.clear();
if(denyPolicyItems != null) {
this.denyPolicyItems.addAll(denyPolicyItems);
}
}
/**
* @return the allowExceptions
*/
public List<RangerPolicyItem> getAllowExceptions() {
return allowExceptions;
}
/**
* @param allowExceptions the allowExceptions to set
*/
public void setAllowExceptions(List<RangerPolicyItem> allowExceptions) {
if(this.allowExceptions == null) {
this.allowExceptions = new ArrayList<>();
}
if(this.allowExceptions == allowExceptions) {
return;
}
this.allowExceptions.clear();
if(allowExceptions != null) {
this.allowExceptions.addAll(allowExceptions);
}
}
/**
* @return the denyExceptions
*/
public List<RangerPolicyItem> getDenyExceptions() {
return denyExceptions;
}
/**
* @param denyExceptions the denyExceptions to set
*/
public void setDenyExceptions(List<RangerPolicyItem> denyExceptions) {
if(this.denyExceptions == null) {
this.denyExceptions = new ArrayList<>();
}
if(this.denyExceptions == denyExceptions) {
return;
}
this.denyExceptions.clear();
if(denyExceptions != null) {
this.denyExceptions.addAll(denyExceptions);
}
}
public List<RangerDataMaskPolicyItem> getDataMaskPolicyItems() {
return dataMaskPolicyItems;
}
public void setDataMaskPolicyItems(List<RangerDataMaskPolicyItem> dataMaskPolicyItems) {
if(this.dataMaskPolicyItems == null) {
this.dataMaskPolicyItems = new ArrayList<>();
}
if(this.dataMaskPolicyItems == dataMaskPolicyItems) {
return;
}
this.dataMaskPolicyItems.clear();
if(dataMaskPolicyItems != null) {
this.dataMaskPolicyItems.addAll(dataMaskPolicyItems);
}
}
public List<RangerRowFilterPolicyItem> getRowFilterPolicyItems() {
return rowFilterPolicyItems;
}
public void setRowFilterPolicyItems(List<RangerRowFilterPolicyItem> rowFilterPolicyItems) {
if(this.rowFilterPolicyItems == null) {
this.rowFilterPolicyItems = new ArrayList<>();
}
if(this.rowFilterPolicyItems == rowFilterPolicyItems) {
return;
}
this.rowFilterPolicyItems.clear();
if(rowFilterPolicyItems != null) {
this.rowFilterPolicyItems.addAll(rowFilterPolicyItems);
}
}
@Override
public String toString( ) {
StringBuilder sb = new StringBuilder();
toString(sb);
return sb.toString();
}
public StringBuilder toString(StringBuilder sb) {
sb.append("RangerPolicy={");
super.toString(sb);
sb.append("service={").append(service).append("} ");
sb.append("name={").append(name).append("} ");
sb.append("policyType={").append(policyType).append("} ");
sb.append("description={").append(description).append("} ");
sb.append("resourceSignature={").append(resourceSignature).append("} ");
sb.append("isAuditEnabled={").append(isAuditEnabled).append("} ");
sb.append("resources={");
if(resources != null) {
for(Map.Entry<String, RangerPolicyResource> e : resources.entrySet()) {
sb.append(e.getKey()).append("={");
e.getValue().toString(sb);
sb.append("} ");
}
}
sb.append("} ");
sb.append("policyItems={");
if(policyItems != null) {
for(RangerPolicyItem policyItem : policyItems) {
if(policyItem != null) {
policyItem.toString(sb);
}
}
}
sb.append("} ");
sb.append("denyPolicyItems={");
if(denyPolicyItems != null) {
for(RangerPolicyItem policyItem : denyPolicyItems) {
if(policyItem != null) {
policyItem.toString(sb);
}
}
}
sb.append("} ");
sb.append("allowExceptions={");
if(allowExceptions != null) {
for(RangerPolicyItem policyItem : allowExceptions) {
if(policyItem != null) {
policyItem.toString(sb);
}
}
}
sb.append("} ");
sb.append("denyExceptions={");
if(denyExceptions != null) {
for(RangerPolicyItem policyItem : denyExceptions) {
if(policyItem != null) {
policyItem.toString(sb);
}
}
}
sb.append("} ");
sb.append("dataMaskPolicyItems={");
if(dataMaskPolicyItems != null) {
for(RangerDataMaskPolicyItem dataMaskPolicyItem : dataMaskPolicyItems) {
if(dataMaskPolicyItem != null) {
dataMaskPolicyItem.toString(sb);
}
}
}
sb.append("} ");
sb.append("rowFilterPolicyItems={");
if(rowFilterPolicyItems != null) {
for(RangerRowFilterPolicyItem rowFilterPolicyItem : rowFilterPolicyItems) {
if(rowFilterPolicyItem != null) {
rowFilterPolicyItem.toString(sb);
}
}
}
sb.append("} ");
sb.append("}");
return sb;
}
@JsonAutoDetect(fieldVisibility=Visibility.ANY)
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown=true)
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public static class RangerPolicyResource implements java.io.Serializable {
private static final long serialVersionUID = 1L;
private List<String> values;
private Boolean isExcludes;
private Boolean isRecursive;
public RangerPolicyResource() {
this((List<String>)null, null, null);
}
public RangerPolicyResource(String value) {
setValue(value);
setIsExcludes(null);
setIsRecursive(null);
}
public RangerPolicyResource(String value, Boolean isExcludes, Boolean isRecursive) {
setValue(value);
setIsExcludes(isExcludes);
setIsRecursive(isRecursive);
}
public RangerPolicyResource(List<String> values, Boolean isExcludes, Boolean isRecursive) {
setValues(values);
setIsExcludes(isExcludes);
setIsRecursive(isRecursive);
}
/**
* @return the values
*/
public List<String> getValues() {
return values;
}
/**
* @param values the values to set
*/
public void setValues(List<String> values) {
if(this.values == null) {
this.values = new ArrayList<>();
}
if(this.values == values) {
return;
}
this.values.clear();
if(values != null) {
this.values.addAll(values);
}
}
/**
* @param value the value to set
*/
public void setValue(String value) {
if(this.values == null) {
this.values = new ArrayList<>();
}
this.values.clear();
this.values.add(value);
}
/**
* @return the isExcludes
*/
public Boolean getIsExcludes() {
return isExcludes;
}
/**
* @param isExcludes the isExcludes to set
*/
public void setIsExcludes(Boolean isExcludes) {
this.isExcludes = isExcludes == null ? Boolean.FALSE : isExcludes;
}
/**
* @return the isRecursive
*/
public Boolean getIsRecursive() {
return isRecursive;
}
/**
* @param isRecursive the isRecursive to set
*/
public void setIsRecursive(Boolean isRecursive) {
this.isRecursive = isRecursive == null ? Boolean.FALSE : isRecursive;
}
@Override
public String toString( ) {
StringBuilder sb = new StringBuilder();
toString(sb);
return sb.toString();
}
public StringBuilder toString(StringBuilder sb) {
sb.append("RangerPolicyResource={");
sb.append("values={");
if(values != null) {
for(String value : values) {
sb.append(value).append(" ");
}
}
sb.append("} ");
sb.append("isExcludes={").append(isExcludes).append("} ");
sb.append("isRecursive={").append(isRecursive).append("} ");
sb.append("}");
return sb;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result
+ ((isExcludes == null) ? 0 : isExcludes.hashCode());
result = prime * result
+ ((isRecursive == null) ? 0 : isRecursive.hashCode());
result = prime * result
+ ((values == null) ? 0 : values.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
RangerPolicyResource other = (RangerPolicyResource) obj;
if (isExcludes == null) {
if (other.isExcludes != null)
return false;
} else if (!isExcludes.equals(other.isExcludes))
return false;
if (isRecursive == null) {
if (other.isRecursive != null)
return false;
} else if (!isRecursive.equals(other.isRecursive))
return false;
if (values == null) {
if (other.values != null)
return false;
} else if (!values.equals(other.values))
return false;
return true;
}
}
@JsonAutoDetect(fieldVisibility=Visibility.ANY)
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown=true)
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public static class RangerPolicyItem implements java.io.Serializable {
private static final long serialVersionUID = 1L;
private List<RangerPolicyItemAccess> accesses;
private List<String> users;
private List<String> groups;
private List<RangerPolicyItemCondition> conditions;
private Boolean delegateAdmin;
public RangerPolicyItem() {
this(null, null, null, null, null);
}
public RangerPolicyItem(List<RangerPolicyItemAccess> accessTypes, List<String> users, List<String> groups, List<RangerPolicyItemCondition> conditions, Boolean delegateAdmin) {
setAccesses(accessTypes);
setUsers(users);
setGroups(groups);
setConditions(conditions);
setDelegateAdmin(delegateAdmin);
}
/**
* @return the accesses
*/
public List<RangerPolicyItemAccess> getAccesses() {
return accesses;
}
/**
* @param accesses the accesses to set
*/
public void setAccesses(List<RangerPolicyItemAccess> accesses) {
if(this.accesses == null) {
this.accesses = new ArrayList<>();
}
if(this.accesses == accesses) {
return;
}
this.accesses.clear();
if(accesses != null) {
this.accesses.addAll(accesses);
}
}
/**
* @return the users
*/
public List<String> getUsers() {
return users;
}
/**
* @param users the users to set
*/
public void setUsers(List<String> users) {
if(this.users == null) {
this.users = new ArrayList<>();
}
if(this.users == users) {
return;
}
this.users.clear();
if(users != null) {
this.users.addAll(users);
}
}
/**
* @return the groups
*/
public List<String> getGroups() {
return groups;
}
/**
* @param groups the groups to set
*/
public void setGroups(List<String> groups) {
if(this.groups == null) {
this.groups = new ArrayList<>();
}
if(this.groups == groups) {
return;
}
this.groups.clear();
if(groups != null) {
this.groups.addAll(groups);
}
}
/**
* @return the conditions
*/
public List<RangerPolicyItemCondition> getConditions() {
return conditions;
}
/**
* @param conditions the conditions to set
*/
public void setConditions(List<RangerPolicyItemCondition> conditions) {
if(this.conditions == null) {
this.conditions = new ArrayList<>();
}
if(this.conditions == conditions) {
return;
}
this.conditions.clear();
if(conditions != null) {
this.conditions.addAll(conditions);
}
}
/**
* @return the delegateAdmin
*/
public Boolean getDelegateAdmin() {
return delegateAdmin;
}
/**
* @param delegateAdmin the delegateAdmin to set
*/
public void setDelegateAdmin(Boolean delegateAdmin) {
this.delegateAdmin = delegateAdmin == null ? Boolean.FALSE : delegateAdmin;
}
@Override
public String toString( ) {
StringBuilder sb = new StringBuilder();
toString(sb);
return sb.toString();
}
public StringBuilder toString(StringBuilder sb) {
sb.append("RangerPolicyItem={");
sb.append("accessTypes={");
if(accesses != null) {
for(RangerPolicyItemAccess access : accesses) {
if(access != null) {
access.toString(sb);
}
}
}
sb.append("} ");
sb.append("users={");
if(users != null) {
for(String user : users) {
if(user != null) {
sb.append(user).append(" ");
}
}
}
sb.append("} ");
sb.append("groups={");
if(groups != null) {
for(String group : groups) {
if(group != null) {
sb.append(group).append(" ");
}
}
}
sb.append("} ");
sb.append("conditions={");
if(conditions != null) {
for(RangerPolicyItemCondition condition : conditions) {
if(condition != null) {
condition.toString(sb);
}
}
}
sb.append("} ");
sb.append("delegateAdmin={").append(delegateAdmin).append("} ");
sb.append("}");
return sb;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result
+ ((accesses == null) ? 0 : accesses.hashCode());
result = prime * result
+ ((conditions == null) ? 0 : conditions.hashCode());
result = prime * result
+ ((delegateAdmin == null) ? 0 : delegateAdmin.hashCode());
result = prime * result
+ ((groups == null) ? 0 : groups.hashCode());
result = prime * result + ((users == null) ? 0 : users.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
RangerPolicyItem other = (RangerPolicyItem) obj;
if (accesses == null) {
if (other.accesses != null)
return false;
} else if (!accesses.equals(other.accesses))
return false;
if (conditions == null) {
if (other.conditions != null)
return false;
} else if (!conditions.equals(other.conditions))
return false;
if (delegateAdmin == null) {
if (other.delegateAdmin != null)
return false;
} else if (!delegateAdmin.equals(other.delegateAdmin))
return false;
if (groups == null) {
if (other.groups != null)
return false;
} else if (!groups.equals(other.groups))
return false;
if (users == null) {
if (other.users != null)
return false;
} else if (!users.equals(other.users))
return false;
return true;
}
}
@JsonAutoDetect(fieldVisibility=Visibility.ANY)
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown=true)
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public static class RangerDataMaskPolicyItem extends RangerPolicyItem implements java.io.Serializable {
private static final long serialVersionUID = 1L;
private RangerPolicyItemDataMaskInfo dataMaskInfo;
public RangerDataMaskPolicyItem() {
this(null, null, null, null, null, null);
}
public RangerDataMaskPolicyItem(List<RangerPolicyItemAccess> accesses, RangerPolicyItemDataMaskInfo dataMaskDetail, List<String> users, List<String> groups, List<RangerPolicyItemCondition> conditions, Boolean delegateAdmin) {
super(accesses, users, groups, conditions, delegateAdmin);
setDataMaskInfo(dataMaskDetail);
}
/**
* @return the dataMaskInfo
*/
public RangerPolicyItemDataMaskInfo getDataMaskInfo() {
return dataMaskInfo;
}
/**
* @param dataMaskInfo the dataMaskInfo to set
*/
public void setDataMaskInfo(RangerPolicyItemDataMaskInfo dataMaskInfo) {
this.dataMaskInfo = dataMaskInfo == null ? new RangerPolicyItemDataMaskInfo() : dataMaskInfo;
}
@Override
public int hashCode() {
final int prime = 31;
int result = super.hashCode();
result = prime * result + ((dataMaskInfo == null) ? 0 : dataMaskInfo.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if(! super.equals(obj))
return false;
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
RangerDataMaskPolicyItem other = (RangerDataMaskPolicyItem) obj;
if (dataMaskInfo == null) {
if (other.dataMaskInfo != null)
return false;
} else if (!dataMaskInfo.equals(other.dataMaskInfo))
return false;
return true;
}
@Override
public String toString( ) {
StringBuilder sb = new StringBuilder();
toString(sb);
return sb.toString();
}
public StringBuilder toString(StringBuilder sb) {
sb.append("RangerDataMaskPolicyItem={");
super.toString(sb);
sb.append("dataMaskInfo={");
if(dataMaskInfo != null) {
dataMaskInfo.toString(sb);
}
sb.append("} ");
sb.append("}");
return sb;
}
}
@JsonAutoDetect(fieldVisibility=Visibility.ANY)
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown=true)
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public static class RangerRowFilterPolicyItem extends RangerPolicyItem implements java.io.Serializable {
private static final long serialVersionUID = 1L;
private RangerPolicyItemRowFilterInfo rowFilterInfo;
public RangerRowFilterPolicyItem() {
this(null, null, null, null, null, null);
}
public RangerRowFilterPolicyItem(RangerPolicyItemRowFilterInfo rowFilterInfo, List<RangerPolicyItemAccess> accesses, List<String> users, List<String> groups, List<RangerPolicyItemCondition> conditions, Boolean delegateAdmin) {
super(accesses, users, groups, conditions, delegateAdmin);
setRowFilterInfo(rowFilterInfo);
}
/**
* @return the rowFilterInfo
*/
public RangerPolicyItemRowFilterInfo getRowFilterInfo() {
return rowFilterInfo;
}
/**
* @param rowFilterInfo the rowFilterInfo to set
*/
public void setRowFilterInfo(RangerPolicyItemRowFilterInfo rowFilterInfo) {
this.rowFilterInfo = rowFilterInfo == null ? new RangerPolicyItemRowFilterInfo() : rowFilterInfo;
}
@Override
public int hashCode() {
final int prime = 31;
int result = super.hashCode();
result = prime * result + ((rowFilterInfo == null) ? 0 : rowFilterInfo.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if(! super.equals(obj))
return false;
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
RangerRowFilterPolicyItem other = (RangerRowFilterPolicyItem) obj;
if (rowFilterInfo == null) {
if (other.rowFilterInfo != null)
return false;
} else if (!rowFilterInfo.equals(other.rowFilterInfo))
return false;
return true;
}
@Override
public String toString( ) {
StringBuilder sb = new StringBuilder();
toString(sb);
return sb.toString();
}
public StringBuilder toString(StringBuilder sb) {
sb.append("RangerRowFilterPolicyItem={");
super.toString(sb);
sb.append("rowFilterInfo={");
if(rowFilterInfo != null) {
rowFilterInfo.toString(sb);
}
sb.append("} ");
sb.append("}");
return sb;
}
}
@JsonAutoDetect(fieldVisibility=Visibility.ANY)
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown=true)
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public static class RangerPolicyItemAccess implements java.io.Serializable {
private static final long serialVersionUID = 1L;
private String type;
private Boolean isAllowed;
public RangerPolicyItemAccess() {
this(null, null);
}
public RangerPolicyItemAccess(String type) {
this(type, null);
}
public RangerPolicyItemAccess(String type, Boolean isAllowed) {
setType(type);
setIsAllowed(isAllowed);
}
/**
* @return the type
*/
public String getType() {
return type;
}
/**
* @param type the type to set
*/
public void setType(String type) {
this.type = type;
}
/**
* @return the isAllowed
*/
public Boolean getIsAllowed() {
return isAllowed;
}
/**
* @param isAllowed the isAllowed to set
*/
public void setIsAllowed(Boolean isAllowed) {
this.isAllowed = isAllowed == null ? Boolean.TRUE : isAllowed;
}
@Override
public String toString( ) {
StringBuilder sb = new StringBuilder();
toString(sb);
return sb.toString();
}
public StringBuilder toString(StringBuilder sb) {
sb.append("RangerPolicyItemAccess={");
sb.append("type={").append(type).append("} ");
sb.append("isAllowed={").append(isAllowed).append("} ");
sb.append("}");
return sb;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result
+ ((isAllowed == null) ? 0 : isAllowed.hashCode());
result = prime * result + ((type == null) ? 0 : type.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
RangerPolicyItemAccess other = (RangerPolicyItemAccess) obj;
if (isAllowed == null) {
if (other.isAllowed != null)
return false;
} else if (!isAllowed.equals(other.isAllowed))
return false;
if (type == null) {
if (other.type != null)
return false;
} else if (!type.equals(other.type))
return false;
return true;
}
}
@JsonAutoDetect(fieldVisibility=Visibility.ANY)
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown=true)
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public static class RangerPolicyItemCondition implements java.io.Serializable {
private static final long serialVersionUID = 1L;
private String type;
private List<String> values;
public RangerPolicyItemCondition() {
this(null, null);
}
public RangerPolicyItemCondition(String type, List<String> values) {
setType(type);
setValues(values);
}
/**
* @return the type
*/
public String getType() {
return type;
}
/**
* @param type the type to set
*/
public void setType(String type) {
this.type = type;
}
/**
* @return the value
*/
public List<String> getValues() {
return values;
}
/**
* @param values the value to set
*/
public void setValues(List<String> values) {
if (this.values == null) {
this.values = new ArrayList<>();
}
if(this.values == values) {
return;
}
this.values.clear();
if(values != null) {
this.values.addAll(values);
}
}
@Override
public String toString( ) {
StringBuilder sb = new StringBuilder();
toString(sb);
return sb.toString();
}
public StringBuilder toString(StringBuilder sb) {
sb.append("RangerPolicyItemCondition={");
sb.append("type={").append(type).append("} ");
sb.append("values={");
if(values != null) {
for(String value : values) {
sb.append(value).append(" ");
}
}
sb.append("} ");
sb.append("}");
return sb;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((type == null) ? 0 : type.hashCode());
result = prime * result
+ ((values == null) ? 0 : values.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
RangerPolicyItemCondition other = (RangerPolicyItemCondition) obj;
if (type == null) {
if (other.type != null)
return false;
} else if (!type.equals(other.type))
return false;
if (values == null) {
if (other.values != null)
return false;
} else if (!values.equals(other.values))
return false;
return true;
}
}
@JsonAutoDetect(fieldVisibility=Visibility.ANY)
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown=true)
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public static class RangerPolicyItemDataMaskInfo implements java.io.Serializable {
private static final long serialVersionUID = 1L;
private String dataMaskType;
private String conditionExpr;
private String valueExpr;
public RangerPolicyItemDataMaskInfo() { }
public RangerPolicyItemDataMaskInfo(String dataMaskType, String conditionExpr, String valueExpr) {
setDataMaskType(dataMaskType);
setConditionExpr(conditionExpr);
setValueExpr(valueExpr);
}
public String getDataMaskType() {
return dataMaskType;
}
public void setDataMaskType(String dataMaskType) {
this.dataMaskType = dataMaskType;
}
public String getConditionExpr() {
return conditionExpr;
}
public void setConditionExpr(String conditionExpr) {
this.conditionExpr = conditionExpr;
}
public String getValueExpr() {
return valueExpr;
}
public void setValueExpr(String valueExpr) {
this.valueExpr = valueExpr;
}
@Override
public int hashCode() {
final int prime = 31;
int result = super.hashCode();
result = prime * result + ((dataMaskType == null) ? 0 : dataMaskType.hashCode());
result = prime * result + ((conditionExpr == null) ? 0 : conditionExpr.hashCode());
result = prime * result + ((valueExpr == null) ? 0 : valueExpr.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if(! super.equals(obj))
return false;
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
RangerPolicyItemDataMaskInfo other = (RangerPolicyItemDataMaskInfo) obj;
if (dataMaskType == null) {
if (other.dataMaskType != null)
return false;
} else if (!dataMaskType.equals(other.dataMaskType))
return false;
if (conditionExpr == null) {
if (other.conditionExpr != null)
return false;
} else if (!conditionExpr.equals(other.conditionExpr))
return false;
if (valueExpr == null) {
if (other.valueExpr != null)
return false;
} else if (!valueExpr.equals(other.valueExpr))
return false;
return true;
}
@Override
public String toString( ) {
StringBuilder sb = new StringBuilder();
toString(sb);
return sb.toString();
}
public StringBuilder toString(StringBuilder sb) {
sb.append("RangerPolicyItemDataMaskInfo={");
sb.append("dataMaskType={").append(dataMaskType).append("} ");
sb.append("conditionExpr={").append(conditionExpr).append("} ");
sb.append("valueExpr={").append(valueExpr).append("} ");
sb.append("}");
return sb;
}
}
@JsonAutoDetect(fieldVisibility=Visibility.ANY)
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown=true)
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public static class RangerPolicyItemRowFilterInfo implements java.io.Serializable {
private static final long serialVersionUID = 1L;
private String filterExpr;
public RangerPolicyItemRowFilterInfo() { }
public RangerPolicyItemRowFilterInfo(String filterExpr) {
setFilterExpr(filterExpr);
}
public String getFilterExpr() {
return filterExpr;
}
public void setFilterExpr(String filterExpr) {
this.filterExpr = filterExpr;
}
@Override
public int hashCode() {
final int prime = 31;
int result = super.hashCode();
result = prime * result + ((filterExpr == null) ? 0 : filterExpr.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if(! super.equals(obj))
return false;
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
RangerPolicyItemRowFilterInfo other = (RangerPolicyItemRowFilterInfo) obj;
if (filterExpr == null) {
if (other.filterExpr != null)
return false;
} else if (!filterExpr.equals(other.filterExpr))
return false;
return true;
}
@Override
public String toString( ) {
StringBuilder sb = new StringBuilder();
toString(sb);
return sb.toString();
}
public StringBuilder toString(StringBuilder sb) {
sb.append("RangerPolicyItemDataMaskInfo={");
sb.append("filterExpr={").append(filterExpr).append("} ");
sb.append("}");
return sb;
}
}
}