001    /**
002     * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.portal.model.impl;
016    
017    import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler;
018    import com.liferay.portal.kernel.json.JSON;
019    import com.liferay.portal.kernel.util.GetterUtil;
020    import com.liferay.portal.kernel.util.ProxyUtil;
021    import com.liferay.portal.kernel.util.StringBundler;
022    import com.liferay.portal.kernel.util.StringPool;
023    import com.liferay.portal.model.CacheModel;
024    import com.liferay.portal.model.Permission;
025    import com.liferay.portal.model.PermissionModel;
026    import com.liferay.portal.model.PermissionSoap;
027    import com.liferay.portal.service.ServiceContext;
028    
029    import com.liferay.portlet.expando.model.ExpandoBridge;
030    import com.liferay.portlet.expando.util.ExpandoBridgeFactoryUtil;
031    
032    import java.io.Serializable;
033    
034    import java.sql.Types;
035    
036    import java.util.ArrayList;
037    import java.util.HashMap;
038    import java.util.List;
039    import java.util.Map;
040    
041    /**
042     * The base model implementation for the Permission service. Represents a row in the "Permission_" database table, with each column mapped to a property of this class.
043     *
044     * <p>
045     * This implementation and its corresponding interface {@link com.liferay.portal.model.PermissionModel} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link PermissionImpl}.
046     * </p>
047     *
048     * @author Brian Wing Shun Chan
049     * @see PermissionImpl
050     * @see com.liferay.portal.model.Permission
051     * @see com.liferay.portal.model.PermissionModel
052     * @generated
053     */
054    @JSON(strict = true)
055    public class PermissionModelImpl extends BaseModelImpl<Permission>
056            implements PermissionModel {
057            /*
058             * NOTE FOR DEVELOPERS:
059             *
060             * Never modify or reference this class directly. All methods that expect a permission model instance should use the {@link com.liferay.portal.model.Permission} interface instead.
061             */
062            public static final String TABLE_NAME = "Permission_";
063            public static final Object[][] TABLE_COLUMNS = {
064                            { "permissionId", Types.BIGINT },
065                            { "companyId", Types.BIGINT },
066                            { "actionId", Types.VARCHAR },
067                            { "resourceId", Types.BIGINT }
068                    };
069            public static final String TABLE_SQL_CREATE = "create table Permission_ (permissionId LONG not null primary key,companyId LONG,actionId VARCHAR(75) null,resourceId LONG)";
070            public static final String TABLE_SQL_DROP = "drop table Permission_";
071            public static final String DATA_SOURCE = "liferayDataSource";
072            public static final String SESSION_FACTORY = "liferaySessionFactory";
073            public static final String TX_MANAGER = "liferayTransactionManager";
074            public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
075                                    "value.object.entity.cache.enabled.com.liferay.portal.model.Permission"),
076                            true);
077            public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
078                                    "value.object.finder.cache.enabled.com.liferay.portal.model.Permission"),
079                            true);
080            public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
081                                    "value.object.column.bitmask.enabled.com.liferay.portal.model.Permission"),
082                            true);
083            public static long ACTIONID_COLUMN_BITMASK = 1L;
084            public static long RESOURCEID_COLUMN_BITMASK = 2L;
085    
086            /**
087             * Converts the soap model instance into a normal model instance.
088             *
089             * @param soapModel the soap model instance to convert
090             * @return the normal model instance
091             */
092            public static Permission toModel(PermissionSoap soapModel) {
093                    if (soapModel == null) {
094                            return null;
095                    }
096    
097                    Permission model = new PermissionImpl();
098    
099                    model.setPermissionId(soapModel.getPermissionId());
100                    model.setCompanyId(soapModel.getCompanyId());
101                    model.setActionId(soapModel.getActionId());
102                    model.setResourceId(soapModel.getResourceId());
103    
104                    return model;
105            }
106    
107            /**
108             * Converts the soap model instances into normal model instances.
109             *
110             * @param soapModels the soap model instances to convert
111             * @return the normal model instances
112             */
113            public static List<Permission> toModels(PermissionSoap[] soapModels) {
114                    if (soapModels == null) {
115                            return null;
116                    }
117    
118                    List<Permission> models = new ArrayList<Permission>(soapModels.length);
119    
120                    for (PermissionSoap soapModel : soapModels) {
121                            models.add(toModel(soapModel));
122                    }
123    
124                    return models;
125            }
126    
127            public static final String MAPPING_TABLE_GROUPS_PERMISSIONS_NAME = "Groups_Permissions";
128            public static final Object[][] MAPPING_TABLE_GROUPS_PERMISSIONS_COLUMNS = {
129                            { "groupId", Types.BIGINT },
130                            { "permissionId", Types.BIGINT }
131                    };
132            public static final String MAPPING_TABLE_GROUPS_PERMISSIONS_SQL_CREATE = "create table Groups_Permissions (groupId LONG not null,permissionId LONG not null,primary key (groupId, permissionId))";
133            public static final boolean FINDER_CACHE_ENABLED_GROUPS_PERMISSIONS = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
134                                    "value.object.finder.cache.enabled.Groups_Permissions"), true);
135            public static final String MAPPING_TABLE_ROLES_PERMISSIONS_NAME = "Roles_Permissions";
136            public static final Object[][] MAPPING_TABLE_ROLES_PERMISSIONS_COLUMNS = {
137                            { "roleId", Types.BIGINT },
138                            { "permissionId", Types.BIGINT }
139                    };
140            public static final String MAPPING_TABLE_ROLES_PERMISSIONS_SQL_CREATE = "create table Roles_Permissions (permissionId LONG not null,roleId LONG not null,primary key (permissionId, roleId))";
141            public static final boolean FINDER_CACHE_ENABLED_ROLES_PERMISSIONS = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
142                                    "value.object.finder.cache.enabled.Roles_Permissions"), true);
143            public static final String MAPPING_TABLE_USERS_PERMISSIONS_NAME = "Users_Permissions";
144            public static final Object[][] MAPPING_TABLE_USERS_PERMISSIONS_COLUMNS = {
145                            { "userId", Types.BIGINT },
146                            { "permissionId", Types.BIGINT }
147                    };
148            public static final String MAPPING_TABLE_USERS_PERMISSIONS_SQL_CREATE = "create table Users_Permissions (permissionId LONG not null,userId LONG not null,primary key (permissionId, userId))";
149            public static final boolean FINDER_CACHE_ENABLED_USERS_PERMISSIONS = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
150                                    "value.object.finder.cache.enabled.Users_Permissions"), true);
151            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
152                                    "lock.expiration.time.com.liferay.portal.model.Permission"));
153    
154            public PermissionModelImpl() {
155            }
156    
157            public long getPrimaryKey() {
158                    return _permissionId;
159            }
160    
161            public void setPrimaryKey(long primaryKey) {
162                    setPermissionId(primaryKey);
163            }
164    
165            public Serializable getPrimaryKeyObj() {
166                    return new Long(_permissionId);
167            }
168    
169            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
170                    setPrimaryKey(((Long)primaryKeyObj).longValue());
171            }
172    
173            public Class<?> getModelClass() {
174                    return Permission.class;
175            }
176    
177            public String getModelClassName() {
178                    return Permission.class.getName();
179            }
180    
181            @Override
182            public Map<String, Object> getModelAttributes() {
183                    Map<String, Object> attributes = new HashMap<String, Object>();
184    
185                    attributes.put("permissionId", getPermissionId());
186                    attributes.put("companyId", getCompanyId());
187                    attributes.put("actionId", getActionId());
188                    attributes.put("resourceId", getResourceId());
189    
190                    return attributes;
191            }
192    
193            @Override
194            public void setModelAttributes(Map<String, Object> attributes) {
195                    Long permissionId = (Long)attributes.get("permissionId");
196    
197                    if (permissionId != null) {
198                            setPermissionId(permissionId);
199                    }
200    
201                    Long companyId = (Long)attributes.get("companyId");
202    
203                    if (companyId != null) {
204                            setCompanyId(companyId);
205                    }
206    
207                    String actionId = (String)attributes.get("actionId");
208    
209                    if (actionId != null) {
210                            setActionId(actionId);
211                    }
212    
213                    Long resourceId = (Long)attributes.get("resourceId");
214    
215                    if (resourceId != null) {
216                            setResourceId(resourceId);
217                    }
218            }
219    
220            @JSON
221            public long getPermissionId() {
222                    return _permissionId;
223            }
224    
225            public void setPermissionId(long permissionId) {
226                    _permissionId = permissionId;
227            }
228    
229            @JSON
230            public long getCompanyId() {
231                    return _companyId;
232            }
233    
234            public void setCompanyId(long companyId) {
235                    _companyId = companyId;
236            }
237    
238            @JSON
239            public String getActionId() {
240                    if (_actionId == null) {
241                            return StringPool.BLANK;
242                    }
243                    else {
244                            return _actionId;
245                    }
246            }
247    
248            public void setActionId(String actionId) {
249                    _columnBitmask |= ACTIONID_COLUMN_BITMASK;
250    
251                    if (_originalActionId == null) {
252                            _originalActionId = _actionId;
253                    }
254    
255                    _actionId = actionId;
256            }
257    
258            public String getOriginalActionId() {
259                    return GetterUtil.getString(_originalActionId);
260            }
261    
262            @JSON
263            public long getResourceId() {
264                    return _resourceId;
265            }
266    
267            public void setResourceId(long resourceId) {
268                    _columnBitmask |= RESOURCEID_COLUMN_BITMASK;
269    
270                    if (!_setOriginalResourceId) {
271                            _setOriginalResourceId = true;
272    
273                            _originalResourceId = _resourceId;
274                    }
275    
276                    _resourceId = resourceId;
277            }
278    
279            public long getOriginalResourceId() {
280                    return _originalResourceId;
281            }
282    
283            public long getColumnBitmask() {
284                    return _columnBitmask;
285            }
286    
287            @Override
288            public ExpandoBridge getExpandoBridge() {
289                    return ExpandoBridgeFactoryUtil.getExpandoBridge(getCompanyId(),
290                            Permission.class.getName(), getPrimaryKey());
291            }
292    
293            @Override
294            public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
295                    ExpandoBridge expandoBridge = getExpandoBridge();
296    
297                    expandoBridge.setAttributes(serviceContext);
298            }
299    
300            @Override
301            public Permission toEscapedModel() {
302                    if (_escapedModel == null) {
303                            _escapedModel = (Permission)ProxyUtil.newProxyInstance(_classLoader,
304                                            _escapedModelInterfaces, new AutoEscapeBeanHandler(this));
305                    }
306    
307                    return _escapedModel;
308            }
309    
310            public Permission toUnescapedModel() {
311                    return (Permission)this;
312            }
313    
314            @Override
315            public Object clone() {
316                    PermissionImpl permissionImpl = new PermissionImpl();
317    
318                    permissionImpl.setPermissionId(getPermissionId());
319                    permissionImpl.setCompanyId(getCompanyId());
320                    permissionImpl.setActionId(getActionId());
321                    permissionImpl.setResourceId(getResourceId());
322    
323                    permissionImpl.resetOriginalValues();
324    
325                    return permissionImpl;
326            }
327    
328            public int compareTo(Permission permission) {
329                    long primaryKey = permission.getPrimaryKey();
330    
331                    if (getPrimaryKey() < primaryKey) {
332                            return -1;
333                    }
334                    else if (getPrimaryKey() > primaryKey) {
335                            return 1;
336                    }
337                    else {
338                            return 0;
339                    }
340            }
341    
342            @Override
343            public boolean equals(Object obj) {
344                    if (this == obj) {
345                            return true;
346                    }
347    
348                    if (!(obj instanceof Permission)) {
349                            return false;
350                    }
351    
352                    Permission permission = (Permission)obj;
353    
354                    long primaryKey = permission.getPrimaryKey();
355    
356                    if (getPrimaryKey() == primaryKey) {
357                            return true;
358                    }
359                    else {
360                            return false;
361                    }
362            }
363    
364            @Override
365            public int hashCode() {
366                    return (int)getPrimaryKey();
367            }
368    
369            @Override
370            public void resetOriginalValues() {
371                    PermissionModelImpl permissionModelImpl = this;
372    
373                    permissionModelImpl._originalActionId = permissionModelImpl._actionId;
374    
375                    permissionModelImpl._originalResourceId = permissionModelImpl._resourceId;
376    
377                    permissionModelImpl._setOriginalResourceId = false;
378    
379                    permissionModelImpl._columnBitmask = 0;
380            }
381    
382            @Override
383            public CacheModel<Permission> toCacheModel() {
384                    PermissionCacheModel permissionCacheModel = new PermissionCacheModel();
385    
386                    permissionCacheModel.permissionId = getPermissionId();
387    
388                    permissionCacheModel.companyId = getCompanyId();
389    
390                    permissionCacheModel.actionId = getActionId();
391    
392                    String actionId = permissionCacheModel.actionId;
393    
394                    if ((actionId != null) && (actionId.length() == 0)) {
395                            permissionCacheModel.actionId = null;
396                    }
397    
398                    permissionCacheModel.resourceId = getResourceId();
399    
400                    return permissionCacheModel;
401            }
402    
403            @Override
404            public String toString() {
405                    StringBundler sb = new StringBundler(9);
406    
407                    sb.append("{permissionId=");
408                    sb.append(getPermissionId());
409                    sb.append(", companyId=");
410                    sb.append(getCompanyId());
411                    sb.append(", actionId=");
412                    sb.append(getActionId());
413                    sb.append(", resourceId=");
414                    sb.append(getResourceId());
415                    sb.append("}");
416    
417                    return sb.toString();
418            }
419    
420            public String toXmlString() {
421                    StringBundler sb = new StringBundler(16);
422    
423                    sb.append("<model><model-name>");
424                    sb.append("com.liferay.portal.model.Permission");
425                    sb.append("</model-name>");
426    
427                    sb.append(
428                            "<column><column-name>permissionId</column-name><column-value><![CDATA[");
429                    sb.append(getPermissionId());
430                    sb.append("]]></column-value></column>");
431                    sb.append(
432                            "<column><column-name>companyId</column-name><column-value><![CDATA[");
433                    sb.append(getCompanyId());
434                    sb.append("]]></column-value></column>");
435                    sb.append(
436                            "<column><column-name>actionId</column-name><column-value><![CDATA[");
437                    sb.append(getActionId());
438                    sb.append("]]></column-value></column>");
439                    sb.append(
440                            "<column><column-name>resourceId</column-name><column-value><![CDATA[");
441                    sb.append(getResourceId());
442                    sb.append("]]></column-value></column>");
443    
444                    sb.append("</model>");
445    
446                    return sb.toString();
447            }
448    
449            private static ClassLoader _classLoader = Permission.class.getClassLoader();
450            private static Class<?>[] _escapedModelInterfaces = new Class[] {
451                            Permission.class
452                    };
453            private long _permissionId;
454            private long _companyId;
455            private String _actionId;
456            private String _originalActionId;
457            private long _resourceId;
458            private long _originalResourceId;
459            private boolean _setOriginalResourceId;
460            private long _columnBitmask;
461            private Permission _escapedModel;
462    }