Subversion Repositories SmartDukaan

Rev

Rev 21720 | Rev 22009 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
21720 ashik.ali 1
package com.spice.profitmandi.dao.entity.dtr;
21545 ashik.ali 2
 
3
import java.io.Serializable;
4
import java.time.LocalDateTime;
5
 
6
import javax.persistence.Basic;
7
import javax.persistence.Column;
8
import javax.persistence.Entity;
9
import javax.persistence.EnumType;
10
import javax.persistence.Enumerated;
11
import javax.persistence.GeneratedValue;
12
import javax.persistence.GenerationType;
13
import javax.persistence.Id;
14
import javax.persistence.NamedQueries;
15
import javax.persistence.NamedQuery;
16
import javax.persistence.Table;
17
import javax.persistence.UniqueConstraint;
18
import javax.persistence.Version;
19
 
21720 ashik.ali 20
import com.spice.profitmandi.dao.enumuration.dtr.PermissionType;
21545 ashik.ali 21
 
22
/**
23
 * This class basically contains permission details
24
 * 
25
 * @author ashikali
26
 *
27
 */
28
@Entity
21596 ashik.ali 29
@Table(name="dtr.permission", schema = "dtr", uniqueConstraints = {@UniqueConstraint(columnNames = {"type","role_id"})})
21545 ashik.ali 30
 
31
@NamedQueries({
32
	@NamedQuery(name = "Permission.selectCountByTypeAndRoleId", query = "select count(p) from Permission p where p.type = :type and p.roleId = :roleId"),
33
	@NamedQuery(name = "Permission.deleteById", query = "delete from Permission p where p.id = :id"),
34
	@NamedQuery(name = "Permission.deleteByRoleId", query = "delete from Permission p where p.roleId = :roleId")
35
})
36
public class Permission implements Serializable{
37
 
38
	private static final long serialVersionUID = 1L;
39
 
40
	public Permission() {
41
	}
42
 
43
	@Id
44
	@Column(name="id", unique=true, updatable=false)
45
	@GeneratedValue(strategy = GenerationType.IDENTITY)
46
	private int id;
47
 
48
	@Column(name="type")
49
    @Enumerated(EnumType.STRING)
50
    private PermissionType type;
51
 
52
	@Column(name="create_timestamp", updatable = false)
53
	private LocalDateTime createTimestamp = LocalDateTime.now();
54
 
55
	@Column(name = "role_id")
56
    private int roleId;
57
 
58
	public int getId() {
59
		return id;
60
	}
61
	public void setId(int id) {
62
		this.id = id;
63
	}
64
	public PermissionType getType() {
65
		return type;
66
	}
67
	public void setType(PermissionType type) {
68
		this.type = type;
69
	}
70
 
71
	public int getRoleId() {
72
		return roleId;
73
	}
74
	public void setRoleId(int roleId) {
75
		this.roleId = roleId;
76
	}
77
 
78
    public void setCreateTimestamp(LocalDateTime createTimestamp) {
79
		this.createTimestamp = createTimestamp;
80
	}
81
    public LocalDateTime getCreateTimestamp() {
82
		return createTimestamp;
83
	}
84
 
21924 ashik.ali 85
 
21602 ashik.ali 86
	@Override
21924 ashik.ali 87
	public int hashCode() {
88
		final int prime = 31;
89
		int result = 1;
90
		result = prime * result + ((createTimestamp == null) ? 0 : createTimestamp.hashCode());
91
		result = prime * result + id;
92
		result = prime * result + roleId;
93
		result = prime * result + ((type == null) ? 0 : type.hashCode());
94
		return result;
95
	}
96
	@Override
97
	public boolean equals(Object obj) {
98
		if (this == obj)
99
			return true;
100
		if (obj == null)
101
			return false;
102
		if (getClass() != obj.getClass())
103
			return false;
104
		Permission other = (Permission) obj;
105
		if (createTimestamp == null) {
106
			if (other.createTimestamp != null)
107
				return false;
108
		} else if (!createTimestamp.equals(other.createTimestamp))
109
			return false;
110
		if (id != other.id)
111
			return false;
112
		if (roleId != other.roleId)
113
			return false;
114
		if (type != other.type)
115
			return false;
116
		return true;
117
	}
118
	@Override
21602 ashik.ali 119
	public String toString() {
120
		return "Permission [id=" + id + ", type=" + type + ", createTimestamp=" + createTimestamp + ", roleId=" + roleId
21693 ashik.ali 121
				+ "]";
21602 ashik.ali 122
	}
123
 
124
 
21545 ashik.ali 125
 
126
}