| /* |
| * 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.entity; |
| |
| /** |
| * Permission map |
| * |
| */ |
| |
| import javax.persistence.Column; |
| import javax.persistence.Entity; |
| import javax.persistence.GeneratedValue; |
| import javax.persistence.GenerationType; |
| import javax.persistence.Id; |
| import javax.persistence.SequenceGenerator; |
| import javax.persistence.Table; |
| import javax.xml.bind.annotation.XmlRootElement; |
| |
| import org.apache.ranger.common.AppConstants; |
| import org.apache.ranger.common.RangerConstants; |
| |
| |
| @Entity |
| @Table(name="x_perm_map") |
| @XmlRootElement |
| public class XXPermMap extends XXDBBase implements java.io.Serializable { |
| private static final long serialVersionUID = 1L; |
| |
| |
| @Id |
| @SequenceGenerator(name="X_PERM_MAP_SEQ",sequenceName="X_PERM_MAP_SEQ",allocationSize=1) |
| @GeneratedValue(strategy=GenerationType.AUTO,generator="X_PERM_MAP_SEQ") |
| @Column(name="ID") |
| protected Long id; |
| @Override |
| public void setId(Long id) { |
| this.id=id; |
| } |
| |
| @Override |
| public Long getId() { |
| return id; |
| } |
| |
| /** |
| * Group to which the permission belongs to |
| * <ul> |
| * <li>The maximum length for this attribute is <b>1024</b>. |
| * </ul> |
| * |
| */ |
| @Column(name="PERM_GROUP" , length=1024) |
| protected String permGroup; |
| |
| /** |
| * Id of the resource |
| * <ul> |
| * </ul> |
| * |
| */ |
| @Column(name="RES_ID" ) |
| protected Long resourceId; |
| |
| |
| /** |
| * Id of the group |
| * <ul> |
| * </ul> |
| * |
| */ |
| @Column(name="GROUP_ID" ) |
| protected Long groupId; |
| |
| |
| /** |
| * Id of the user |
| * <ul> |
| * </ul> |
| * |
| */ |
| @Column(name="USER_ID" ) |
| protected Long userId; |
| |
| |
| /** |
| * Permission for user or group |
| * <ul> |
| * <li>This attribute is of type enum CommonEnums::XAPermForType |
| * </ul> |
| * |
| */ |
| @Column(name="PERM_FOR" , nullable=false ) |
| protected int permFor = AppConstants.XA_PERM_FOR_UNKNOWN; |
| |
| /** |
| * Type of permission |
| * <ul> |
| * <li>This attribute is of type enum CommonEnums::XAPermType |
| * </ul> |
| * |
| */ |
| @Column(name="PERM_TYPE" , nullable=false ) |
| protected int permType = AppConstants.XA_PERM_TYPE_UNKNOWN; |
| |
| /** |
| * Is recursive |
| * <ul> |
| * <li>This attribute is of type enum CommonEnums::BooleanValue |
| * </ul> |
| * |
| */ |
| @Column(name="IS_RECURSIVE" , nullable=false ) |
| protected int isRecursive = RangerConstants.BOOL_NONE; |
| |
| /** |
| * Is wild card |
| * <ul> |
| * </ul> |
| * |
| */ |
| @Column(name="IS_WILD_CARD" , nullable=false ) |
| protected boolean isWildCard = true; |
| |
| /** |
| * Grant is true and revoke is false |
| * <ul> |
| * </ul> |
| * |
| */ |
| @Column(name="GRANT_REVOKE" , nullable=false ) |
| protected boolean grantOrRevoke = true; |
| /** |
| * IP address to which the group belongs to |
| * <ul> |
| * <li>The maximum length for this attribute is <b>1024</b>. |
| * </ul> |
| * |
| */ |
| @Column(name="IP_ADDRESS" , length=1024) |
| protected String ipAddress; |
| |
| /** |
| * Default constructor. This will set all the attributes to default value. |
| */ |
| public XXPermMap ( ) { |
| permFor = AppConstants.XA_PERM_FOR_UNKNOWN; |
| permType = AppConstants.XA_PERM_TYPE_UNKNOWN; |
| isRecursive = RangerConstants.BOOL_NONE; |
| } |
| |
| @Override |
| public int getMyClassType( ) { |
| return AppConstants.CLASS_TYPE_XA_PERM_MAP; |
| } |
| |
| /** |
| * This method sets the value to the member attribute <b>permGroup</b>. |
| * You cannot set null to the attribute. |
| * @param permGroup Value to set member attribute <b>permGroup</b> |
| */ |
| public void setPermGroup( String permGroup ) { |
| this.permGroup = permGroup; |
| } |
| |
| /** |
| * Returns the value for the member attribute <b>permGroup</b> |
| * @return String - value of member attribute <b>permGroup</b>. |
| */ |
| public String getPermGroup( ) { |
| return this.permGroup; |
| } |
| |
| /** |
| * This method sets the value to the member attribute <b>resourceId</b>. |
| * You cannot set null to the attribute. |
| * @param resourceId Value to set member attribute <b>resourceId</b> |
| */ |
| public void setResourceId( Long resourceId ) { |
| this.resourceId = resourceId; |
| } |
| |
| /** |
| * Returns the value for the member attribute <b>resourceId</b> |
| * @return Long - value of member attribute <b>resourceId</b>. |
| */ |
| public Long getResourceId( ) { |
| return this.resourceId; |
| } |
| |
| |
| /** |
| * This method sets the value to the member attribute <b>groupId</b>. |
| * You cannot set null to the attribute. |
| * @param groupId Value to set member attribute <b>groupId</b> |
| */ |
| public void setGroupId( Long groupId ) { |
| this.groupId = groupId; |
| } |
| |
| /** |
| * Returns the value for the member attribute <b>groupId</b> |
| * @return Long - value of member attribute <b>groupId</b>. |
| */ |
| public Long getGroupId( ) { |
| return this.groupId; |
| } |
| |
| |
| /** |
| * This method sets the value to the member attribute <b>userId</b>. |
| * You cannot set null to the attribute. |
| * @param userId Value to set member attribute <b>userId</b> |
| */ |
| public void setUserId( Long userId ) { |
| this.userId = userId; |
| } |
| |
| /** |
| * Returns the value for the member attribute <b>userId</b> |
| * @return Long - value of member attribute <b>userId</b>. |
| */ |
| public Long getUserId( ) { |
| return this.userId; |
| } |
| |
| |
| /** |
| * This method sets the value to the member attribute <b>permFor</b>. |
| * You cannot set null to the attribute. |
| * @param permFor Value to set member attribute <b>permFor</b> |
| */ |
| public void setPermFor( int permFor ) { |
| this.permFor = permFor; |
| } |
| |
| /** |
| * Returns the value for the member attribute <b>permFor</b> |
| * @return int - value of member attribute <b>permFor</b>. |
| */ |
| public int getPermFor( ) { |
| return this.permFor; |
| } |
| |
| /** |
| * This method sets the value to the member attribute <b>permType</b>. |
| * You cannot set null to the attribute. |
| * @param permType Value to set member attribute <b>permType</b> |
| */ |
| public void setPermType( int permType ) { |
| this.permType = permType; |
| } |
| |
| /** |
| * Returns the value for the member attribute <b>permType</b> |
| * @return int - value of member attribute <b>permType</b>. |
| */ |
| public int getPermType( ) { |
| return this.permType; |
| } |
| |
| /** |
| * This method sets the value to the member attribute <b>isRecursive</b>. |
| * You cannot set null to the attribute. |
| * @param isRecursive Value to set member attribute <b>isRecursive</b> |
| */ |
| public void setIsRecursive( int isRecursive ) { |
| this.isRecursive = isRecursive; |
| } |
| |
| /** |
| * Returns the value for the member attribute <b>isRecursive</b> |
| * @return int - value of member attribute <b>isRecursive</b>. |
| */ |
| public int getIsRecursive( ) { |
| return this.isRecursive; |
| } |
| |
| /** |
| * This method sets the value to the member attribute <b>isWildCard</b>. |
| * You cannot set null to the attribute. |
| * @param isWildCard Value to set member attribute <b>isWildCard</b> |
| */ |
| public void setIsWildCard( boolean isWildCard ) { |
| this.isWildCard = isWildCard; |
| } |
| |
| /** |
| * Returns the value for the member attribute <b>isWildCard</b> |
| * @return boolean - value of member attribute <b>isWildCard</b>. |
| */ |
| public boolean isIsWildCard( ) { |
| return this.isWildCard; |
| } |
| |
| /** |
| * This method sets the value to the member attribute <b>grantOrRevoke</b>. |
| * You cannot set null to the attribute. |
| * @param grantOrRevoke Value to set member attribute <b>grantOrRevoke</b> |
| */ |
| public void setGrantOrRevoke( boolean grantOrRevoke ) { |
| this.grantOrRevoke = grantOrRevoke; |
| } |
| |
| /** |
| * Returns the value for the member attribute <b>grantOrRevoke</b> |
| * @return boolean - value of member attribute <b>grantOrRevoke</b>. |
| */ |
| public boolean isGrantOrRevoke( ) { |
| return this.grantOrRevoke; |
| } |
| |
| public String getIpAddress() { |
| return ipAddress; |
| } |
| |
| public void setIpAddress(String ipAddress) { |
| this.ipAddress = ipAddress; |
| } |
| |
| /** |
| * This return the bean content in string format |
| * @return formatedStr |
| */ |
| @Override |
| public String toString( ) { |
| String str = "XXPermMap={"; |
| str += super.toString(); |
| str += "permGroup={" + permGroup + "} "; |
| str += "resourceId={" + resourceId + "} "; |
| str += "groupId={" + groupId + "} "; |
| str += "userId={" + userId + "} "; |
| str += "permFor={" + permFor + "} "; |
| str += "permType={" + permType + "} "; |
| str += "isRecursive={" + isRecursive + "} "; |
| str += "isWildCard={" + isWildCard + "} "; |
| str += "grantOrRevoke={" + grantOrRevoke + "} "; |
| str += "}"; |
| return str; |
| } |
| |
| /** |
| * Checks for all attributes except referenced db objects |
| * @return true if all attributes match |
| */ |
| @Override |
| public boolean equals( Object obj) { |
| if ( !super.equals(obj) ) { |
| return false; |
| } |
| XXPermMap other = (XXPermMap) obj; |
| if ((this.permGroup == null && other.permGroup != null) || (this.permGroup != null && !this.permGroup.equals(other.permGroup))) { |
| return false; |
| } |
| if ((this.resourceId == null && other.resourceId != null) || (this.resourceId != null && !this.resourceId.equals(other.resourceId))) { |
| return false; |
| } |
| if ((this.groupId == null && other.groupId != null) || (this.groupId != null && !this.groupId.equals(other.groupId))) { |
| return false; |
| } |
| if ((this.userId == null && other.userId != null) || (this.userId != null && !this.userId.equals(other.userId))) { |
| return false; |
| } |
| if( this.permFor != other.permFor ) return false; |
| if( this.permType != other.permType ) return false; |
| if( this.isRecursive != other.isRecursive ) return false; |
| if( this.isWildCard != other.isWildCard ) return false; |
| if( this.grantOrRevoke != other.grantOrRevoke ) return false; |
| return true; |
| } |
| public static String getEnumName(String fieldName ) { |
| if( fieldName.equals("permFor") ) { |
| return "CommonEnums.XAPermForType"; |
| } |
| if( fieldName.equals("permType") ) { |
| return "CommonEnums.XAPermType"; |
| } |
| if( fieldName.equals("isRecursive") ) { |
| return "CommonEnums.BooleanValue"; |
| } |
| //Later TODO |
| //return super.getEnumName(fieldName); |
| return null; |
| } |
| |
| } |