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.service;
016    
017    import aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.portal.kernel.exception.PortalException;
020    import com.liferay.portal.kernel.exception.SystemException;
021    import com.liferay.portal.kernel.search.IndexableType;
022    import com.liferay.portal.kernel.transaction.Isolation;
023    import com.liferay.portal.kernel.transaction.Propagation;
024    import com.liferay.portal.kernel.transaction.Transactional;
025    
026    /**
027     * Provides the local service interface for Company. Methods of this
028     * service will not have security checks based on the propagated JAAS
029     * credentials because this service can only be accessed from within the same
030     * VM.
031     *
032     * @author Brian Wing Shun Chan
033     * @see CompanyLocalServiceUtil
034     * @see com.liferay.portal.service.base.CompanyLocalServiceBaseImpl
035     * @see com.liferay.portal.service.impl.CompanyLocalServiceImpl
036     * @generated
037     */
038    @ProviderType
039    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
040            PortalException.class, SystemException.class})
041    public interface CompanyLocalService extends BaseLocalService,
042            PersistedModelLocalService {
043            /*
044             * NOTE FOR DEVELOPERS:
045             *
046             * Never modify or reference this interface directly. Always use {@link CompanyLocalServiceUtil} to access the company local service. Add custom service methods to {@link com.liferay.portal.service.impl.CompanyLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
047             */
048    
049            /**
050            * Adds the company to the database. Also notifies the appropriate model listeners.
051            *
052            * @param company the company
053            * @return the company that was added
054            */
055            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX)
056            public com.liferay.portal.model.Company addCompany(
057                    com.liferay.portal.model.Company company);
058    
059            /**
060            * Adds a company.
061            *
062            * @param webId the the company's web domain
063            * @param virtualHostname the company's virtual host name
064            * @param mx the company's mail domain
065            * @param system whether the company is the very first company (i.e., the
066            super company)
067            * @param maxUsers the max number of company users (optionally
068            <code>0</code>)
069            * @param active whether the company is active
070            * @return the company
071            * @throws PortalException if the web domain, virtual host name, or mail
072            domain was invalid
073            */
074            public com.liferay.portal.model.Company addCompany(java.lang.String webId,
075                    java.lang.String virtualHostname, java.lang.String mx, boolean system,
076                    int maxUsers, boolean active) throws PortalException;
077    
078            /**
079            * Returns the company with the web domain.
080            *
081            * The method sets mail domain to the web domain to the default name set in
082            * portal.properties
083            *
084            * @param webId the company's web domain
085            * @return the company with the web domain
086            * @throws PortalException if a portal exception occurred
087            */
088            public com.liferay.portal.model.Company checkCompany(java.lang.String webId)
089                    throws PortalException;
090    
091            /**
092            * Returns the company with the web domain and mail domain. If no such
093            * company exits, the method will create a new company.
094            *
095            * The method goes through a series of checks to ensure that the company
096            * contains default users, groups, etc.
097            *
098            * @param webId the company's web domain
099            * @param mx the company's mail domain
100            * @return the company with the web domain and mail domain
101            * @throws PortalException if a portal exception occurred
102            */
103            public com.liferay.portal.model.Company checkCompany(
104                    java.lang.String webId, java.lang.String mx) throws PortalException;
105    
106            /**
107            * Checks if the company has an encryption key. It will create a key if one
108            * does not exist.
109            *
110            * @param companyId the primary key of the company
111            * @throws PortalException if a company with the primary key could not be
112            found
113            */
114            public void checkCompanyKey(long companyId) throws PortalException;
115    
116            /**
117            * Creates a new company with the primary key. Does not add the company to the database.
118            *
119            * @param companyId the primary key for the new company
120            * @return the new company
121            */
122            public com.liferay.portal.model.Company createCompany(long companyId);
123    
124            /**
125            * Deletes the company from the database. Also notifies the appropriate model listeners.
126            *
127            * @param company the company
128            * @return the company that was removed
129            * @throws PortalException
130            */
131            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.DELETE)
132            public com.liferay.portal.model.Company deleteCompany(
133                    com.liferay.portal.model.Company company) throws PortalException;
134    
135            /**
136            * Deletes the company with the primary key from the database. Also notifies the appropriate model listeners.
137            *
138            * @param companyId the primary key of the company
139            * @return the company that was removed
140            * @throws PortalException if a company with the primary key could not be found
141            */
142            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.DELETE)
143            public com.liferay.portal.model.Company deleteCompany(long companyId)
144                    throws PortalException;
145    
146            /**
147            * Deletes the company's logo.
148            *
149            * @param companyId the primary key of the company
150            * @return the deleted logo's company
151            * @throws PortalException if the company with the primary key could not be
152            found or if the company's logo could not be found
153            */
154            public com.liferay.portal.model.Company deleteLogo(long companyId)
155                    throws PortalException;
156    
157            /**
158            * @throws PortalException
159            */
160            @Override
161            public com.liferay.portal.model.PersistedModel deletePersistedModel(
162                    com.liferay.portal.model.PersistedModel persistedModel)
163                    throws PortalException;
164    
165            public com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery();
166    
167            /**
168            * Performs a dynamic query on the database and returns the matching rows.
169            *
170            * @param dynamicQuery the dynamic query
171            * @return the matching rows
172            */
173            public <T> java.util.List<T> dynamicQuery(
174                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery);
175    
176            /**
177            * Performs a dynamic query on the database and returns a range of the matching rows.
178            *
179            * <p>
180            * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link com.liferay.portal.model.impl.CompanyModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
181            * </p>
182            *
183            * @param dynamicQuery the dynamic query
184            * @param start the lower bound of the range of model instances
185            * @param end the upper bound of the range of model instances (not inclusive)
186            * @return the range of matching rows
187            */
188            public <T> java.util.List<T> dynamicQuery(
189                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
190                    int end);
191    
192            /**
193            * Performs a dynamic query on the database and returns an ordered range of the matching rows.
194            *
195            * <p>
196            * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link com.liferay.portal.model.impl.CompanyModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
197            * </p>
198            *
199            * @param dynamicQuery the dynamic query
200            * @param start the lower bound of the range of model instances
201            * @param end the upper bound of the range of model instances (not inclusive)
202            * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
203            * @return the ordered range of matching rows
204            */
205            public <T> java.util.List<T> dynamicQuery(
206                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
207                    int end,
208                    com.liferay.portal.kernel.util.OrderByComparator<T> orderByComparator);
209    
210            /**
211            * Returns the number of rows matching the dynamic query.
212            *
213            * @param dynamicQuery the dynamic query
214            * @return the number of rows matching the dynamic query
215            */
216            public long dynamicQueryCount(
217                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery);
218    
219            /**
220            * Returns the number of rows matching the dynamic query.
221            *
222            * @param dynamicQuery the dynamic query
223            * @param projection the projection to apply to the query
224            * @return the number of rows matching the dynamic query
225            */
226            public long dynamicQueryCount(
227                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery,
228                    com.liferay.portal.kernel.dao.orm.Projection projection);
229    
230            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
231            public com.liferay.portal.model.Company fetchCompany(long companyId);
232    
233            /**
234            * Returns the company with the primary key.
235            *
236            * @param companyId the primary key of the company
237            * @return the company with the primary key, <code>null</code> if a company
238            with the primary key could not be found
239            */
240            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
241            public com.liferay.portal.model.Company fetchCompanyById(long companyId);
242    
243            /**
244            * Returns the company with the virtual host name.
245            *
246            * @param virtualHostname the virtual host name
247            * @return the company with the virtual host name, <code>null</code> if a
248            company with the virtual host could not be found
249            */
250            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
251            public com.liferay.portal.model.Company fetchCompanyByVirtualHost(
252                    java.lang.String virtualHostname);
253    
254            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
255            public com.liferay.portal.kernel.dao.orm.ActionableDynamicQuery getActionableDynamicQuery();
256    
257            /**
258            * Returns the Spring bean ID for this bean.
259            *
260            * @return the Spring bean ID for this bean
261            */
262            public java.lang.String getBeanIdentifier();
263    
264            /**
265            * Returns all the companies.
266            *
267            * @return the companies
268            */
269            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
270            public java.util.List<com.liferay.portal.model.Company> getCompanies();
271    
272            /**
273            * Returns a range of all the companies.
274            *
275            * <p>
276            * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link com.liferay.portal.model.impl.CompanyModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order.
277            * </p>
278            *
279            * @param start the lower bound of the range of companies
280            * @param end the upper bound of the range of companies (not inclusive)
281            * @return the range of companies
282            */
283            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
284            public java.util.List<com.liferay.portal.model.Company> getCompanies(
285                    int start, int end);
286    
287            /**
288            * Returns all the companies used by WSRP.
289            *
290            * @param system whether the company is the very first company (i.e., the
291            super company)
292            * @return the companies used by WSRP
293            */
294            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
295            public java.util.List<com.liferay.portal.model.Company> getCompanies(
296                    boolean system);
297    
298            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
299            public java.util.List<com.liferay.portal.model.Company> getCompanies(
300                    boolean system, int start, int end);
301    
302            /**
303            * Returns the number of companies.
304            *
305            * @return the number of companies
306            */
307            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
308            public int getCompaniesCount();
309    
310            /**
311            * Returns the number of companies used by WSRP.
312            *
313            * @param system whether the company is the very first company (i.e., the
314            super company)
315            * @return the number of companies used by WSRP
316            */
317            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
318            public int getCompaniesCount(boolean system);
319    
320            /**
321            * Returns the company with the primary key.
322            *
323            * @param companyId the primary key of the company
324            * @return the company
325            * @throws PortalException if a company with the primary key could not be found
326            */
327            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
328            public com.liferay.portal.model.Company getCompany(long companyId)
329                    throws PortalException;
330    
331            /**
332            * Returns the company with the primary key.
333            *
334            * @param companyId the primary key of the company
335            * @return the company with the primary key
336            * @throws PortalException if a company with the primary key could not be
337            found
338            */
339            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
340            public com.liferay.portal.model.Company getCompanyById(long companyId)
341                    throws PortalException;
342    
343            /**
344            * Returns the company with the logo.
345            *
346            * @param logoId the ID of the company's logo
347            * @return the company with the logo
348            * @throws PortalException if the company with the logo could not be found
349            */
350            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
351            public com.liferay.portal.model.Company getCompanyByLogoId(long logoId)
352                    throws PortalException;
353    
354            /**
355            * Returns the company with the mail domain.
356            *
357            * @param mx the company's mail domain
358            * @return the company with the mail domain
359            * @throws PortalException if the company with the mail domain could not be
360            found
361            */
362            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
363            public com.liferay.portal.model.Company getCompanyByMx(java.lang.String mx)
364                    throws PortalException;
365    
366            /**
367            * Returns the company with the virtual host name.
368            *
369            * @param virtualHostname the company's virtual host name
370            * @return the company with the virtual host name
371            * @throws PortalException if the company with the virtual host name could
372            not be found or if the virtual host was not associated with a
373            company
374            */
375            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
376            public com.liferay.portal.model.Company getCompanyByVirtualHost(
377                    java.lang.String virtualHostname) throws PortalException;
378    
379            /**
380            * Returns the company with the web domain.
381            *
382            * @param webId the company's web domain
383            * @return the company with the web domain
384            * @throws PortalException if the company with the web domain could not be
385            found
386            */
387            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
388            public com.liferay.portal.model.Company getCompanyByWebId(
389                    java.lang.String webId) throws PortalException;
390    
391            /**
392            * Returns the user's company.
393            *
394            * @param userId the primary key of the user
395            * @return Returns the first company if there is only one company or the
396            user's company if there are more than one company; <code>0</code>
397            otherwise
398            * @throws Exception if a user with the primary key could not be found
399            */
400            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
401            public long getCompanyIdByUserId(long userId) throws java.lang.Exception;
402    
403            @Override
404            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
405            public com.liferay.portal.model.PersistedModel getPersistedModel(
406                    java.io.Serializable primaryKeyObj) throws PortalException;
407    
408            /**
409            * Removes the values that match the keys of the company's preferences.
410            *
411            * This method is called by {@link
412            * com.liferay.portlet.portalsettings.action.EditLDAPServerAction} remotely
413            * through {@link com.liferay.portal.service.CompanyService}.
414            *
415            * @param companyId the primary key of the company
416            * @param keys the company's preferences keys to be remove
417            */
418            public void removePreferences(long companyId, java.lang.String[] keys);
419    
420            /**
421            * Returns an ordered range of all assets that match the keywords in the
422            * company.
423            *
424            * The method is called in {@link
425            * com.liferay.portal.search.PortalOpenSearchImpl} which is not longer used
426            * by the Search portlet.
427            *
428            * @param companyId the primary key of the company
429            * @param userId the primary key of the user
430            * @param keywords the keywords (space separated),which may occur in assets
431            in the company (optionally <code>null</code>)
432            * @param start the lower bound of the range of assets to return
433            * @param end the upper bound of the range of assets to return (not
434            inclusive)
435            * @return the matching assets in the company
436            */
437            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
438            public com.liferay.portal.kernel.search.Hits search(long companyId,
439                    long userId, java.lang.String keywords, int start, int end);
440    
441            /**
442            * Returns an ordered range of all assets that match the keywords in the
443            * portlet within the company.
444            *
445            * @param companyId the primary key of the company
446            * @param userId the primary key of the user
447            * @param portletId the primary key of the portlet (optionally
448            <code>null</code>)
449            * @param groupId the primary key of the group (optionally <code>0</code>)
450            * @param type the mime type of assets to return(optionally
451            <code>null</code>)
452            * @param keywords the keywords (space separated), which may occur in any
453            assets in the portlet (optionally <code>null</code>)
454            * @param start the lower bound of the range of assets to return
455            * @param end the upper bound of the range of assets to return (not
456            inclusive)
457            * @return the matching assets in the portlet within the company
458            */
459            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
460            public com.liferay.portal.kernel.search.Hits search(long companyId,
461                    long userId, java.lang.String portletId, long groupId,
462                    java.lang.String type, java.lang.String keywords, int start, int end);
463    
464            /**
465            * Sets the Spring bean ID for this bean.
466            *
467            * @param beanIdentifier the Spring bean ID for this bean
468            */
469            public void setBeanIdentifier(java.lang.String beanIdentifier);
470    
471            /**
472            * Updates the company in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
473            *
474            * @param company the company
475            * @return the company that was updated
476            */
477            @com.liferay.portal.kernel.search.Indexable(type = IndexableType.REINDEX)
478            public com.liferay.portal.model.Company updateCompany(
479                    com.liferay.portal.model.Company company);
480    
481            /**
482            * Update the company with additional account information.
483            *
484            * @param companyId the primary key of the company
485            * @param virtualHostname the company's virtual host name
486            * @param mx the company's mail domain
487            * @param homeURL the company's home URL (optionally <code>null</code>)
488            * @param logo whether to update the company's logo
489            * @param logoBytes the new logo image data
490            * @param name the company's account name(optionally <code>null</code>)
491            * @param legalName the company's account legal name (optionally
492            <code>null</code>)
493            * @param legalId the company's account legal ID (optionally
494            <code>null</code>)
495            * @param legalType the company's account legal type (optionally
496            <code>null</code>)
497            * @param sicCode the company's account SIC code (optionally
498            <code>null</code>)
499            * @param tickerSymbol the company's account ticker symbol (optionally
500            <code>null</code>)
501            * @param industry the company's account industry (optionally
502            <code>null</code>)
503            * @param type the company's account type (optionally <code>null</code>)
504            * @param size the company's account size (optionally <code>null</code>)
505            * @return the company with the primary key
506            * @throws PortalException if a company with the primary key could not be
507            found or if the new information was invalid
508            */
509            public com.liferay.portal.model.Company updateCompany(long companyId,
510                    java.lang.String virtualHostname, java.lang.String mx,
511                    java.lang.String homeURL, boolean logo, byte[] logoBytes,
512                    java.lang.String name, java.lang.String legalName,
513                    java.lang.String legalId, java.lang.String legalType,
514                    java.lang.String sicCode, java.lang.String tickerSymbol,
515                    java.lang.String industry, java.lang.String type, java.lang.String size)
516                    throws PortalException;
517    
518            /**
519            * Update the company with additional account information.
520            *
521            * @param companyId the primary key of the company
522            * @param virtualHostname the company's virtual host name
523            * @param mx the company's mail domain
524            * @param homeURL the company's home URL (optionally <code>null</code>)
525            * @param name the company's account name(optionally <code>null</code>)
526            * @param legalName the company's account legal name (optionally
527            <code>null</code>)
528            * @param legalId the company's account legal ID (optionally
529            <code>null</code>)
530            * @param legalType the company's account legal type (optionally
531            <code>null</code>)
532            * @param sicCode the company's account SIC code (optionally
533            <code>null</code>)
534            * @param tickerSymbol the company's account ticker symbol (optionally
535            <code>null</code>)
536            * @param industry the company's account industry (optionally
537            <code>null</code>)
538            * @param type the company's account type (optionally
539            <code>null</code>)
540            * @param size the company's account size (optionally
541            <code>null</code>)
542            * @return the company with the primary key
543            * @throws PortalException if a company with the primary key could not
544            be found or if the new information was invalid
545            * @deprecated As of 7.0.0, replaced by {@link #updateCompany(long, String,
546            String, String, boolean, byte[], String, String, String,
547            String, String, String, String, String, String)}
548            */
549            @java.lang.Deprecated
550            public com.liferay.portal.model.Company updateCompany(long companyId,
551                    java.lang.String virtualHostname, java.lang.String mx,
552                    java.lang.String homeURL, java.lang.String name,
553                    java.lang.String legalName, java.lang.String legalId,
554                    java.lang.String legalType, java.lang.String sicCode,
555                    java.lang.String tickerSymbol, java.lang.String industry,
556                    java.lang.String type, java.lang.String size) throws PortalException;
557    
558            /**
559            * Updates the company.
560            *
561            * @param companyId the primary key of the company
562            * @param virtualHostname the company's virtual host name
563            * @param mx the company's mail domain
564            * @param maxUsers the max number of company users (optionally
565            <code>0</code>)
566            * @param active whether the company is active
567            * @return the company with the primary key
568            * @throws PortalException if a company with primary key could not be found
569            or if the new information was invalid
570            */
571            public com.liferay.portal.model.Company updateCompany(long companyId,
572                    java.lang.String virtualHostname, java.lang.String mx, int maxUsers,
573                    boolean active) throws PortalException;
574    
575            /**
576            * Update the company's display.
577            *
578            * @param companyId the primary key of the company
579            * @param languageId the ID of the company's default user's language
580            * @param timeZoneId the ID of the company's default user's time zone
581            * @throws PortalException if the company's default user could not be found
582            */
583            public void updateDisplay(long companyId, java.lang.String languageId,
584                    java.lang.String timeZoneId) throws PortalException;
585    
586            /**
587            * Updates the company's logo.
588            *
589            * @param companyId the primary key of the company
590            * @param bytes the bytes of the company's logo image
591            * @return the company with the primary key
592            * @throws PortalException if the company's logo ID could not be found or if
593            the logo's image was corrupted
594            */
595            public com.liferay.portal.model.Company updateLogo(long companyId,
596                    byte[] bytes) throws PortalException;
597    
598            /**
599            * Updates the company's logo.
600            *
601            * @param companyId the primary key of the company
602            * @param file the file of the company's logo image
603            * @return the company with the primary key
604            * @throws PortalException the company's logo ID could not be found or if
605            the logo's image was corrupted
606            */
607            public com.liferay.portal.model.Company updateLogo(long companyId,
608                    java.io.File file) throws PortalException;
609    
610            /**
611            * Update the company's logo.
612            *
613            * @param companyId the primary key of the company
614            * @param is the input stream of the company's logo image
615            * @return the company with the primary key
616            * @throws PortalException if the company's logo ID could not be found or if
617            the company's logo image was corrupted
618            */
619            public com.liferay.portal.model.Company updateLogo(long companyId,
620                    java.io.InputStream is) throws PortalException;
621    
622            /**
623            * Updates the company's preferences. The company's default properties are
624            * found in portal.properties.
625            *
626            * @param companyId the primary key of the company
627            * @param properties the company's properties. See {@link
628            UnicodeProperties}
629            * @throws PortalException if the properties contained new locales that were
630            not supported
631            */
632            public void updatePreferences(long companyId,
633                    com.liferay.portal.kernel.util.UnicodeProperties properties)
634                    throws PortalException;
635    
636            /**
637            * Updates the company's security properties.
638            *
639            * @param companyId the primary key of the company
640            * @param authType the company's method of authenticating users
641            * @param autoLogin whether to allow users to select the "remember me"
642            feature
643            * @param sendPassword whether to allow users to ask the company to send
644            their password
645            * @param strangers whether to allow strangers to create accounts register
646            themselves in the company
647            * @param strangersWithMx whether to allow strangers to create accounts with
648            email addresses that match the company mail suffix
649            * @param strangersVerify whether to require strangers who create accounts
650            to be verified via email
651            * @param siteLogo whether to allow site administrators to use their own
652            logo instead of the enterprise logo
653            */
654            public void updateSecurity(long companyId, java.lang.String authType,
655                    boolean autoLogin, boolean sendPassword, boolean strangers,
656                    boolean strangersWithMx, boolean strangersVerify, boolean siteLogo);
657    }