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.expando.kernel.service;
016    
017    import aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.expando.kernel.model.ExpandoColumn;
020    import com.liferay.expando.kernel.model.ExpandoValue;
021    
022    import com.liferay.portal.kernel.dao.orm.ActionableDynamicQuery;
023    import com.liferay.portal.kernel.dao.orm.DynamicQuery;
024    import com.liferay.portal.kernel.dao.orm.IndexableActionableDynamicQuery;
025    import com.liferay.portal.kernel.dao.orm.Projection;
026    import com.liferay.portal.kernel.exception.PortalException;
027    import com.liferay.portal.kernel.exception.SystemException;
028    import com.liferay.portal.kernel.model.PersistedModel;
029    import com.liferay.portal.kernel.search.Indexable;
030    import com.liferay.portal.kernel.search.IndexableType;
031    import com.liferay.portal.kernel.service.BaseLocalService;
032    import com.liferay.portal.kernel.service.PersistedModelLocalService;
033    import com.liferay.portal.kernel.transaction.Isolation;
034    import com.liferay.portal.kernel.transaction.Propagation;
035    import com.liferay.portal.kernel.transaction.Transactional;
036    import com.liferay.portal.kernel.util.OrderByComparator;
037    
038    import java.io.Serializable;
039    
040    import java.util.Collection;
041    import java.util.Date;
042    import java.util.List;
043    import java.util.Locale;
044    import java.util.Map;
045    
046    /**
047     * Provides the local service interface for ExpandoValue. Methods of this
048     * service will not have security checks based on the propagated JAAS
049     * credentials because this service can only be accessed from within the same
050     * VM.
051     *
052     * @author Brian Wing Shun Chan
053     * @see ExpandoValueLocalServiceUtil
054     * @see com.liferay.portlet.expando.service.base.ExpandoValueLocalServiceBaseImpl
055     * @see com.liferay.portlet.expando.service.impl.ExpandoValueLocalServiceImpl
056     * @generated
057     */
058    @ProviderType
059    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
060            PortalException.class, SystemException.class})
061    public interface ExpandoValueLocalService extends BaseLocalService,
062            PersistedModelLocalService {
063            /*
064             * NOTE FOR DEVELOPERS:
065             *
066             * Never modify or reference this interface directly. Always use {@link ExpandoValueLocalServiceUtil} to access the expando value local service. Add custom service methods to {@link com.liferay.portlet.expando.service.impl.ExpandoValueLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
067             */
068            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
069            public boolean getData(long companyId, java.lang.String className,
070                    java.lang.String tableName, java.lang.String columnName, long classPK,
071                    boolean defaultData) throws PortalException;
072    
073            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
074            public boolean[] getData(long companyId, java.lang.String className,
075                    java.lang.String tableName, java.lang.String columnName, long classPK,
076                    boolean[] defaultData) throws PortalException;
077    
078            /**
079            * Adds the expando value to the database. Also notifies the appropriate model listeners.
080            *
081            * @param expandoValue the expando value
082            * @return the expando value that was added
083            */
084            @Indexable(type = IndexableType.REINDEX)
085            public ExpandoValue addExpandoValue(ExpandoValue expandoValue);
086    
087            public ExpandoValue addValue(long classNameId, long tableId, long columnId,
088                    long classPK, java.lang.String data) throws PortalException;
089    
090            public ExpandoValue addValue(long companyId, java.lang.String className,
091                    java.lang.String tableName, java.lang.String columnName, long classPK,
092                    boolean data) throws PortalException;
093    
094            public ExpandoValue addValue(long companyId, java.lang.String className,
095                    java.lang.String tableName, java.lang.String columnName, long classPK,
096                    boolean[] data) throws PortalException;
097    
098            public ExpandoValue addValue(long companyId, java.lang.String className,
099                    java.lang.String tableName, java.lang.String columnName, long classPK,
100                    double data) throws PortalException;
101    
102            public ExpandoValue addValue(long companyId, java.lang.String className,
103                    java.lang.String tableName, java.lang.String columnName, long classPK,
104                    double[] data) throws PortalException;
105    
106            public ExpandoValue addValue(long companyId, java.lang.String className,
107                    java.lang.String tableName, java.lang.String columnName, long classPK,
108                    float data) throws PortalException;
109    
110            public ExpandoValue addValue(long companyId, java.lang.String className,
111                    java.lang.String tableName, java.lang.String columnName, long classPK,
112                    float[] data) throws PortalException;
113    
114            public ExpandoValue addValue(long companyId, java.lang.String className,
115                    java.lang.String tableName, java.lang.String columnName, long classPK,
116                    int data) throws PortalException;
117    
118            public ExpandoValue addValue(long companyId, java.lang.String className,
119                    java.lang.String tableName, java.lang.String columnName, long classPK,
120                    int[] data) throws PortalException;
121    
122            public ExpandoValue addValue(long companyId, java.lang.String className,
123                    java.lang.String tableName, java.lang.String columnName, long classPK,
124                    java.lang.Number data) throws PortalException;
125    
126            public ExpandoValue addValue(long companyId, java.lang.String className,
127                    java.lang.String tableName, java.lang.String columnName, long classPK,
128                    java.lang.Number[] data) throws PortalException;
129    
130            public ExpandoValue addValue(long companyId, java.lang.String className,
131                    java.lang.String tableName, java.lang.String columnName, long classPK,
132                    java.lang.Object data) throws PortalException;
133    
134            public ExpandoValue addValue(long companyId, java.lang.String className,
135                    java.lang.String tableName, java.lang.String columnName, long classPK,
136                    java.lang.String data) throws PortalException;
137    
138            public ExpandoValue addValue(long companyId, java.lang.String className,
139                    java.lang.String tableName, java.lang.String columnName, long classPK,
140                    java.lang.String[] data) throws PortalException;
141    
142            public ExpandoValue addValue(long companyId, java.lang.String className,
143                    java.lang.String tableName, java.lang.String columnName, long classPK,
144                    Date data) throws PortalException;
145    
146            public ExpandoValue addValue(long companyId, java.lang.String className,
147                    java.lang.String tableName, java.lang.String columnName, long classPK,
148                    Date[] data) throws PortalException;
149    
150            public ExpandoValue addValue(long companyId, java.lang.String className,
151                    java.lang.String tableName, java.lang.String columnName, long classPK,
152                    Map<Locale, ?> dataMap, Locale defautlLocale) throws PortalException;
153    
154            public ExpandoValue addValue(long companyId, java.lang.String className,
155                    java.lang.String tableName, java.lang.String columnName, long classPK,
156                    long data) throws PortalException;
157    
158            public ExpandoValue addValue(long companyId, java.lang.String className,
159                    java.lang.String tableName, java.lang.String columnName, long classPK,
160                    long[] data) throws PortalException;
161    
162            public ExpandoValue addValue(long companyId, java.lang.String className,
163                    java.lang.String tableName, java.lang.String columnName, long classPK,
164                    short data) throws PortalException;
165    
166            public ExpandoValue addValue(long companyId, java.lang.String className,
167                    java.lang.String tableName, java.lang.String columnName, long classPK,
168                    short[] data) throws PortalException;
169    
170            /**
171            * Creates a new expando value with the primary key. Does not add the expando value to the database.
172            *
173            * @param valueId the primary key for the new expando value
174            * @return the new expando value
175            */
176            public ExpandoValue createExpandoValue(long valueId);
177    
178            /**
179            * Deletes the expando value from the database. Also notifies the appropriate model listeners.
180            *
181            * @param expandoValue the expando value
182            * @return the expando value that was removed
183            */
184            @Indexable(type = IndexableType.DELETE)
185            public ExpandoValue deleteExpandoValue(ExpandoValue expandoValue);
186    
187            /**
188            * Deletes the expando value with the primary key from the database. Also notifies the appropriate model listeners.
189            *
190            * @param valueId the primary key of the expando value
191            * @return the expando value that was removed
192            * @throws PortalException if a expando value with the primary key could not be found
193            */
194            @Indexable(type = IndexableType.DELETE)
195            public ExpandoValue deleteExpandoValue(long valueId)
196                    throws PortalException;
197    
198            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
199            public ExpandoValue fetchExpandoValue(long valueId);
200    
201            /**
202            * Returns the expando value with the primary key.
203            *
204            * @param valueId the primary key of the expando value
205            * @return the expando value
206            * @throws PortalException if a expando value with the primary key could not be found
207            */
208            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
209            public ExpandoValue getExpandoValue(long valueId) throws PortalException;
210    
211            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
212            public ExpandoValue getValue(long columnId, long rowId)
213                    throws PortalException;
214    
215            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
216            public ExpandoValue getValue(long companyId, java.lang.String className,
217                    java.lang.String tableName, java.lang.String columnName, long classPK);
218    
219            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
220            public ExpandoValue getValue(long companyId, long classNameId,
221                    java.lang.String tableName, java.lang.String columnName, long classPK);
222    
223            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
224            public ExpandoValue getValue(long tableId, long columnId, long classPK);
225    
226            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
227            public ExpandoValue getValue(long valueId) throws PortalException;
228    
229            /**
230            * Updates the expando value in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
231            *
232            * @param expandoValue the expando value
233            * @return the expando value that was updated
234            */
235            @Indexable(type = IndexableType.REINDEX)
236            public ExpandoValue updateExpandoValue(ExpandoValue expandoValue);
237    
238            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
239            public ActionableDynamicQuery getActionableDynamicQuery();
240    
241            public DynamicQuery dynamicQuery();
242    
243            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
244            public IndexableActionableDynamicQuery getIndexableActionableDynamicQuery();
245    
246            /**
247            * @throws PortalException
248            */
249            @Override
250            public PersistedModel deletePersistedModel(PersistedModel persistedModel)
251                    throws PortalException;
252    
253            @Override
254            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
255            public PersistedModel getPersistedModel(Serializable primaryKeyObj)
256                    throws PortalException;
257    
258            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
259            public double getData(long companyId, java.lang.String className,
260                    java.lang.String tableName, java.lang.String columnName, long classPK,
261                    double defaultData) throws PortalException;
262    
263            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
264            public double[] getData(long companyId, java.lang.String className,
265                    java.lang.String tableName, java.lang.String columnName, long classPK,
266                    double[] defaultData) throws PortalException;
267    
268            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
269            public float getData(long companyId, java.lang.String className,
270                    java.lang.String tableName, java.lang.String columnName, long classPK,
271                    float defaultData) throws PortalException;
272    
273            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
274            public float[] getData(long companyId, java.lang.String className,
275                    java.lang.String tableName, java.lang.String columnName, long classPK,
276                    float[] defaultData) throws PortalException;
277    
278            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
279            public int getColumnValuesCount(long columnId);
280    
281            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
282            public int getColumnValuesCount(long companyId, java.lang.String className,
283                    java.lang.String tableName, java.lang.String columnName);
284    
285            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
286            public int getColumnValuesCount(long companyId, java.lang.String className,
287                    java.lang.String tableName, java.lang.String columnName,
288                    java.lang.String data);
289    
290            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
291            public int getColumnValuesCount(long companyId, long classNameId,
292                    java.lang.String tableName, java.lang.String columnName);
293    
294            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
295            public int getColumnValuesCount(long companyId, long classNameId,
296                    java.lang.String tableName, java.lang.String columnName,
297                    java.lang.String data);
298    
299            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
300            public int getData(long companyId, java.lang.String className,
301                    java.lang.String tableName, java.lang.String columnName, long classPK,
302                    int defaultData) throws PortalException;
303    
304            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
305            public int getDefaultTableColumnValuesCount(long companyId,
306                    java.lang.String className, java.lang.String columnName);
307    
308            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
309            public int getDefaultTableColumnValuesCount(long companyId,
310                    long classNameId, java.lang.String columnName);
311    
312            /**
313            * Returns the number of expando values.
314            *
315            * @return the number of expando values
316            */
317            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
318            public int getExpandoValuesCount();
319    
320            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
321            public int getRowValuesCount(long companyId, java.lang.String className,
322                    java.lang.String tableName, long classPK);
323    
324            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
325            public int getRowValuesCount(long companyId, long classNameId,
326                    java.lang.String tableName, long classPK);
327    
328            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
329            public int getRowValuesCount(long rowId);
330    
331            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
332            public int[] getData(long companyId, java.lang.String className,
333                    java.lang.String tableName, java.lang.String columnName, long classPK,
334                    int[] defaultData) throws PortalException;
335    
336            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
337            public Serializable getData(long companyId, java.lang.String className,
338                    java.lang.String tableName, java.lang.String columnName, long classPK)
339                    throws PortalException;
340    
341            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
342            public java.lang.Number getData(long companyId, java.lang.String className,
343                    java.lang.String tableName, java.lang.String columnName, long classPK,
344                    java.lang.Number defaultData) throws PortalException;
345    
346            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
347            public java.lang.Number[] getData(long companyId,
348                    java.lang.String className, java.lang.String tableName,
349                    java.lang.String columnName, long classPK,
350                    java.lang.Number[] defaultData) throws PortalException;
351    
352            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
353            public java.lang.String getData(long companyId, java.lang.String className,
354                    java.lang.String tableName, java.lang.String columnName, long classPK,
355                    java.lang.String defaultData) throws PortalException;
356    
357            /**
358            * Returns the OSGi service identifier.
359            *
360            * @return the OSGi service identifier
361            */
362            public java.lang.String getOSGiServiceIdentifier();
363    
364            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
365            public java.lang.String[] getData(long companyId,
366                    java.lang.String className, java.lang.String tableName,
367                    java.lang.String columnName, long classPK,
368                    java.lang.String[] defaultData) throws PortalException;
369    
370            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
371            public Date getData(long companyId, java.lang.String className,
372                    java.lang.String tableName, java.lang.String columnName, long classPK,
373                    Date defaultData) throws PortalException;
374    
375            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
376            public Date[] getData(long companyId, java.lang.String className,
377                    java.lang.String tableName, java.lang.String columnName, long classPK,
378                    Date[] defaultData) throws PortalException;
379    
380            /**
381            * Performs a dynamic query on the database and returns the matching rows.
382            *
383            * @param dynamicQuery the dynamic query
384            * @return the matching rows
385            */
386            public <T> List<T> dynamicQuery(DynamicQuery dynamicQuery);
387    
388            /**
389            * Performs a dynamic query on the database and returns a range of the matching rows.
390            *
391            * <p>
392            * 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.portlet.expando.model.impl.ExpandoValueModelImpl}. 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.
393            * </p>
394            *
395            * @param dynamicQuery the dynamic query
396            * @param start the lower bound of the range of model instances
397            * @param end the upper bound of the range of model instances (not inclusive)
398            * @return the range of matching rows
399            */
400            public <T> List<T> dynamicQuery(DynamicQuery dynamicQuery, int start,
401                    int end);
402    
403            /**
404            * Performs a dynamic query on the database and returns an ordered range of the matching rows.
405            *
406            * <p>
407            * 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.portlet.expando.model.impl.ExpandoValueModelImpl}. 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.
408            * </p>
409            *
410            * @param dynamicQuery the dynamic query
411            * @param start the lower bound of the range of model instances
412            * @param end the upper bound of the range of model instances (not inclusive)
413            * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
414            * @return the ordered range of matching rows
415            */
416            public <T> List<T> dynamicQuery(DynamicQuery dynamicQuery, int start,
417                    int end, OrderByComparator<T> orderByComparator);
418    
419            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
420            public List<ExpandoValue> getColumnValues(long columnId, int start, int end);
421    
422            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
423            public List<ExpandoValue> getColumnValues(long companyId,
424                    java.lang.String className, java.lang.String tableName,
425                    java.lang.String columnName, int start, int end);
426    
427            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
428            public List<ExpandoValue> getColumnValues(long companyId,
429                    java.lang.String className, java.lang.String tableName,
430                    java.lang.String columnName, java.lang.String data, int start, int end);
431    
432            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
433            public List<ExpandoValue> getColumnValues(long companyId, long classNameId,
434                    java.lang.String tableName, java.lang.String columnName, int start,
435                    int end);
436    
437            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
438            public List<ExpandoValue> getColumnValues(long companyId, long classNameId,
439                    java.lang.String tableName, java.lang.String columnName,
440                    java.lang.String data, int start, int end);
441    
442            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
443            public List<ExpandoValue> getDefaultTableColumnValues(long companyId,
444                    java.lang.String className, java.lang.String columnName, int start,
445                    int end);
446    
447            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
448            public List<ExpandoValue> getDefaultTableColumnValues(long companyId,
449                    long classNameId, java.lang.String columnName, int start, int end);
450    
451            /**
452            * Returns a range of all the expando values.
453            *
454            * <p>
455            * 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.portlet.expando.model.impl.ExpandoValueModelImpl}. 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.
456            * </p>
457            *
458            * @param start the lower bound of the range of expando values
459            * @param end the upper bound of the range of expando values (not inclusive)
460            * @return the range of expando values
461            */
462            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
463            public List<ExpandoValue> getExpandoValues(int start, int end);
464    
465            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
466            public List<ExpandoValue> getRowValues(long companyId,
467                    java.lang.String className, java.lang.String tableName, long classPK,
468                    int start, int end);
469    
470            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
471            public List<ExpandoValue> getRowValues(long companyId, long classNameId,
472                    java.lang.String tableName, long classPK, int start, int end);
473    
474            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
475            public List<ExpandoValue> getRowValues(long rowId);
476    
477            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
478            public List<ExpandoValue> getRowValues(long rowId, int start, int end);
479    
480            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
481            public Map<?, ?> getData(long companyId, java.lang.String className,
482                    java.lang.String tableName, java.lang.String columnName, long classPK,
483                    Map<?, ?> defaultData) throws PortalException;
484    
485            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
486            public Map<java.lang.String, Serializable> getData(long companyId,
487                    java.lang.String className, java.lang.String tableName,
488                    Collection<java.lang.String> columnNames, long classPK)
489                    throws PortalException;
490    
491            /**
492            * Returns the number of rows matching the dynamic query.
493            *
494            * @param dynamicQuery the dynamic query
495            * @return the number of rows matching the dynamic query
496            */
497            public long dynamicQueryCount(DynamicQuery dynamicQuery);
498    
499            /**
500            * Returns the number of rows matching the dynamic query.
501            *
502            * @param dynamicQuery the dynamic query
503            * @param projection the projection to apply to the query
504            * @return the number of rows matching the dynamic query
505            */
506            public long dynamicQueryCount(DynamicQuery dynamicQuery,
507                    Projection projection);
508    
509            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
510            public long getData(long companyId, java.lang.String className,
511                    java.lang.String tableName, java.lang.String columnName, long classPK,
512                    long defaultData) throws PortalException;
513    
514            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
515            public long[] getData(long companyId, java.lang.String className,
516                    java.lang.String tableName, java.lang.String columnName, long classPK,
517                    long[] defaultData) throws PortalException;
518    
519            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
520            public short getData(long companyId, java.lang.String className,
521                    java.lang.String tableName, java.lang.String columnName, long classPK,
522                    short defaultData) throws PortalException;
523    
524            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
525            public short[] getData(long companyId, java.lang.String className,
526                    java.lang.String tableName, java.lang.String columnName, long classPK,
527                    short[] defaultData) throws PortalException;
528    
529            public void addValues(long classNameId, long tableId,
530                    List<ExpandoColumn> columns, long classPK,
531                    Map<java.lang.String, java.lang.String> data) throws PortalException;
532    
533            public void addValues(long companyId, java.lang.String className,
534                    java.lang.String tableName, long classPK,
535                    Map<java.lang.String, Serializable> attributes)
536                    throws PortalException;
537    
538            public void addValues(long companyId, long classNameId,
539                    java.lang.String tableName, long classPK,
540                    Map<java.lang.String, Serializable> attributes)
541                    throws PortalException;
542    
543            public void deleteColumnValues(long columnId);
544    
545            public void deleteRowValues(long rowId);
546    
547            public void deleteTableValues(long tableId);
548    
549            public void deleteValue(ExpandoValue value);
550    
551            public void deleteValue(long columnId, long rowId)
552                    throws PortalException;
553    
554            public void deleteValue(long companyId, java.lang.String className,
555                    java.lang.String tableName, java.lang.String columnName, long classPK)
556                    throws PortalException;
557    
558            public void deleteValue(long companyId, long classNameId,
559                    java.lang.String tableName, java.lang.String columnName, long classPK)
560                    throws PortalException;
561    
562            public void deleteValue(long valueId) throws PortalException;
563    
564            public void deleteValues(java.lang.String className, long classPK);
565    
566            public void deleteValues(long classNameId, long classPK);
567    }