Java tutorial
/* * Copyright 2012 Eng Kam Hon (kamhon@gmail.com) * * Licensed 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 net.kamhon.ieagle.function.user.vo; import javax.persistence.Access; import javax.persistence.AccessType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; import javax.persistence.Transient; import net.kamhon.ieagle.FrameworkConst; import net.kamhon.ieagle.vo.annotation.ToTrim; import net.kamhon.ieagle.vo.annotation.ToUpperCase; import org.apache.commons.lang.builder.HashCodeBuilder; @Entity @Table(name = "app_user_access") @Access(AccessType.FIELD) public class UserAccess extends net.kamhon.ieagle.vo.VoBase { private static final long serialVersionUID = 1L; @Id @ToTrim @ToUpperCase @Column(name = "access_code", length = 30) private String accessCode; @ToTrim @Column(name = "access_name", length = 50) private String accessName; @ToTrim @Column(name = "access_desc", length = 100) private String accessDesc; @ToTrim @ToUpperCase @Column(name = "parent_code", length = 15) private String parentCode; @Column(name = "cat_id") private Long catId; @Column(name = "sort_seq") private Integer sortSeq; @ToTrim @ToUpperCase @Column(name = "status", length = 1) private String status; @Transient private Boolean createMode; @Transient private Boolean readMode; @Transient private Boolean updateMode; @Transient private Boolean deleteMode; @Transient private Boolean adminMode; public UserAccess() { } public UserAccess(String accessCode) { this.accessCode = accessCode; } public UserAccess(boolean defaultValue) { if (defaultValue) { status = FrameworkConst.STATUS_APPROVED; } } /** * auto assign accessDesc = accessName * * @param accessCode * @param accessName * @param catId * @param sortSeq */ public UserAccess(String accessCode, String accessName, Long catId, Integer sortSeq) { this(true); this.accessCode = accessCode; this.accessName = accessName; this.accessDesc = accessName; this.catId = catId; this.sortSeq = sortSeq; } public UserAccess(String accessCode, String accessName, Long catId, Integer sortSeq, String status) { this(true); this.accessCode = accessCode; this.accessName = accessName; this.status = status; this.catId = catId; this.sortSeq = sortSeq; } public String getAccessCode() { return accessCode; } public String getAccessName() { return accessName; } public String getAccessDesc() { return accessDesc; } public String getParentCode() { return parentCode; } public Long getCatId() { return catId; } public Integer getSortSeq() { return sortSeq; } public String getStatus() { return status; } public void setAccessCode(String accessCode) { this.accessCode = accessCode; } public void setAccessName(String accessName) { this.accessName = accessName; } public void setAccessDesc(String accessDesc) { this.accessDesc = accessDesc; } public void setParentCode(String parentCode) { this.parentCode = parentCode; } public void setCatId(Long catId) { this.catId = catId; } public void setSortSeq(Integer sortSeq) { this.sortSeq = sortSeq; } public void setStatus(String status) { this.status = status; } public Boolean getCreateMode() { return createMode; } public void setCreateMode(Boolean createMode) { this.createMode = createMode; } public Boolean getReadMode() { return readMode; } public void setReadMode(Boolean readMode) { this.readMode = readMode; } public Boolean getUpdateMode() { return updateMode; } public void setUpdateMode(Boolean updateMode) { this.updateMode = updateMode; } public Boolean getDeleteMode() { return deleteMode; } public void setDeleteMode(Boolean deleteMode) { this.deleteMode = deleteMode; } public Boolean getAdminMode() { return adminMode; } public void setAdminMode(Boolean adminMode) { this.adminMode = adminMode; } public void setAllMode(Boolean allMode) { readMode = allMode; updateMode = allMode; deleteMode = allMode; createMode = allMode; adminMode = allMode; } public Boolean getAllMode() { if (readMode && updateMode && deleteMode && createMode && adminMode) { return true; } else { return false; } } public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; final UserAccess other = (UserAccess) obj; if (this.accessCode == null) { if (other.accessCode != null) return false; } else if (!this.accessCode.equals(other.accessCode)) return false; return true; } public int hashCode() { HashCodeBuilder hashCode = new HashCodeBuilder(); if (accessCode != null) hashCode.append(accessCode); return hashCode.toHashCode(); } }