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.kernel.service;
016    
017    import aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.portal.kernel.dao.orm.ActionableDynamicQuery;
020    import com.liferay.portal.kernel.dao.orm.DynamicQuery;
021    import com.liferay.portal.kernel.dao.orm.IndexableActionableDynamicQuery;
022    import com.liferay.portal.kernel.dao.orm.Projection;
023    import com.liferay.portal.kernel.exception.PortalException;
024    import com.liferay.portal.kernel.exception.SystemException;
025    import com.liferay.portal.kernel.model.LayoutBranch;
026    import com.liferay.portal.kernel.model.PersistedModel;
027    import com.liferay.portal.kernel.search.Indexable;
028    import com.liferay.portal.kernel.search.IndexableType;
029    import com.liferay.portal.kernel.transaction.Isolation;
030    import com.liferay.portal.kernel.transaction.Propagation;
031    import com.liferay.portal.kernel.transaction.Transactional;
032    import com.liferay.portal.kernel.util.OrderByComparator;
033    
034    import java.io.Serializable;
035    
036    import java.util.List;
037    
038    /**
039     * Provides the local service interface for LayoutBranch. Methods of this
040     * service will not have security checks based on the propagated JAAS
041     * credentials because this service can only be accessed from within the same
042     * VM.
043     *
044     * @author Brian Wing Shun Chan
045     * @see LayoutBranchLocalServiceUtil
046     * @see com.liferay.portal.service.base.LayoutBranchLocalServiceBaseImpl
047     * @see com.liferay.portal.service.impl.LayoutBranchLocalServiceImpl
048     * @generated
049     */
050    @ProviderType
051    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
052            PortalException.class, SystemException.class})
053    public interface LayoutBranchLocalService extends BaseLocalService,
054            PersistedModelLocalService {
055            /*
056             * NOTE FOR DEVELOPERS:
057             *
058             * Never modify or reference this interface directly. Always use {@link LayoutBranchLocalServiceUtil} to access the layout branch local service. Add custom service methods to {@link com.liferay.portal.service.impl.LayoutBranchLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
059             */
060            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
061            public ActionableDynamicQuery getActionableDynamicQuery();
062    
063            public DynamicQuery dynamicQuery();
064    
065            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
066            public IndexableActionableDynamicQuery getIndexableActionableDynamicQuery();
067    
068            /**
069            * Adds the layout branch to the database. Also notifies the appropriate model listeners.
070            *
071            * @param layoutBranch the layout branch
072            * @return the layout branch that was added
073            */
074            @Indexable(type = IndexableType.REINDEX)
075            public LayoutBranch addLayoutBranch(LayoutBranch layoutBranch);
076    
077            public LayoutBranch addLayoutBranch(long layoutRevisionId,
078                    java.lang.String name, java.lang.String description, boolean master,
079                    ServiceContext serviceContext) throws PortalException;
080    
081            public LayoutBranch addLayoutBranch(long layoutSetBranchId, long plid,
082                    java.lang.String name, java.lang.String description, boolean master,
083                    ServiceContext serviceContext) throws PortalException;
084    
085            /**
086            * Creates a new layout branch with the primary key. Does not add the layout branch to the database.
087            *
088            * @param layoutBranchId the primary key for the new layout branch
089            * @return the new layout branch
090            */
091            public LayoutBranch createLayoutBranch(long layoutBranchId);
092    
093            /**
094            * Deletes the layout branch from the database. Also notifies the appropriate model listeners.
095            *
096            * @param layoutBranch the layout branch
097            * @return the layout branch that was removed
098            */
099            @Indexable(type = IndexableType.DELETE)
100            public LayoutBranch deleteLayoutBranch(LayoutBranch layoutBranch);
101    
102            /**
103            * Deletes the layout branch with the primary key from the database. Also notifies the appropriate model listeners.
104            *
105            * @param layoutBranchId the primary key of the layout branch
106            * @return the layout branch that was removed
107            * @throws PortalException if a layout branch with the primary key could not be found
108            */
109            @Indexable(type = IndexableType.DELETE)
110            public LayoutBranch deleteLayoutBranch(long layoutBranchId)
111                    throws PortalException;
112    
113            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
114            public LayoutBranch fetchLayoutBranch(long layoutBranchId);
115    
116            /**
117            * Returns the layout branch with the primary key.
118            *
119            * @param layoutBranchId the primary key of the layout branch
120            * @return the layout branch
121            * @throws PortalException if a layout branch with the primary key could not be found
122            */
123            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
124            public LayoutBranch getLayoutBranch(long layoutBranchId)
125                    throws PortalException;
126    
127            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
128            public LayoutBranch getMasterLayoutBranch(long layoutSetBranchId, long plid)
129                    throws PortalException;
130    
131            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
132            public LayoutBranch getMasterLayoutBranch(long layoutSetBranchId,
133                    long plid, ServiceContext serviceContext) throws PortalException;
134    
135            /**
136            * Updates the layout branch in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
137            *
138            * @param layoutBranch the layout branch
139            * @return the layout branch that was updated
140            */
141            @Indexable(type = IndexableType.REINDEX)
142            public LayoutBranch updateLayoutBranch(LayoutBranch layoutBranch);
143    
144            public LayoutBranch updateLayoutBranch(long layoutBranchId,
145                    java.lang.String name, java.lang.String description,
146                    ServiceContext serviceContext) throws PortalException;
147    
148            /**
149            * @throws PortalException
150            */
151            @Override
152            public PersistedModel deletePersistedModel(PersistedModel persistedModel)
153                    throws PortalException;
154    
155            @Override
156            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
157            public PersistedModel getPersistedModel(Serializable primaryKeyObj)
158                    throws PortalException;
159    
160            /**
161            * Returns the number of layout branchs.
162            *
163            * @return the number of layout branchs
164            */
165            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
166            public int getLayoutBranchsCount();
167    
168            /**
169            * Returns the OSGi service identifier.
170            *
171            * @return the OSGi service identifier
172            */
173            public java.lang.String getOSGiServiceIdentifier();
174    
175            /**
176            * Performs a dynamic query on the database and returns the matching rows.
177            *
178            * @param dynamicQuery the dynamic query
179            * @return the matching rows
180            */
181            public <T> List<T> dynamicQuery(DynamicQuery dynamicQuery);
182    
183            /**
184            * Performs a dynamic query on the database and returns a range of the matching rows.
185            *
186            * <p>
187            * 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.LayoutBranchModelImpl}. 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.
188            * </p>
189            *
190            * @param dynamicQuery the dynamic query
191            * @param start the lower bound of the range of model instances
192            * @param end the upper bound of the range of model instances (not inclusive)
193            * @return the range of matching rows
194            */
195            public <T> List<T> dynamicQuery(DynamicQuery dynamicQuery, int start,
196                    int end);
197    
198            /**
199            * Performs a dynamic query on the database and returns an ordered range of the matching rows.
200            *
201            * <p>
202            * 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.LayoutBranchModelImpl}. 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.
203            * </p>
204            *
205            * @param dynamicQuery the dynamic query
206            * @param start the lower bound of the range of model instances
207            * @param end the upper bound of the range of model instances (not inclusive)
208            * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
209            * @return the ordered range of matching rows
210            */
211            public <T> List<T> dynamicQuery(DynamicQuery dynamicQuery, int start,
212                    int end, OrderByComparator<T> orderByComparator);
213    
214            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
215            public List<LayoutBranch> getLayoutBranches(long layoutSetBranchId,
216                    long plid, int start, int end,
217                    OrderByComparator<LayoutBranch> orderByComparator);
218    
219            /**
220            * Returns a range of all the layout branchs.
221            *
222            * <p>
223            * 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.LayoutBranchModelImpl}. 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.
224            * </p>
225            *
226            * @param start the lower bound of the range of layout branchs
227            * @param end the upper bound of the range of layout branchs (not inclusive)
228            * @return the range of layout branchs
229            */
230            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
231            public List<LayoutBranch> getLayoutBranchs(int start, int end);
232    
233            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
234            public List<LayoutBranch> getLayoutSetBranchLayoutBranches(
235                    long layoutSetBranchId);
236    
237            /**
238            * Returns the number of rows matching the dynamic query.
239            *
240            * @param dynamicQuery the dynamic query
241            * @return the number of rows matching the dynamic query
242            */
243            public long dynamicQueryCount(DynamicQuery dynamicQuery);
244    
245            /**
246            * Returns the number of rows matching the dynamic query.
247            *
248            * @param dynamicQuery the dynamic query
249            * @param projection the projection to apply to the query
250            * @return the number of rows matching the dynamic query
251            */
252            public long dynamicQueryCount(DynamicQuery dynamicQuery,
253                    Projection projection);
254    
255            public void deleteLayoutSetBranchLayoutBranches(long layoutSetBranchId)
256                    throws PortalException;
257    }