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.persistence;
016    
017    import aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.portal.model.Account;
020    
021    /**
022     * The persistence interface for the account service.
023     *
024     * <p>
025     * Caching information and settings can be found in <code>portal.properties</code>
026     * </p>
027     *
028     * @author Brian Wing Shun Chan
029     * @see com.liferay.portal.service.persistence.impl.AccountPersistenceImpl
030     * @see AccountUtil
031     * @generated
032     */
033    @ProviderType
034    public interface AccountPersistence extends BasePersistence<Account> {
035            /*
036             * NOTE FOR DEVELOPERS:
037             *
038             * Never modify or reference this interface directly. Always use {@link AccountUtil} to access the account persistence. Modify <code>service.xml</code> and rerun ServiceBuilder to regenerate this interface.
039             */
040    
041            /**
042            * Caches the account in the entity cache if it is enabled.
043            *
044            * @param account the account
045            */
046            public void cacheResult(Account account);
047    
048            /**
049            * Caches the accounts in the entity cache if it is enabled.
050            *
051            * @param accounts the accounts
052            */
053            public void cacheResult(java.util.List<Account> accounts);
054    
055            /**
056            * Creates a new account with the primary key. Does not add the account to the database.
057            *
058            * @param accountId the primary key for the new account
059            * @return the new account
060            */
061            public Account create(long accountId);
062    
063            /**
064            * Removes the account with the primary key from the database. Also notifies the appropriate model listeners.
065            *
066            * @param accountId the primary key of the account
067            * @return the account that was removed
068            * @throws NoSuchAccountException if a account with the primary key could not be found
069            */
070            public Account remove(long accountId)
071                    throws com.liferay.portal.exception.NoSuchAccountException;
072    
073            public Account updateImpl(Account account);
074    
075            /**
076            * Returns the account with the primary key or throws a {@link NoSuchAccountException} if it could not be found.
077            *
078            * @param accountId the primary key of the account
079            * @return the account
080            * @throws NoSuchAccountException if a account with the primary key could not be found
081            */
082            public Account findByPrimaryKey(long accountId)
083                    throws com.liferay.portal.exception.NoSuchAccountException;
084    
085            /**
086            * Returns the account with the primary key or returns <code>null</code> if it could not be found.
087            *
088            * @param accountId the primary key of the account
089            * @return the account, or <code>null</code> if a account with the primary key could not be found
090            */
091            public Account fetchByPrimaryKey(long accountId);
092    
093            @Override
094            public java.util.Map<java.io.Serializable, Account> fetchByPrimaryKeys(
095                    java.util.Set<java.io.Serializable> primaryKeys);
096    
097            /**
098            * Returns all the accounts.
099            *
100            * @return the accounts
101            */
102            public java.util.List<Account> findAll();
103    
104            /**
105            * Returns a range of all the accounts.
106            *
107            * <p>
108            * 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 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 QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link AccountModelImpl}. 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.
109            * </p>
110            *
111            * @param start the lower bound of the range of accounts
112            * @param end the upper bound of the range of accounts (not inclusive)
113            * @return the range of accounts
114            */
115            public java.util.List<Account> findAll(int start, int end);
116    
117            /**
118            * Returns an ordered range of all the accounts.
119            *
120            * <p>
121            * 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 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 QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link AccountModelImpl}. 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.
122            * </p>
123            *
124            * @param start the lower bound of the range of accounts
125            * @param end the upper bound of the range of accounts (not inclusive)
126            * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
127            * @return the ordered range of accounts
128            */
129            public java.util.List<Account> findAll(int start, int end,
130                    com.liferay.portal.kernel.util.OrderByComparator<Account> orderByComparator);
131    
132            /**
133            * Returns an ordered range of all the accounts.
134            *
135            * <p>
136            * 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 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 QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link AccountModelImpl}. 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.
137            * </p>
138            *
139            * @param start the lower bound of the range of accounts
140            * @param end the upper bound of the range of accounts (not inclusive)
141            * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
142            * @param retrieveFromCache whether to retrieve from the finder cache
143            * @return the ordered range of accounts
144            */
145            public java.util.List<Account> findAll(int start, int end,
146                    com.liferay.portal.kernel.util.OrderByComparator<Account> orderByComparator,
147                    boolean retrieveFromCache);
148    
149            /**
150            * Removes all the accounts from the database.
151            */
152            public void removeAll();
153    
154            /**
155            * Returns the number of accounts.
156            *
157            * @return the number of accounts
158            */
159            public int countAll();
160    
161            @Override
162            public java.util.Set<java.lang.String> getBadColumnNames();
163    }