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