001    /**
002     * Copyright (c) 2000-present 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;
016    
017    import aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.portal.kernel.util.Accessor;
020    
021    /**
022     * The extended model interface for the PluginSetting service. Represents a row in the "PluginSetting" database table, with each column mapped to a property of this class.
023     *
024     * @author Brian Wing Shun Chan
025     * @see PluginSettingModel
026     * @see com.liferay.portal.model.impl.PluginSettingImpl
027     * @see com.liferay.portal.model.impl.PluginSettingModelImpl
028     * @generated
029     */
030    @ProviderType
031    public interface PluginSetting extends PluginSettingModel, PersistedModel {
032            /*
033             * NOTE FOR DEVELOPERS:
034             *
035             * Never modify this interface directly. Add methods to {@link com.liferay.portal.model.impl.PluginSettingImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
036             */
037            public static final Accessor<PluginSetting, Long> PLUGIN_SETTING_ID_ACCESSOR =
038                    new Accessor<PluginSetting, Long>() {
039                            @Override
040                            public Long get(PluginSetting pluginSetting) {
041                                    return pluginSetting.getPluginSettingId();
042                            }
043    
044                            @Override
045                            public Class<Long> getAttributeClass() {
046                                    return Long.class;
047                            }
048    
049                            @Override
050                            public Class<PluginSetting> getTypeClass() {
051                                    return PluginSetting.class;
052                            }
053                    };
054    
055            /**
056            * Adds a role to the list of roles.
057            */
058            public void addRole(java.lang.String role);
059    
060            /**
061            * Returns an array of required roles of the plugin.
062            *
063            * @return an array of required roles of the plugin
064            */
065            public java.lang.String[] getRolesArray();
066    
067            /**
068            * Returns <code>true</code> if the user has permission to use this plugin
069            *
070            * @param userId the primary key of the user
071            * @return <code>true</code> if the user has permission to use this plugin
072            */
073            public boolean hasPermission(long userId);
074    
075            /**
076            * Returns <code>true</code> if the plugin has a role with the specified
077            * name.
078            *
079            * @param roleName the role name
080            * @return <code>true</code> if the plugin has a role with the specified
081            name
082            */
083            public boolean hasRoleWithName(java.lang.String roleName);
084    
085            /**
086            * Sets an array of required roles of the plugin.
087            */
088            public void setRolesArray(java.lang.String[] rolesArray);
089    }