001    /**
002     * Copyright (c) 2000-2012 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.List;
038    
039    /**
040     * 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.
041     *
042     * <p>
043     * 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}.
044     * </p>
045     *
046     * @author Brian Wing Shun Chan
047     * @see PermissionImpl
048     * @see com.liferay.portal.model.Permission
049     * @see com.liferay.portal.model.PermissionModel
050     * @generated
051     */
052    @JSON(strict = true)
053    public class PermissionModelImpl extends BaseModelImpl<Permission>
054            implements PermissionModel {
055            /*
056             * NOTE FOR DEVELOPERS:
057             *
058             * 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.
059             */
060            public static final String TABLE_NAME = "Permission_";
061            public static final Object[][] TABLE_COLUMNS = {
062                            { "permissionId", Types.BIGINT },
063                            { "companyId", Types.BIGINT },
064                            { "actionId", Types.VARCHAR },
065                            { "resourceId", Types.BIGINT }
066                    };
067            public static final String TABLE_SQL_CREATE = "create table Permission_ (permissionId LONG not null primary key,companyId LONG,actionId VARCHAR(75) null,resourceId LONG)";
068            public static final String TABLE_SQL_DROP = "drop table Permission_";
069            public static final String DATA_SOURCE = "liferayDataSource";
070            public static final String SESSION_FACTORY = "liferaySessionFactory";
071            public static final String TX_MANAGER = "liferayTransactionManager";
072            public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
073                                    "value.object.entity.cache.enabled.com.liferay.portal.model.Permission"),
074                            true);
075            public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
076                                    "value.object.finder.cache.enabled.com.liferay.portal.model.Permission"),
077                            true);
078            public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
079                                    "value.object.column.bitmask.enabled.com.liferay.portal.model.Permission"),
080                            true);
081            public static long ACTIONID_COLUMN_BITMASK = 1L;
082            public static long RESOURCEID_COLUMN_BITMASK = 2L;
083    
084            /**
085             * Converts the soap model instance into a normal model instance.
086             *
087             * @param soapModel the soap model instance to convert
088             * @return the normal model instance
089             */
090            public static Permission toModel(PermissionSoap soapModel) {
091                    Permission model = new PermissionImpl();
092    
093                    model.setPermissionId(soapModel.getPermissionId());
094                    model.setCompanyId(soapModel.getCompanyId());
095                    model.setActionId(soapModel.getActionId());
096                    model.setResourceId(soapModel.getResourceId());
097    
098                    return model;
099            }
100    
101            /**
102             * Converts the soap model instances into normal model instances.
103             *
104             * @param soapModels the soap model instances to convert
105             * @return the normal model instances
106             */
107            public static List<Permission> toModels(PermissionSoap[] soapModels) {
108                    List<Permission> models = new ArrayList<Permission>(soapModels.length);
109    
110                    for (PermissionSoap soapModel : soapModels) {
111                            models.add(toModel(soapModel));
112                    }
113    
114                    return models;
115            }
116    
117            public static final String MAPPING_TABLE_GROUPS_PERMISSIONS_NAME = "Groups_Permissions";
118            public static final Object[][] MAPPING_TABLE_GROUPS_PERMISSIONS_COLUMNS = {
119                            { "groupId", Types.BIGINT },
120                            { "permissionId", Types.BIGINT }
121                    };
122            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))";
123            public static final boolean FINDER_CACHE_ENABLED_GROUPS_PERMISSIONS = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
124                                    "value.object.finder.cache.enabled.Groups_Permissions"), true);
125            public static final String MAPPING_TABLE_ROLES_PERMISSIONS_NAME = "Roles_Permissions";
126            public static final Object[][] MAPPING_TABLE_ROLES_PERMISSIONS_COLUMNS = {
127                            { "roleId", Types.BIGINT },
128                            { "permissionId", Types.BIGINT }
129                    };
130            public static final String MAPPING_TABLE_ROLES_PERMISSIONS_SQL_CREATE = "create table Roles_Permissions (roleId LONG not null,permissionId LONG not null,primary key (roleId, permissionId))";
131            public static final boolean FINDER_CACHE_ENABLED_ROLES_PERMISSIONS = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
132                                    "value.object.finder.cache.enabled.Roles_Permissions"), true);
133            public static final String MAPPING_TABLE_USERS_PERMISSIONS_NAME = "Users_Permissions";
134            public static final Object[][] MAPPING_TABLE_USERS_PERMISSIONS_COLUMNS = {
135                            { "userId", Types.BIGINT },
136                            { "permissionId", Types.BIGINT }
137                    };
138            public static final String MAPPING_TABLE_USERS_PERMISSIONS_SQL_CREATE = "create table Users_Permissions (userId LONG not null,permissionId LONG not null,primary key (userId, permissionId))";
139            public static final boolean FINDER_CACHE_ENABLED_USERS_PERMISSIONS = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
140                                    "value.object.finder.cache.enabled.Users_Permissions"), true);
141            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
142                                    "lock.expiration.time.com.liferay.portal.model.Permission"));
143    
144            public PermissionModelImpl() {
145            }
146    
147            public long getPrimaryKey() {
148                    return _permissionId;
149            }
150    
151            public void setPrimaryKey(long primaryKey) {
152                    setPermissionId(primaryKey);
153            }
154    
155            public Serializable getPrimaryKeyObj() {
156                    return new Long(_permissionId);
157            }
158    
159            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
160                    setPrimaryKey(((Long)primaryKeyObj).longValue());
161            }
162    
163            public Class<?> getModelClass() {
164                    return Permission.class;
165            }
166    
167            public String getModelClassName() {
168                    return Permission.class.getName();
169            }
170    
171            @JSON
172            public long getPermissionId() {
173                    return _permissionId;
174            }
175    
176            public void setPermissionId(long permissionId) {
177                    _permissionId = permissionId;
178            }
179    
180            @JSON
181            public long getCompanyId() {
182                    return _companyId;
183            }
184    
185            public void setCompanyId(long companyId) {
186                    _companyId = companyId;
187            }
188    
189            @JSON
190            public String getActionId() {
191                    if (_actionId == null) {
192                            return StringPool.BLANK;
193                    }
194                    else {
195                            return _actionId;
196                    }
197            }
198    
199            public void setActionId(String actionId) {
200                    _columnBitmask |= ACTIONID_COLUMN_BITMASK;
201    
202                    if (_originalActionId == null) {
203                            _originalActionId = _actionId;
204                    }
205    
206                    _actionId = actionId;
207            }
208    
209            public String getOriginalActionId() {
210                    return GetterUtil.getString(_originalActionId);
211            }
212    
213            @JSON
214            public long getResourceId() {
215                    return _resourceId;
216            }
217    
218            public void setResourceId(long resourceId) {
219                    _columnBitmask |= RESOURCEID_COLUMN_BITMASK;
220    
221                    if (!_setOriginalResourceId) {
222                            _setOriginalResourceId = true;
223    
224                            _originalResourceId = _resourceId;
225                    }
226    
227                    _resourceId = resourceId;
228            }
229    
230            public long getOriginalResourceId() {
231                    return _originalResourceId;
232            }
233    
234            public long getColumnBitmask() {
235                    return _columnBitmask;
236            }
237    
238            @Override
239            public Permission toEscapedModel() {
240                    if (_escapedModelProxy == null) {
241                            _escapedModelProxy = (Permission)ProxyUtil.newProxyInstance(_classLoader,
242                                            _escapedModelProxyInterfaces,
243                                            new AutoEscapeBeanHandler(this));
244                    }
245    
246                    return _escapedModelProxy;
247            }
248    
249            @Override
250            public ExpandoBridge getExpandoBridge() {
251                    if (_expandoBridge == null) {
252                            _expandoBridge = ExpandoBridgeFactoryUtil.getExpandoBridge(getCompanyId(),
253                                            Permission.class.getName(), getPrimaryKey());
254                    }
255    
256                    return _expandoBridge;
257            }
258    
259            @Override
260            public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
261                    getExpandoBridge().setAttributes(serviceContext);
262            }
263    
264            @Override
265            public Object clone() {
266                    PermissionImpl permissionImpl = new PermissionImpl();
267    
268                    permissionImpl.setPermissionId(getPermissionId());
269                    permissionImpl.setCompanyId(getCompanyId());
270                    permissionImpl.setActionId(getActionId());
271                    permissionImpl.setResourceId(getResourceId());
272    
273                    permissionImpl.resetOriginalValues();
274    
275                    return permissionImpl;
276            }
277    
278            public int compareTo(Permission permission) {
279                    long primaryKey = permission.getPrimaryKey();
280    
281                    if (getPrimaryKey() < primaryKey) {
282                            return -1;
283                    }
284                    else if (getPrimaryKey() > primaryKey) {
285                            return 1;
286                    }
287                    else {
288                            return 0;
289                    }
290            }
291    
292            @Override
293            public boolean equals(Object obj) {
294                    if (obj == null) {
295                            return false;
296                    }
297    
298                    Permission permission = null;
299    
300                    try {
301                            permission = (Permission)obj;
302                    }
303                    catch (ClassCastException cce) {
304                            return false;
305                    }
306    
307                    long primaryKey = permission.getPrimaryKey();
308    
309                    if (getPrimaryKey() == primaryKey) {
310                            return true;
311                    }
312                    else {
313                            return false;
314                    }
315            }
316    
317            @Override
318            public int hashCode() {
319                    return (int)getPrimaryKey();
320            }
321    
322            @Override
323            public void resetOriginalValues() {
324                    PermissionModelImpl permissionModelImpl = this;
325    
326                    permissionModelImpl._originalActionId = permissionModelImpl._actionId;
327    
328                    permissionModelImpl._originalResourceId = permissionModelImpl._resourceId;
329    
330                    permissionModelImpl._setOriginalResourceId = false;
331    
332                    permissionModelImpl._columnBitmask = 0;
333            }
334    
335            @Override
336            public CacheModel<Permission> toCacheModel() {
337                    PermissionCacheModel permissionCacheModel = new PermissionCacheModel();
338    
339                    permissionCacheModel.permissionId = getPermissionId();
340    
341                    permissionCacheModel.companyId = getCompanyId();
342    
343                    permissionCacheModel.actionId = getActionId();
344    
345                    String actionId = permissionCacheModel.actionId;
346    
347                    if ((actionId != null) && (actionId.length() == 0)) {
348                            permissionCacheModel.actionId = null;
349                    }
350    
351                    permissionCacheModel.resourceId = getResourceId();
352    
353                    return permissionCacheModel;
354            }
355    
356            @Override
357            public String toString() {
358                    StringBundler sb = new StringBundler(9);
359    
360                    sb.append("{permissionId=");
361                    sb.append(getPermissionId());
362                    sb.append(", companyId=");
363                    sb.append(getCompanyId());
364                    sb.append(", actionId=");
365                    sb.append(getActionId());
366                    sb.append(", resourceId=");
367                    sb.append(getResourceId());
368                    sb.append("}");
369    
370                    return sb.toString();
371            }
372    
373            public String toXmlString() {
374                    StringBundler sb = new StringBundler(16);
375    
376                    sb.append("<model><model-name>");
377                    sb.append("com.liferay.portal.model.Permission");
378                    sb.append("</model-name>");
379    
380                    sb.append(
381                            "<column><column-name>permissionId</column-name><column-value><![CDATA[");
382                    sb.append(getPermissionId());
383                    sb.append("]]></column-value></column>");
384                    sb.append(
385                            "<column><column-name>companyId</column-name><column-value><![CDATA[");
386                    sb.append(getCompanyId());
387                    sb.append("]]></column-value></column>");
388                    sb.append(
389                            "<column><column-name>actionId</column-name><column-value><![CDATA[");
390                    sb.append(getActionId());
391                    sb.append("]]></column-value></column>");
392                    sb.append(
393                            "<column><column-name>resourceId</column-name><column-value><![CDATA[");
394                    sb.append(getResourceId());
395                    sb.append("]]></column-value></column>");
396    
397                    sb.append("</model>");
398    
399                    return sb.toString();
400            }
401    
402            private static ClassLoader _classLoader = Permission.class.getClassLoader();
403            private static Class<?>[] _escapedModelProxyInterfaces = new Class[] {
404                            Permission.class
405                    };
406            private long _permissionId;
407            private long _companyId;
408            private String _actionId;
409            private String _originalActionId;
410            private long _resourceId;
411            private long _originalResourceId;
412            private boolean _setOriginalResourceId;
413            private transient ExpandoBridge _expandoBridge;
414            private long _columnBitmask;
415            private Permission _escapedModelProxy;
416    }