KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > jaspersoft > jasperserver > api > metadata > user > domain > impl > hibernate > RepoObjectPermission


1 /*
2  * Copyright (C) 2006 JasperSoft http://www.jaspersoft.com
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed WITHOUT ANY WARRANTY; and without the
10  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11  * See the GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program; if not, see http://www.gnu.org/licenses/gpl.txt
15  * or write to:
16  *
17  * Free Software Foundation, Inc.,
18  * 59 Temple Place - Suite 330,
19  * Boston, MA USA 02111-1307
20  */

21
22 package com.jaspersoft.jasperserver.api.metadata.user.domain.impl.hibernate;
23
24 import org.apache.commons.lang.builder.EqualsBuilder;
25 import org.apache.commons.lang.builder.HashCodeBuilder;
26 import org.apache.commons.lang.builder.ToStringBuilder;
27
28 import com.jaspersoft.jasperserver.api.metadata.common.domain.impl.IdedObject;
29 import com.jaspersoft.jasperserver.api.metadata.common.service.ResourceFactory;
30 import com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.PersistentObjectResolver;
31 import com.jaspersoft.jasperserver.api.metadata.user.domain.ObjectPermission;
32
33 /**
34  * @author swood
35  *
36  * @hibernate.class table="ObjectPermission"
37  */

38 public class RepoObjectPermission implements ObjectPermission, IdedObject {
39
40     private long id;
41     private String JavaDoc uri;
42     private Object JavaDoc permissionRecipient;
43     private int permissionMask;
44     
45     /**
46      * @return
47      * @hibernate.id generator-class="identity"
48      */

49     public long getId() {
50         return id;
51     }
52
53     public void setId(long id) {
54         this.id = id;
55     }
56     
57     /**
58      * @hibernate.property column="uri" type="string" not-null="true" length="255"
59      *
60      * (non-Javadoc)
61      * @see com.jaspersoft.jasperserver.api.metadata.user.domain.ObjectPermission#getURI()
62      */

63     public String JavaDoc getURI() {
64         return uri;
65     }
66
67     /* (non-Javadoc)
68      * @see com.jaspersoft.jasperserver.api.metadata.user.domain.ObjectPermission#setObjectIdentity(java.lang.String)
69      */

70     public void setURI(String JavaDoc URI) {
71         this.uri = URI;
72     }
73     
74     /**
75      * This is a User or a Role
76      *
77      * @hibernate.any id-type="long"
78      *
79      * @hibernate.any-column name="recipientobjectclass" length="100"
80      * @hibernate.any-column name="recipientobjectid"
81      *
82      * hibernate.meta-value class="RepoRole" value="RepoRole"
83      * hibernate.meta-value class="RepoUser" value="RepoUser"
84      */

85
86     public Object JavaDoc getPermissionRecipient() {
87         return permissionRecipient;
88     }
89
90     /* (non-Javadoc)
91      * @see com.jaspersoft.jasperserver.api.metadata.user.domain.ObjectPermission#setPermissionRecipient(java.lang.Object)
92      */

93     public void setPermissionRecipient(Object JavaDoc permissionRecipient) {
94         this.permissionRecipient = permissionRecipient;
95     }
96
97     /**
98      *
99      * @hibernate.property
100      * column="permissionMask" type="integer" not-null="true"
101      *
102      * @return
103      */

104     public int getPermissionMask() {
105         return permissionMask;
106     }
107
108     public void setPermissionMask(int permissionMask) {
109         this.permissionMask = permissionMask;
110     }
111     
112     /**
113      * Copy from a client object into this one
114      *
115      * @param objIdent
116      * @param resolver
117      */

118     public void copyFromClient(Object JavaDoc obj, PersistentObjectResolver resolver) {
119         // objIdent -> this
120
ObjectPermission objPermission = (ObjectPermission) obj;
121         setURI(objPermission.getURI());
122         if (objPermission.getPermissionRecipient() != null) {
123             setPermissionRecipient(resolver.getPersistentObject(objPermission.getPermissionRecipient()));
124         } else {
125             setPermissionRecipient(null);
126         }
127         setPermissionMask(objPermission.getPermissionMask());
128     }
129     
130     /**
131      * Copy from this into a new client object
132      *
133      * @param clientMappingFactory
134      */

135     public Object JavaDoc toClient(ResourceFactory clientMappingFactory) {
136         // this -> objIdent
137

138         ObjectPermission objPermission = (ObjectPermission) clientMappingFactory.newObject(ObjectPermission.class);
139
140         objPermission.setURI(objPermission.getURI());
141         
142         if (getPermissionRecipient() != null) {
143             IdedObject recipient = (IdedObject) getPermissionRecipient();
144             Object JavaDoc clientPermissionRecipient = recipient.toClient(clientMappingFactory);
145             objPermission.setPermissionRecipient(clientPermissionRecipient);
146         } else {
147             objPermission.setPermissionRecipient(null);
148         }
149         objPermission.setPermissionMask(getPermissionMask());
150         return objPermission;
151     }
152     
153     public String JavaDoc toString() {
154         return new ToStringBuilder(this)
155             .append("objectPermissionId", getId())
156             .append("objectIdentity", getURI())
157             .append("recipient", getPermissionRecipient())
158             .toString();
159     }
160
161     public boolean equals(Object JavaDoc other) {
162         if ( !(other instanceof RepoObjectPermission) ) return false;
163         RepoObjectPermission castOther = (RepoObjectPermission) other;
164         return new EqualsBuilder()
165             .append(this.getId(), castOther.getId())
166             .isEquals();
167     }
168
169     public int hashCode() {
170         return new HashCodeBuilder()
171             .append(getId())
172             .toHashCode();
173     }
174
175 }
176
Popular Tags