/** * TNTConcept Easy Enterprise Management by Autentia Real Bussiness Solution S.L. * Copyright (C) 2007 Autentia Real Bussiness Solution S.L. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package com.autentia.tnt.manager.security.impl.fixed; import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import com.autentia.tnt.dao.ITransferObject; class FieldAclMatrixKey { private Class<? extends ITransferObject> type; private int roleId; private String field; public FieldAclMatrixKey(Class<? extends ITransferObject> type, int roleId, String field) { this.type = type; this.roleId = roleId; this.field = field; } public Class<? extends ITransferObject> getType() { return type; } public void setType(Class<? extends ITransferObject> type) { this.type = type; } public int getRoleId() { return roleId; } public void setRoleId(int roleId) { this.roleId = roleId; } public String getField() { return field; } public void setField(String field) { this.field = field; } public boolean equals(Object obj) { try { FieldAclMatrixKey key = (FieldAclMatrixKey)obj; EqualsBuilder eqb = new EqualsBuilder(); eqb.append(this.getRoleId(), key.getRoleId()); eqb.append(this.getField(), key.getField()); eqb.append(this.getClass(), key.getClass()); return eqb.isEquals(); } catch (Exception e) { // obj is not an FieldAclMatrixKey instance return false; } } public int hashCode() { HashCodeBuilder hcb = new HashCodeBuilder(); hcb.append(this.getRoleId()); hcb.append(this.getField()); hcb.append(this.getClass()); return hcb.toHashCode(); } }