Subversion Repositories SmartDukaan

Rev

Rev 22009 | Rev 23297 | 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.Column;
22009 ashik.ali 7
import javax.persistence.Convert;
21545 ashik.ali 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
 
22009 ashik.ali 19
import com.spice.profitmandi.dao.convertor.LocalDateTimeAttributeConverter;
21720 ashik.ali 20
import com.spice.profitmandi.dao.enumuration.dtr.PermissionType;
22009 ashik.ali 21
import com.spice.profitmandi.dao.enumuration.dtr.RoleType;
21545 ashik.ali 22
 
23
/**
24
 * This class basically contains permission details
25
 * 
26
 * @author ashikali
27
 *
28
 */
29
@Entity
22014 ashik.ali 30
@Table(name="dtr.permission", schema = "dtr", uniqueConstraints = {@UniqueConstraint(columnNames = {"type","role_type"})})
21545 ashik.ali 31
 
32
@NamedQueries({
22014 ashik.ali 33
	@NamedQuery(name = "Permission.selectCountByTypeAndRoleType", query = "select count(p) from Permission p where p.type = :type and p.roleType = :roleType"),
21545 ashik.ali 34
	@NamedQuery(name = "Permission.deleteById", query = "delete from Permission p where p.id = :id"),
22014 ashik.ali 35
	@NamedQuery(name = "Permission.deleteByRoleType", query = "delete from Permission p where p.roleType = :roleType")
21545 ashik.ali 36
})
37
public class Permission implements Serializable{
38
 
39
	private static final long serialVersionUID = 1L;
40
 
41
	public Permission() {
42
	}
43
 
44
	@Id
45
	@Column(name="id", unique=true, updatable=false)
46
	@GeneratedValue(strategy = GenerationType.IDENTITY)
47
	private int id;
48
 
49
	@Column(name="type")
50
    @Enumerated(EnumType.STRING)
51
    private PermissionType type;
52
 
22009 ashik.ali 53
	@Convert(converter = LocalDateTimeAttributeConverter.class)
21545 ashik.ali 54
	@Column(name="create_timestamp", updatable = false)
55
	private LocalDateTime createTimestamp = LocalDateTime.now();
56
 
22009 ashik.ali 57
	@Column(name = "role_type")
58
    private RoleType roleType;
21545 ashik.ali 59
 
60
	public int getId() {
61
		return id;
62
	}
63
	public void setId(int id) {
64
		this.id = id;
65
	}
66
	public PermissionType getType() {
67
		return type;
68
	}
69
	public void setType(PermissionType type) {
70
		this.type = type;
71
	}
72
 
22009 ashik.ali 73
	public RoleType getRoleType() {
74
		return roleType;
21545 ashik.ali 75
	}
22009 ashik.ali 76
	public void setRoleType(RoleType roleType) {
77
		this.roleType = roleType;
21545 ashik.ali 78
	}
79
 
80
    public void setCreateTimestamp(LocalDateTime createTimestamp) {
81
		this.createTimestamp = createTimestamp;
82
	}
83
    public LocalDateTime getCreateTimestamp() {
84
		return createTimestamp;
85
	}
86
 
21924 ashik.ali 87
 
21602 ashik.ali 88
	@Override
21924 ashik.ali 89
	public int hashCode() {
90
		final int prime = 31;
91
		int result = 1;
92
		result = prime * result + id;
93
		return result;
94
	}
95
	@Override
96
	public boolean equals(Object obj) {
97
		if (this == obj)
98
			return true;
99
		if (obj == null)
100
			return false;
101
		if (getClass() != obj.getClass())
102
			return false;
103
		Permission other = (Permission) obj;
104
		if (id != other.id)
105
			return false;
106
		return true;
107
	}
108
	@Override
21602 ashik.ali 109
	public String toString() {
22009 ashik.ali 110
		return "Permission [id=" + id + ", type=" + type + ", createTimestamp=" + createTimestamp + ", roleType=" + roleType
21693 ashik.ali 111
				+ "]";
21602 ashik.ali 112
	}
113
 
114
 
21545 ashik.ali 115
 
116
}