1   /**
2    * Copyright (c) 2000-2009 Liferay, Inc. All rights reserved.
3    *
4    * Permission is hereby granted, free of charge, to any person obtaining a copy
5    * of this software and associated documentation files (the "Software"), to deal
6    * in the Software without restriction, including without limitation the rights
7    * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8    * copies of the Software, and to permit persons to whom the Software is
9    * furnished to do so, subject to the following conditions:
10   *
11   * The above copyright notice and this permission notice shall be included in
12   * all copies or substantial portions of the Software.
13   *
14   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20   * SOFTWARE.
21   */
22  
23  package com.liferay.portal.service.persistence;
24  
25  import com.liferay.portal.NoSuchEmailAddressException;
26  import com.liferay.portal.SystemException;
27  import com.liferay.portal.kernel.annotation.BeanReference;
28  import com.liferay.portal.kernel.cache.CacheRegistry;
29  import com.liferay.portal.kernel.dao.orm.DynamicQuery;
30  import com.liferay.portal.kernel.dao.orm.EntityCacheUtil;
31  import com.liferay.portal.kernel.dao.orm.FinderCacheUtil;
32  import com.liferay.portal.kernel.dao.orm.FinderPath;
33  import com.liferay.portal.kernel.dao.orm.Query;
34  import com.liferay.portal.kernel.dao.orm.QueryPos;
35  import com.liferay.portal.kernel.dao.orm.QueryUtil;
36  import com.liferay.portal.kernel.dao.orm.Session;
37  import com.liferay.portal.kernel.log.Log;
38  import com.liferay.portal.kernel.log.LogFactoryUtil;
39  import com.liferay.portal.kernel.util.GetterUtil;
40  import com.liferay.portal.kernel.util.OrderByComparator;
41  import com.liferay.portal.kernel.util.StringPool;
42  import com.liferay.portal.kernel.util.StringUtil;
43  import com.liferay.portal.model.EmailAddress;
44  import com.liferay.portal.model.ModelListener;
45  import com.liferay.portal.model.impl.EmailAddressImpl;
46  import com.liferay.portal.model.impl.EmailAddressModelImpl;
47  import com.liferay.portal.service.persistence.impl.BasePersistenceImpl;
48  
49  import java.util.ArrayList;
50  import java.util.Collections;
51  import java.util.List;
52  
53  /**
54   * <a href="EmailAddressPersistenceImpl.java.html"><b><i>View Source</i></b></a>
55   *
56   * @author Brian Wing Shun Chan
57   *
58   */
59  public class EmailAddressPersistenceImpl extends BasePersistenceImpl
60      implements EmailAddressPersistence {
61      public static final String FINDER_CLASS_NAME_ENTITY = EmailAddressImpl.class.getName();
62      public static final String FINDER_CLASS_NAME_LIST = FINDER_CLASS_NAME_ENTITY +
63          ".List";
64      public static final FinderPath FINDER_PATH_FIND_BY_COMPANYID = new FinderPath(EmailAddressModelImpl.ENTITY_CACHE_ENABLED,
65              EmailAddressModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
66              "findByCompanyId", new String[] { Long.class.getName() });
67      public static final FinderPath FINDER_PATH_FIND_BY_OBC_COMPANYID = new FinderPath(EmailAddressModelImpl.ENTITY_CACHE_ENABLED,
68              EmailAddressModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
69              "findByCompanyId",
70              new String[] {
71                  Long.class.getName(),
72                  
73              "java.lang.Integer", "java.lang.Integer",
74                  "com.liferay.portal.kernel.util.OrderByComparator"
75              });
76      public static final FinderPath FINDER_PATH_COUNT_BY_COMPANYID = new FinderPath(EmailAddressModelImpl.ENTITY_CACHE_ENABLED,
77              EmailAddressModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
78              "countByCompanyId", new String[] { Long.class.getName() });
79      public static final FinderPath FINDER_PATH_FIND_BY_USERID = new FinderPath(EmailAddressModelImpl.ENTITY_CACHE_ENABLED,
80              EmailAddressModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
81              "findByUserId", new String[] { Long.class.getName() });
82      public static final FinderPath FINDER_PATH_FIND_BY_OBC_USERID = new FinderPath(EmailAddressModelImpl.ENTITY_CACHE_ENABLED,
83              EmailAddressModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
84              "findByUserId",
85              new String[] {
86                  Long.class.getName(),
87                  
88              "java.lang.Integer", "java.lang.Integer",
89                  "com.liferay.portal.kernel.util.OrderByComparator"
90              });
91      public static final FinderPath FINDER_PATH_COUNT_BY_USERID = new FinderPath(EmailAddressModelImpl.ENTITY_CACHE_ENABLED,
92              EmailAddressModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
93              "countByUserId", new String[] { Long.class.getName() });
94      public static final FinderPath FINDER_PATH_FIND_BY_C_C = new FinderPath(EmailAddressModelImpl.ENTITY_CACHE_ENABLED,
95              EmailAddressModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
96              "findByC_C",
97              new String[] { Long.class.getName(), Long.class.getName() });
98      public static final FinderPath FINDER_PATH_FIND_BY_OBC_C_C = new FinderPath(EmailAddressModelImpl.ENTITY_CACHE_ENABLED,
99              EmailAddressModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
100             "findByC_C",
101             new String[] {
102                 Long.class.getName(), Long.class.getName(),
103                 
104             "java.lang.Integer", "java.lang.Integer",
105                 "com.liferay.portal.kernel.util.OrderByComparator"
106             });
107     public static final FinderPath FINDER_PATH_COUNT_BY_C_C = new FinderPath(EmailAddressModelImpl.ENTITY_CACHE_ENABLED,
108             EmailAddressModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
109             "countByC_C",
110             new String[] { Long.class.getName(), Long.class.getName() });
111     public static final FinderPath FINDER_PATH_FIND_BY_C_C_C = new FinderPath(EmailAddressModelImpl.ENTITY_CACHE_ENABLED,
112             EmailAddressModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
113             "findByC_C_C",
114             new String[] {
115                 Long.class.getName(), Long.class.getName(), Long.class.getName()
116             });
117     public static final FinderPath FINDER_PATH_FIND_BY_OBC_C_C_C = new FinderPath(EmailAddressModelImpl.ENTITY_CACHE_ENABLED,
118             EmailAddressModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
119             "findByC_C_C",
120             new String[] {
121                 Long.class.getName(), Long.class.getName(), Long.class.getName(),
122                 
123             "java.lang.Integer", "java.lang.Integer",
124                 "com.liferay.portal.kernel.util.OrderByComparator"
125             });
126     public static final FinderPath FINDER_PATH_COUNT_BY_C_C_C = new FinderPath(EmailAddressModelImpl.ENTITY_CACHE_ENABLED,
127             EmailAddressModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
128             "countByC_C_C",
129             new String[] {
130                 Long.class.getName(), Long.class.getName(), Long.class.getName()
131             });
132     public static final FinderPath FINDER_PATH_FIND_BY_C_C_C_P = new FinderPath(EmailAddressModelImpl.ENTITY_CACHE_ENABLED,
133             EmailAddressModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
134             "findByC_C_C_P",
135             new String[] {
136                 Long.class.getName(), Long.class.getName(), Long.class.getName(),
137                 Boolean.class.getName()
138             });
139     public static final FinderPath FINDER_PATH_FIND_BY_OBC_C_C_C_P = new FinderPath(EmailAddressModelImpl.ENTITY_CACHE_ENABLED,
140             EmailAddressModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
141             "findByC_C_C_P",
142             new String[] {
143                 Long.class.getName(), Long.class.getName(), Long.class.getName(),
144                 Boolean.class.getName(),
145                 
146             "java.lang.Integer", "java.lang.Integer",
147                 "com.liferay.portal.kernel.util.OrderByComparator"
148             });
149     public static final FinderPath FINDER_PATH_COUNT_BY_C_C_C_P = new FinderPath(EmailAddressModelImpl.ENTITY_CACHE_ENABLED,
150             EmailAddressModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
151             "countByC_C_C_P",
152             new String[] {
153                 Long.class.getName(), Long.class.getName(), Long.class.getName(),
154                 Boolean.class.getName()
155             });
156     public static final FinderPath FINDER_PATH_FIND_ALL = new FinderPath(EmailAddressModelImpl.ENTITY_CACHE_ENABLED,
157             EmailAddressModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
158             "findAll", new String[0]);
159     public static final FinderPath FINDER_PATH_COUNT_ALL = new FinderPath(EmailAddressModelImpl.ENTITY_CACHE_ENABLED,
160             EmailAddressModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
161             "countAll", new String[0]);
162 
163     public void cacheResult(EmailAddress emailAddress) {
164         EntityCacheUtil.putResult(EmailAddressModelImpl.ENTITY_CACHE_ENABLED,
165             EmailAddressImpl.class, emailAddress.getPrimaryKey(), emailAddress);
166     }
167 
168     public void cacheResult(List<EmailAddress> emailAddresses) {
169         for (EmailAddress emailAddress : emailAddresses) {
170             if (EntityCacheUtil.getResult(
171                         EmailAddressModelImpl.ENTITY_CACHE_ENABLED,
172                         EmailAddressImpl.class, emailAddress.getPrimaryKey(),
173                         this) == null) {
174                 cacheResult(emailAddress);
175             }
176         }
177     }
178 
179     public void clearCache() {
180         CacheRegistry.clear(EmailAddressImpl.class.getName());
181         EntityCacheUtil.clearCache(EmailAddressImpl.class.getName());
182         FinderCacheUtil.clearCache(FINDER_CLASS_NAME_ENTITY);
183         FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
184     }
185 
186     public EmailAddress create(long emailAddressId) {
187         EmailAddress emailAddress = new EmailAddressImpl();
188 
189         emailAddress.setNew(true);
190         emailAddress.setPrimaryKey(emailAddressId);
191 
192         return emailAddress;
193     }
194 
195     public EmailAddress remove(long emailAddressId)
196         throws NoSuchEmailAddressException, SystemException {
197         Session session = null;
198 
199         try {
200             session = openSession();
201 
202             EmailAddress emailAddress = (EmailAddress)session.get(EmailAddressImpl.class,
203                     new Long(emailAddressId));
204 
205             if (emailAddress == null) {
206                 if (_log.isWarnEnabled()) {
207                     _log.warn("No EmailAddress exists with the primary key " +
208                         emailAddressId);
209                 }
210 
211                 throw new NoSuchEmailAddressException(
212                     "No EmailAddress exists with the primary key " +
213                     emailAddressId);
214             }
215 
216             return remove(emailAddress);
217         }
218         catch (NoSuchEmailAddressException nsee) {
219             throw nsee;
220         }
221         catch (Exception e) {
222             throw processException(e);
223         }
224         finally {
225             closeSession(session);
226         }
227     }
228 
229     public EmailAddress remove(EmailAddress emailAddress)
230         throws SystemException {
231         for (ModelListener<EmailAddress> listener : listeners) {
232             listener.onBeforeRemove(emailAddress);
233         }
234 
235         emailAddress = removeImpl(emailAddress);
236 
237         for (ModelListener<EmailAddress> listener : listeners) {
238             listener.onAfterRemove(emailAddress);
239         }
240 
241         return emailAddress;
242     }
243 
244     protected EmailAddress removeImpl(EmailAddress emailAddress)
245         throws SystemException {
246         Session session = null;
247 
248         try {
249             session = openSession();
250 
251             if (emailAddress.isCachedModel() || BatchSessionUtil.isEnabled()) {
252                 Object staleObject = session.get(EmailAddressImpl.class,
253                         emailAddress.getPrimaryKeyObj());
254 
255                 if (staleObject != null) {
256                     session.evict(staleObject);
257                 }
258             }
259 
260             session.delete(emailAddress);
261 
262             session.flush();
263         }
264         catch (Exception e) {
265             throw processException(e);
266         }
267         finally {
268             closeSession(session);
269         }
270 
271         FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
272 
273         EntityCacheUtil.removeResult(EmailAddressModelImpl.ENTITY_CACHE_ENABLED,
274             EmailAddressImpl.class, emailAddress.getPrimaryKey());
275 
276         return emailAddress;
277     }
278 
279     /**
280      * @deprecated Use <code>update(EmailAddress emailAddress, boolean merge)</code>.
281      */
282     public EmailAddress update(EmailAddress emailAddress)
283         throws SystemException {
284         if (_log.isWarnEnabled()) {
285             _log.warn(
286                 "Using the deprecated update(EmailAddress emailAddress) method. Use update(EmailAddress emailAddress, boolean merge) instead.");
287         }
288 
289         return update(emailAddress, false);
290     }
291 
292     /**
293      * Add, update, or merge, the entity. This method also calls the model
294      * listeners to trigger the proper events associated with adding, deleting,
295      * or updating an entity.
296      *
297      * @param        emailAddress the entity to add, update, or merge
298      * @param        merge boolean value for whether to merge the entity. The
299      *                default value is false. Setting merge to true is more
300      *                expensive and should only be true when emailAddress is
301      *                transient. See LEP-5473 for a detailed discussion of this
302      *                method.
303      * @return        true if the portlet can be displayed via Ajax
304      */
305     public EmailAddress update(EmailAddress emailAddress, boolean merge)
306         throws SystemException {
307         boolean isNew = emailAddress.isNew();
308 
309         for (ModelListener<EmailAddress> listener : listeners) {
310             if (isNew) {
311                 listener.onBeforeCreate(emailAddress);
312             }
313             else {
314                 listener.onBeforeUpdate(emailAddress);
315             }
316         }
317 
318         emailAddress = updateImpl(emailAddress, merge);
319 
320         for (ModelListener<EmailAddress> listener : listeners) {
321             if (isNew) {
322                 listener.onAfterCreate(emailAddress);
323             }
324             else {
325                 listener.onAfterUpdate(emailAddress);
326             }
327         }
328 
329         return emailAddress;
330     }
331 
332     public EmailAddress updateImpl(
333         com.liferay.portal.model.EmailAddress emailAddress, boolean merge)
334         throws SystemException {
335         Session session = null;
336 
337         try {
338             session = openSession();
339 
340             BatchSessionUtil.update(session, emailAddress, merge);
341 
342             emailAddress.setNew(false);
343         }
344         catch (Exception e) {
345             throw processException(e);
346         }
347         finally {
348             closeSession(session);
349         }
350 
351         FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
352 
353         EntityCacheUtil.putResult(EmailAddressModelImpl.ENTITY_CACHE_ENABLED,
354             EmailAddressImpl.class, emailAddress.getPrimaryKey(), emailAddress);
355 
356         return emailAddress;
357     }
358 
359     public EmailAddress findByPrimaryKey(long emailAddressId)
360         throws NoSuchEmailAddressException, SystemException {
361         EmailAddress emailAddress = fetchByPrimaryKey(emailAddressId);
362 
363         if (emailAddress == null) {
364             if (_log.isWarnEnabled()) {
365                 _log.warn("No EmailAddress exists with the primary key " +
366                     emailAddressId);
367             }
368 
369             throw new NoSuchEmailAddressException(
370                 "No EmailAddress exists with the primary key " +
371                 emailAddressId);
372         }
373 
374         return emailAddress;
375     }
376 
377     public EmailAddress fetchByPrimaryKey(long emailAddressId)
378         throws SystemException {
379         EmailAddress emailAddress = (EmailAddress)EntityCacheUtil.getResult(EmailAddressModelImpl.ENTITY_CACHE_ENABLED,
380                 EmailAddressImpl.class, emailAddressId, this);
381 
382         if (emailAddress == null) {
383             Session session = null;
384 
385             try {
386                 session = openSession();
387 
388                 emailAddress = (EmailAddress)session.get(EmailAddressImpl.class,
389                         new Long(emailAddressId));
390             }
391             catch (Exception e) {
392                 throw processException(e);
393             }
394             finally {
395                 if (emailAddress != null) {
396                     cacheResult(emailAddress);
397                 }
398 
399                 closeSession(session);
400             }
401         }
402 
403         return emailAddress;
404     }
405 
406     public List<EmailAddress> findByCompanyId(long companyId)
407         throws SystemException {
408         Object[] finderArgs = new Object[] { new Long(companyId) };
409 
410         List<EmailAddress> list = (List<EmailAddress>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_COMPANYID,
411                 finderArgs, this);
412 
413         if (list == null) {
414             Session session = null;
415 
416             try {
417                 session = openSession();
418 
419                 StringBuilder query = new StringBuilder();
420 
421                 query.append(
422                     "FROM com.liferay.portal.model.EmailAddress WHERE ");
423 
424                 query.append("companyId = ?");
425 
426                 query.append(" ");
427 
428                 query.append("ORDER BY ");
429 
430                 query.append("createDate ASC");
431 
432                 Query q = session.createQuery(query.toString());
433 
434                 QueryPos qPos = QueryPos.getInstance(q);
435 
436                 qPos.add(companyId);
437 
438                 list = q.list();
439             }
440             catch (Exception e) {
441                 throw processException(e);
442             }
443             finally {
444                 if (list == null) {
445                     list = new ArrayList<EmailAddress>();
446                 }
447 
448                 cacheResult(list);
449 
450                 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_COMPANYID,
451                     finderArgs, list);
452 
453                 closeSession(session);
454             }
455         }
456 
457         return list;
458     }
459 
460     public List<EmailAddress> findByCompanyId(long companyId, int start, int end)
461         throws SystemException {
462         return findByCompanyId(companyId, start, end, null);
463     }
464 
465     public List<EmailAddress> findByCompanyId(long companyId, int start,
466         int end, OrderByComparator obc) throws SystemException {
467         Object[] finderArgs = new Object[] {
468                 new Long(companyId),
469                 
470                 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
471             };
472 
473         List<EmailAddress> list = (List<EmailAddress>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_OBC_COMPANYID,
474                 finderArgs, this);
475 
476         if (list == null) {
477             Session session = null;
478 
479             try {
480                 session = openSession();
481 
482                 StringBuilder query = new StringBuilder();
483 
484                 query.append(
485                     "FROM com.liferay.portal.model.EmailAddress WHERE ");
486 
487                 query.append("companyId = ?");
488 
489                 query.append(" ");
490 
491                 if (obc != null) {
492                     query.append("ORDER BY ");
493                     query.append(obc.getOrderBy());
494                 }
495 
496                 else {
497                     query.append("ORDER BY ");
498 
499                     query.append("createDate ASC");
500                 }
501 
502                 Query q = session.createQuery(query.toString());
503 
504                 QueryPos qPos = QueryPos.getInstance(q);
505 
506                 qPos.add(companyId);
507 
508                 list = (List<EmailAddress>)QueryUtil.list(q, getDialect(),
509                         start, end);
510             }
511             catch (Exception e) {
512                 throw processException(e);
513             }
514             finally {
515                 if (list == null) {
516                     list = new ArrayList<EmailAddress>();
517                 }
518 
519                 cacheResult(list);
520 
521                 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_OBC_COMPANYID,
522                     finderArgs, list);
523 
524                 closeSession(session);
525             }
526         }
527 
528         return list;
529     }
530 
531     public EmailAddress findByCompanyId_First(long companyId,
532         OrderByComparator obc)
533         throws NoSuchEmailAddressException, SystemException {
534         List<EmailAddress> list = findByCompanyId(companyId, 0, 1, obc);
535 
536         if (list.isEmpty()) {
537             StringBuilder msg = new StringBuilder();
538 
539             msg.append("No EmailAddress exists with the key {");
540 
541             msg.append("companyId=" + companyId);
542 
543             msg.append(StringPool.CLOSE_CURLY_BRACE);
544 
545             throw new NoSuchEmailAddressException(msg.toString());
546         }
547         else {
548             return list.get(0);
549         }
550     }
551 
552     public EmailAddress findByCompanyId_Last(long companyId,
553         OrderByComparator obc)
554         throws NoSuchEmailAddressException, SystemException {
555         int count = countByCompanyId(companyId);
556 
557         List<EmailAddress> list = findByCompanyId(companyId, count - 1, count,
558                 obc);
559 
560         if (list.isEmpty()) {
561             StringBuilder msg = new StringBuilder();
562 
563             msg.append("No EmailAddress exists with the key {");
564 
565             msg.append("companyId=" + companyId);
566 
567             msg.append(StringPool.CLOSE_CURLY_BRACE);
568 
569             throw new NoSuchEmailAddressException(msg.toString());
570         }
571         else {
572             return list.get(0);
573         }
574     }
575 
576     public EmailAddress[] findByCompanyId_PrevAndNext(long emailAddressId,
577         long companyId, OrderByComparator obc)
578         throws NoSuchEmailAddressException, SystemException {
579         EmailAddress emailAddress = findByPrimaryKey(emailAddressId);
580 
581         int count = countByCompanyId(companyId);
582 
583         Session session = null;
584 
585         try {
586             session = openSession();
587 
588             StringBuilder query = new StringBuilder();
589 
590             query.append("FROM com.liferay.portal.model.EmailAddress WHERE ");
591 
592             query.append("companyId = ?");
593 
594             query.append(" ");
595 
596             if (obc != null) {
597                 query.append("ORDER BY ");
598                 query.append(obc.getOrderBy());
599             }
600 
601             else {
602                 query.append("ORDER BY ");
603 
604                 query.append("createDate ASC");
605             }
606 
607             Query q = session.createQuery(query.toString());
608 
609             QueryPos qPos = QueryPos.getInstance(q);
610 
611             qPos.add(companyId);
612 
613             Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
614                     emailAddress);
615 
616             EmailAddress[] array = new EmailAddressImpl[3];
617 
618             array[0] = (EmailAddress)objArray[0];
619             array[1] = (EmailAddress)objArray[1];
620             array[2] = (EmailAddress)objArray[2];
621 
622             return array;
623         }
624         catch (Exception e) {
625             throw processException(e);
626         }
627         finally {
628             closeSession(session);
629         }
630     }
631 
632     public List<EmailAddress> findByUserId(long userId)
633         throws SystemException {
634         Object[] finderArgs = new Object[] { new Long(userId) };
635 
636         List<EmailAddress> list = (List<EmailAddress>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_USERID,
637                 finderArgs, this);
638 
639         if (list == null) {
640             Session session = null;
641 
642             try {
643                 session = openSession();
644 
645                 StringBuilder query = new StringBuilder();
646 
647                 query.append(
648                     "FROM com.liferay.portal.model.EmailAddress WHERE ");
649 
650                 query.append("userId = ?");
651 
652                 query.append(" ");
653 
654                 query.append("ORDER BY ");
655 
656                 query.append("createDate ASC");
657 
658                 Query q = session.createQuery(query.toString());
659 
660                 QueryPos qPos = QueryPos.getInstance(q);
661 
662                 qPos.add(userId);
663 
664                 list = q.list();
665             }
666             catch (Exception e) {
667                 throw processException(e);
668             }
669             finally {
670                 if (list == null) {
671                     list = new ArrayList<EmailAddress>();
672                 }
673 
674                 cacheResult(list);
675 
676                 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_USERID,
677                     finderArgs, list);
678 
679                 closeSession(session);
680             }
681         }
682 
683         return list;
684     }
685 
686     public List<EmailAddress> findByUserId(long userId, int start, int end)
687         throws SystemException {
688         return findByUserId(userId, start, end, null);
689     }
690 
691     public List<EmailAddress> findByUserId(long userId, int start, int end,
692         OrderByComparator obc) throws SystemException {
693         Object[] finderArgs = new Object[] {
694                 new Long(userId),
695                 
696                 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
697             };
698 
699         List<EmailAddress> list = (List<EmailAddress>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_OBC_USERID,
700                 finderArgs, this);
701 
702         if (list == null) {
703             Session session = null;
704 
705             try {
706                 session = openSession();
707 
708                 StringBuilder query = new StringBuilder();
709 
710                 query.append(
711                     "FROM com.liferay.portal.model.EmailAddress WHERE ");
712 
713                 query.append("userId = ?");
714 
715                 query.append(" ");
716 
717                 if (obc != null) {
718                     query.append("ORDER BY ");
719                     query.append(obc.getOrderBy());
720                 }
721 
722                 else {
723                     query.append("ORDER BY ");
724 
725                     query.append("createDate ASC");
726                 }
727 
728                 Query q = session.createQuery(query.toString());
729 
730                 QueryPos qPos = QueryPos.getInstance(q);
731 
732                 qPos.add(userId);
733 
734                 list = (List<EmailAddress>)QueryUtil.list(q, getDialect(),
735                         start, end);
736             }
737             catch (Exception e) {
738                 throw processException(e);
739             }
740             finally {
741                 if (list == null) {
742                     list = new ArrayList<EmailAddress>();
743                 }
744 
745                 cacheResult(list);
746 
747                 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_OBC_USERID,
748                     finderArgs, list);
749 
750                 closeSession(session);
751             }
752         }
753 
754         return list;
755     }
756 
757     public EmailAddress findByUserId_First(long userId, OrderByComparator obc)
758         throws NoSuchEmailAddressException, SystemException {
759         List<EmailAddress> list = findByUserId(userId, 0, 1, obc);
760 
761         if (list.isEmpty()) {
762             StringBuilder msg = new StringBuilder();
763 
764             msg.append("No EmailAddress exists with the key {");
765 
766             msg.append("userId=" + userId);
767 
768             msg.append(StringPool.CLOSE_CURLY_BRACE);
769 
770             throw new NoSuchEmailAddressException(msg.toString());
771         }
772         else {
773             return list.get(0);
774         }
775     }
776 
777     public EmailAddress findByUserId_Last(long userId, OrderByComparator obc)
778         throws NoSuchEmailAddressException, SystemException {
779         int count = countByUserId(userId);
780 
781         List<EmailAddress> list = findByUserId(userId, count - 1, count, obc);
782 
783         if (list.isEmpty()) {
784             StringBuilder msg = new StringBuilder();
785 
786             msg.append("No EmailAddress exists with the key {");
787 
788             msg.append("userId=" + userId);
789 
790             msg.append(StringPool.CLOSE_CURLY_BRACE);
791 
792             throw new NoSuchEmailAddressException(msg.toString());
793         }
794         else {
795             return list.get(0);
796         }
797     }
798 
799     public EmailAddress[] findByUserId_PrevAndNext(long emailAddressId,
800         long userId, OrderByComparator obc)
801         throws NoSuchEmailAddressException, SystemException {
802         EmailAddress emailAddress = findByPrimaryKey(emailAddressId);
803 
804         int count = countByUserId(userId);
805 
806         Session session = null;
807 
808         try {
809             session = openSession();
810 
811             StringBuilder query = new StringBuilder();
812 
813             query.append("FROM com.liferay.portal.model.EmailAddress WHERE ");
814 
815             query.append("userId = ?");
816 
817             query.append(" ");
818 
819             if (obc != null) {
820                 query.append("ORDER BY ");
821                 query.append(obc.getOrderBy());
822             }
823 
824             else {
825                 query.append("ORDER BY ");
826 
827                 query.append("createDate ASC");
828             }
829 
830             Query q = session.createQuery(query.toString());
831 
832             QueryPos qPos = QueryPos.getInstance(q);
833 
834             qPos.add(userId);
835 
836             Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
837                     emailAddress);
838 
839             EmailAddress[] array = new EmailAddressImpl[3];
840 
841             array[0] = (EmailAddress)objArray[0];
842             array[1] = (EmailAddress)objArray[1];
843             array[2] = (EmailAddress)objArray[2];
844 
845             return array;
846         }
847         catch (Exception e) {
848             throw processException(e);
849         }
850         finally {
851             closeSession(session);
852         }
853     }
854 
855     public List<EmailAddress> findByC_C(long companyId, long classNameId)
856         throws SystemException {
857         Object[] finderArgs = new Object[] {
858                 new Long(companyId), new Long(classNameId)
859             };
860 
861         List<EmailAddress> list = (List<EmailAddress>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_C_C,
862                 finderArgs, this);
863 
864         if (list == null) {
865             Session session = null;
866 
867             try {
868                 session = openSession();
869 
870                 StringBuilder query = new StringBuilder();
871 
872                 query.append(
873                     "FROM com.liferay.portal.model.EmailAddress WHERE ");
874 
875                 query.append("companyId = ?");
876 
877                 query.append(" AND ");
878 
879                 query.append("classNameId = ?");
880 
881                 query.append(" ");
882 
883                 query.append("ORDER BY ");
884 
885                 query.append("createDate ASC");
886 
887                 Query q = session.createQuery(query.toString());
888 
889                 QueryPos qPos = QueryPos.getInstance(q);
890 
891                 qPos.add(companyId);
892 
893                 qPos.add(classNameId);
894 
895                 list = q.list();
896             }
897             catch (Exception e) {
898                 throw processException(e);
899             }
900             finally {
901                 if (list == null) {
902                     list = new ArrayList<EmailAddress>();
903                 }
904 
905                 cacheResult(list);
906 
907                 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_C_C, finderArgs,
908                     list);
909 
910                 closeSession(session);
911             }
912         }
913 
914         return list;
915     }
916 
917     public List<EmailAddress> findByC_C(long companyId, long classNameId,
918         int start, int end) throws SystemException {
919         return findByC_C(companyId, classNameId, start, end, null);
920     }
921 
922     public List<EmailAddress> findByC_C(long companyId, long classNameId,
923         int start, int end, OrderByComparator obc) throws SystemException {
924         Object[] finderArgs = new Object[] {
925                 new Long(companyId), new Long(classNameId),
926                 
927                 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
928             };
929 
930         List<EmailAddress> list = (List<EmailAddress>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_OBC_C_C,
931                 finderArgs, this);
932 
933         if (list == null) {
934             Session session = null;
935 
936             try {
937                 session = openSession();
938 
939                 StringBuilder query = new StringBuilder();
940 
941                 query.append(
942                     "FROM com.liferay.portal.model.EmailAddress WHERE ");
943 
944                 query.append("companyId = ?");
945 
946                 query.append(" AND ");
947 
948                 query.append("classNameId = ?");
949 
950                 query.append(" ");
951 
952                 if (obc != null) {
953                     query.append("ORDER BY ");
954                     query.append(obc.getOrderBy());
955                 }
956 
957                 else {
958                     query.append("ORDER BY ");
959 
960                     query.append("createDate ASC");
961                 }
962 
963                 Query q = session.createQuery(query.toString());
964 
965                 QueryPos qPos = QueryPos.getInstance(q);
966 
967                 qPos.add(companyId);
968 
969                 qPos.add(classNameId);
970 
971                 list = (List<EmailAddress>)QueryUtil.list(q, getDialect(),
972                         start, end);
973             }
974             catch (Exception e) {
975                 throw processException(e);
976             }
977             finally {
978                 if (list == null) {
979                     list = new ArrayList<EmailAddress>();
980                 }
981 
982                 cacheResult(list);
983 
984                 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_OBC_C_C,
985                     finderArgs, list);
986 
987                 closeSession(session);
988             }
989         }
990 
991         return list;
992     }
993 
994     public EmailAddress findByC_C_First(long companyId, long classNameId,
995         OrderByComparator obc)
996         throws NoSuchEmailAddressException, SystemException {
997         List<EmailAddress> list = findByC_C(companyId, classNameId, 0, 1, obc);
998 
999         if (list.isEmpty()) {
1000            StringBuilder msg = new StringBuilder();
1001
1002            msg.append("No EmailAddress exists with the key {");
1003
1004            msg.append("companyId=" + companyId);
1005
1006            msg.append(", ");
1007            msg.append("classNameId=" + classNameId);
1008
1009            msg.append(StringPool.CLOSE_CURLY_BRACE);
1010
1011            throw new NoSuchEmailAddressException(msg.toString());
1012        }
1013        else {
1014            return list.get(0);
1015        }
1016    }
1017
1018    public EmailAddress findByC_C_Last(long companyId, long classNameId,
1019        OrderByComparator obc)
1020        throws NoSuchEmailAddressException, SystemException {
1021        int count = countByC_C(companyId, classNameId);
1022
1023        List<EmailAddress> list = findByC_C(companyId, classNameId, count - 1,
1024                count, obc);
1025
1026        if (list.isEmpty()) {
1027            StringBuilder msg = new StringBuilder();
1028
1029            msg.append("No EmailAddress exists with the key {");
1030
1031            msg.append("companyId=" + companyId);
1032
1033            msg.append(", ");
1034            msg.append("classNameId=" + classNameId);
1035
1036            msg.append(StringPool.CLOSE_CURLY_BRACE);
1037
1038            throw new NoSuchEmailAddressException(msg.toString());
1039        }
1040        else {
1041            return list.get(0);
1042        }
1043    }
1044
1045    public EmailAddress[] findByC_C_PrevAndNext(long emailAddressId,
1046        long companyId, long classNameId, OrderByComparator obc)
1047        throws NoSuchEmailAddressException, SystemException {
1048        EmailAddress emailAddress = findByPrimaryKey(emailAddressId);
1049
1050        int count = countByC_C(companyId, classNameId);
1051
1052        Session session = null;
1053
1054        try {
1055            session = openSession();
1056
1057            StringBuilder query = new StringBuilder();
1058
1059            query.append("FROM com.liferay.portal.model.EmailAddress WHERE ");
1060
1061            query.append("companyId = ?");
1062
1063            query.append(" AND ");
1064
1065            query.append("classNameId = ?");
1066
1067            query.append(" ");
1068
1069            if (obc != null) {
1070                query.append("ORDER BY ");
1071                query.append(obc.getOrderBy());
1072            }
1073
1074            else {
1075                query.append("ORDER BY ");
1076
1077                query.append("createDate ASC");
1078            }
1079
1080            Query q = session.createQuery(query.toString());
1081
1082            QueryPos qPos = QueryPos.getInstance(q);
1083
1084            qPos.add(companyId);
1085
1086            qPos.add(classNameId);
1087
1088            Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
1089                    emailAddress);
1090
1091            EmailAddress[] array = new EmailAddressImpl[3];
1092
1093            array[0] = (EmailAddress)objArray[0];
1094            array[1] = (EmailAddress)objArray[1];
1095            array[2] = (EmailAddress)objArray[2];
1096
1097            return array;
1098        }
1099        catch (Exception e) {
1100            throw processException(e);
1101        }
1102        finally {
1103            closeSession(session);
1104        }
1105    }
1106
1107    public List<EmailAddress> findByC_C_C(long companyId, long classNameId,
1108        long classPK) throws SystemException {
1109        Object[] finderArgs = new Object[] {
1110                new Long(companyId), new Long(classNameId), new Long(classPK)
1111            };
1112
1113        List<EmailAddress> list = (List<EmailAddress>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_C_C_C,
1114                finderArgs, this);
1115
1116        if (list == null) {
1117            Session session = null;
1118
1119            try {
1120                session = openSession();
1121
1122                StringBuilder query = new StringBuilder();
1123
1124                query.append(
1125                    "FROM com.liferay.portal.model.EmailAddress WHERE ");
1126
1127                query.append("companyId = ?");
1128
1129                query.append(" AND ");
1130
1131                query.append("classNameId = ?");
1132
1133                query.append(" AND ");
1134
1135                query.append("classPK = ?");
1136
1137                query.append(" ");
1138
1139                query.append("ORDER BY ");
1140
1141                query.append("createDate ASC");
1142
1143                Query q = session.createQuery(query.toString());
1144
1145                QueryPos qPos = QueryPos.getInstance(q);
1146
1147                qPos.add(companyId);
1148
1149                qPos.add(classNameId);
1150
1151                qPos.add(classPK);
1152
1153                list = q.list();
1154            }
1155            catch (Exception e) {
1156                throw processException(e);
1157            }
1158            finally {
1159                if (list == null) {
1160                    list = new ArrayList<EmailAddress>();
1161                }
1162
1163                cacheResult(list);
1164
1165                FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_C_C_C,
1166                    finderArgs, list);
1167
1168                closeSession(session);
1169            }
1170        }
1171
1172        return list;
1173    }
1174
1175    public List<EmailAddress> findByC_C_C(long companyId, long classNameId,
1176        long classPK, int start, int end) throws SystemException {
1177        return findByC_C_C(companyId, classNameId, classPK, start, end, null);
1178    }
1179
1180    public List<EmailAddress> findByC_C_C(long companyId, long classNameId,
1181        long classPK, int start, int end, OrderByComparator obc)
1182        throws SystemException {
1183        Object[] finderArgs = new Object[] {
1184                new Long(companyId), new Long(classNameId), new Long(classPK),
1185                
1186                String.valueOf(start), String.valueOf(end), String.valueOf(obc)
1187            };
1188
1189        List<EmailAddress> list = (List<EmailAddress>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_OBC_C_C_C,
1190                finderArgs, this);
1191
1192        if (list == null) {
1193            Session session = null;
1194
1195            try {
1196                session = openSession();
1197
1198                StringBuilder query = new StringBuilder();
1199
1200                query.append(
1201                    "FROM com.liferay.portal.model.EmailAddress WHERE ");
1202
1203                query.append("companyId = ?");
1204
1205                query.append(" AND ");
1206
1207                query.append("classNameId = ?");
1208
1209                query.append(" AND ");
1210
1211                query.append("classPK = ?");
1212
1213                query.append(" ");
1214
1215                if (obc != null) {
1216                    query.append("ORDER BY ");
1217                    query.append(obc.getOrderBy());
1218                }
1219
1220                else {
1221                    query.append("ORDER BY ");
1222
1223                    query.append("createDate ASC");
1224                }
1225
1226                Query q = session.createQuery(query.toString());
1227
1228                QueryPos qPos = QueryPos.getInstance(q);
1229
1230                qPos.add(companyId);
1231
1232                qPos.add(classNameId);
1233
1234                qPos.add(classPK);
1235
1236                list = (List<EmailAddress>)QueryUtil.list(q, getDialect(),
1237                        start, end);
1238            }
1239            catch (Exception e) {
1240                throw processException(e);
1241            }
1242            finally {
1243                if (list == null) {
1244                    list = new ArrayList<EmailAddress>();
1245                }
1246
1247                cacheResult(list);
1248
1249                FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_OBC_C_C_C,
1250                    finderArgs, list);
1251
1252                closeSession(session);
1253            }
1254        }
1255
1256        return list;
1257    }
1258
1259    public EmailAddress findByC_C_C_First(long companyId, long classNameId,
1260        long classPK, OrderByComparator obc)
1261        throws NoSuchEmailAddressException, SystemException {
1262        List<EmailAddress> list = findByC_C_C(companyId, classNameId, classPK,
1263                0, 1, obc);
1264
1265        if (list.isEmpty()) {
1266            StringBuilder msg = new StringBuilder();
1267
1268            msg.append("No EmailAddress exists with the key {");
1269
1270            msg.append("companyId=" + companyId);
1271
1272            msg.append(", ");
1273            msg.append("classNameId=" + classNameId);
1274
1275            msg.append(", ");
1276            msg.append("classPK=" + classPK);
1277
1278            msg.append(StringPool.CLOSE_CURLY_BRACE);
1279
1280            throw new NoSuchEmailAddressException(msg.toString());
1281        }
1282        else {
1283            return list.get(0);
1284        }
1285    }
1286
1287    public EmailAddress findByC_C_C_Last(long companyId, long classNameId,
1288        long classPK, OrderByComparator obc)
1289        throws NoSuchEmailAddressException, SystemException {
1290        int count = countByC_C_C(companyId, classNameId, classPK);
1291
1292        List<EmailAddress> list = findByC_C_C(companyId, classNameId, classPK,
1293                count - 1, count, obc);
1294
1295        if (list.isEmpty()) {
1296            StringBuilder msg = new StringBuilder();
1297
1298            msg.append("No EmailAddress exists with the key {");
1299
1300            msg.append("companyId=" + companyId);
1301
1302            msg.append(", ");
1303            msg.append("classNameId=" + classNameId);
1304
1305            msg.append(", ");
1306            msg.append("classPK=" + classPK);
1307
1308            msg.append(StringPool.CLOSE_CURLY_BRACE);
1309
1310            throw new NoSuchEmailAddressException(msg.toString());
1311        }
1312        else {
1313            return list.get(0);
1314        }
1315    }
1316
1317    public EmailAddress[] findByC_C_C_PrevAndNext(long emailAddressId,
1318        long companyId, long classNameId, long classPK, OrderByComparator obc)
1319        throws NoSuchEmailAddressException, SystemException {
1320        EmailAddress emailAddress = findByPrimaryKey(emailAddressId);
1321
1322        int count = countByC_C_C(companyId, classNameId, classPK);
1323
1324        Session session = null;
1325
1326        try {
1327            session = openSession();
1328
1329            StringBuilder query = new StringBuilder();
1330
1331            query.append("FROM com.liferay.portal.model.EmailAddress WHERE ");
1332
1333            query.append("companyId = ?");
1334
1335            query.append(" AND ");
1336
1337            query.append("classNameId = ?");
1338
1339            query.append(" AND ");
1340
1341            query.append("classPK = ?");
1342
1343            query.append(" ");
1344
1345            if (obc != null) {
1346                query.append("ORDER BY ");
1347                query.append(obc.getOrderBy());
1348            }
1349
1350            else {
1351                query.append("ORDER BY ");
1352
1353                query.append("createDate ASC");
1354            }
1355
1356            Query q = session.createQuery(query.toString());
1357
1358            QueryPos qPos = QueryPos.getInstance(q);
1359
1360            qPos.add(companyId);
1361
1362            qPos.add(classNameId);
1363
1364            qPos.add(classPK);
1365
1366            Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
1367                    emailAddress);
1368
1369            EmailAddress[] array = new EmailAddressImpl[3];
1370
1371            array[0] = (EmailAddress)objArray[0];
1372            array[1] = (EmailAddress)objArray[1];
1373            array[2] = (EmailAddress)objArray[2];
1374
1375            return array;
1376        }
1377        catch (Exception e) {
1378            throw processException(e);
1379        }
1380        finally {
1381            closeSession(session);
1382        }
1383    }
1384
1385    public List<EmailAddress> findByC_C_C_P(long companyId, long classNameId,
1386        long classPK, boolean primary) throws SystemException {
1387        Object[] finderArgs = new Object[] {
1388                new Long(companyId), new Long(classNameId), new Long(classPK),
1389                Boolean.valueOf(primary)
1390            };
1391
1392        List<EmailAddress> list = (List<EmailAddress>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_C_C_C_P,
1393                finderArgs, this);
1394
1395        if (list == null) {
1396            Session session = null;
1397
1398            try {
1399                session = openSession();
1400
1401                StringBuilder query = new StringBuilder();
1402
1403                query.append(
1404                    "FROM com.liferay.portal.model.EmailAddress WHERE ");
1405
1406                query.append("companyId = ?");
1407
1408                query.append(" AND ");
1409
1410                query.append("classNameId = ?");
1411
1412                query.append(" AND ");
1413
1414                query.append("classPK = ?");
1415
1416                query.append(" AND ");
1417
1418                query.append("primary_ = ?");
1419
1420                query.append(" ");
1421
1422                query.append("ORDER BY ");
1423
1424                query.append("createDate ASC");
1425
1426                Query q = session.createQuery(query.toString());
1427
1428                QueryPos qPos = QueryPos.getInstance(q);
1429
1430                qPos.add(companyId);
1431
1432                qPos.add(classNameId);
1433
1434                qPos.add(classPK);
1435
1436                qPos.add(primary);
1437
1438                list = q.list();
1439            }
1440            catch (Exception e) {
1441                throw processException(e);
1442            }
1443            finally {
1444                if (list == null) {
1445                    list = new ArrayList<EmailAddress>();
1446                }
1447
1448                cacheResult(list);
1449
1450                FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_C_C_C_P,
1451                    finderArgs, list);
1452
1453                closeSession(session);
1454            }
1455        }
1456
1457        return list;
1458    }
1459
1460    public List<EmailAddress> findByC_C_C_P(long companyId, long classNameId,
1461        long classPK, boolean primary, int start, int end)
1462        throws SystemException {
1463        return findByC_C_C_P(companyId, classNameId, classPK, primary, start,
1464            end, null);
1465    }
1466
1467    public List<EmailAddress> findByC_C_C_P(long companyId, long classNameId,
1468        long classPK, boolean primary, int start, int end, OrderByComparator obc)
1469        throws SystemException {
1470        Object[] finderArgs = new Object[] {
1471                new Long(companyId), new Long(classNameId), new Long(classPK),
1472                Boolean.valueOf(primary),
1473                
1474                String.valueOf(start), String.valueOf(end), String.valueOf(obc)
1475            };
1476
1477        List<EmailAddress> list = (List<EmailAddress>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_OBC_C_C_C_P,
1478                finderArgs, this);
1479
1480        if (list == null) {
1481            Session session = null;
1482
1483            try {
1484                session = openSession();
1485
1486                StringBuilder query = new StringBuilder();
1487
1488                query.append(
1489                    "FROM com.liferay.portal.model.EmailAddress WHERE ");
1490
1491                query.append("companyId = ?");
1492
1493                query.append(" AND ");
1494
1495                query.append("classNameId = ?");
1496
1497                query.append(" AND ");
1498
1499                query.append("classPK = ?");
1500
1501                query.append(" AND ");
1502
1503                query.append("primary_ = ?");
1504
1505                query.append(" ");
1506
1507                if (obc != null) {
1508                    query.append("ORDER BY ");
1509                    query.append(obc.getOrderBy());
1510                }
1511
1512                else {
1513                    query.append("ORDER BY ");
1514
1515                    query.append("createDate ASC");
1516                }
1517
1518                Query q = session.createQuery(query.toString());
1519
1520                QueryPos qPos = QueryPos.getInstance(q);
1521
1522                qPos.add(companyId);
1523
1524                qPos.add(classNameId);
1525
1526                qPos.add(classPK);
1527
1528                qPos.add(primary);
1529
1530                list = (List<EmailAddress>)QueryUtil.list(q, getDialect(),
1531                        start, end);
1532            }
1533            catch (Exception e) {
1534                throw processException(e);
1535            }
1536            finally {
1537                if (list == null) {
1538                    list = new ArrayList<EmailAddress>();
1539                }
1540
1541                cacheResult(list);
1542
1543                FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_OBC_C_C_C_P,
1544                    finderArgs, list);
1545
1546                closeSession(session);
1547            }
1548        }
1549
1550        return list;
1551    }
1552
1553    public EmailAddress findByC_C_C_P_First(long companyId, long classNameId,
1554        long classPK, boolean primary, OrderByComparator obc)
1555        throws NoSuchEmailAddressException, SystemException {
1556        List<EmailAddress> list = findByC_C_C_P(companyId, classNameId,
1557                classPK, primary, 0, 1, obc);
1558
1559        if (list.isEmpty()) {
1560            StringBuilder msg = new StringBuilder();
1561
1562            msg.append("No EmailAddress exists with the key {");
1563
1564            msg.append("companyId=" + companyId);
1565
1566            msg.append(", ");
1567            msg.append("classNameId=" + classNameId);
1568
1569            msg.append(", ");
1570            msg.append("classPK=" + classPK);
1571
1572            msg.append(", ");
1573            msg.append("primary=" + primary);
1574
1575            msg.append(StringPool.CLOSE_CURLY_BRACE);
1576
1577            throw new NoSuchEmailAddressException(msg.toString());
1578        }
1579        else {
1580            return list.get(0);
1581        }
1582    }
1583
1584    public EmailAddress findByC_C_C_P_Last(long companyId, long classNameId,
1585        long classPK, boolean primary, OrderByComparator obc)
1586        throws NoSuchEmailAddressException, SystemException {
1587        int count = countByC_C_C_P(companyId, classNameId, classPK, primary);
1588
1589        List<EmailAddress> list = findByC_C_C_P(companyId, classNameId,
1590                classPK, primary, count - 1, count, obc);
1591
1592        if (list.isEmpty()) {
1593            StringBuilder msg = new StringBuilder();
1594
1595            msg.append("No EmailAddress exists with the key {");
1596
1597            msg.append("companyId=" + companyId);
1598
1599            msg.append(", ");
1600            msg.append("classNameId=" + classNameId);
1601
1602            msg.append(", ");
1603            msg.append("classPK=" + classPK);
1604
1605            msg.append(", ");
1606            msg.append("primary=" + primary);
1607
1608            msg.append(StringPool.CLOSE_CURLY_BRACE);
1609
1610            throw new NoSuchEmailAddressException(msg.toString());
1611        }
1612        else {
1613            return list.get(0);
1614        }
1615    }
1616
1617    public EmailAddress[] findByC_C_C_P_PrevAndNext(long emailAddressId,
1618        long companyId, long classNameId, long classPK, boolean primary,
1619        OrderByComparator obc)
1620        throws NoSuchEmailAddressException, SystemException {
1621        EmailAddress emailAddress = findByPrimaryKey(emailAddressId);
1622
1623        int count = countByC_C_C_P(companyId, classNameId, classPK, primary);
1624
1625        Session session = null;
1626
1627        try {
1628            session = openSession();
1629
1630            StringBuilder query = new StringBuilder();
1631
1632            query.append("FROM com.liferay.portal.model.EmailAddress WHERE ");
1633
1634            query.append("companyId = ?");
1635
1636            query.append(" AND ");
1637
1638            query.append("classNameId = ?");
1639
1640            query.append(" AND ");
1641
1642            query.append("classPK = ?");
1643
1644            query.append(" AND ");
1645
1646            query.append("primary_ = ?");
1647
1648            query.append(" ");
1649
1650            if (obc != null) {
1651                query.append("ORDER BY ");
1652                query.append(obc.getOrderBy());
1653            }
1654
1655            else {
1656                query.append("ORDER BY ");
1657
1658                query.append("createDate ASC");
1659            }
1660
1661            Query q = session.createQuery(query.toString());
1662
1663            QueryPos qPos = QueryPos.getInstance(q);
1664
1665            qPos.add(companyId);
1666
1667            qPos.add(classNameId);
1668
1669            qPos.add(classPK);
1670
1671            qPos.add(primary);
1672
1673            Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
1674                    emailAddress);
1675
1676            EmailAddress[] array = new EmailAddressImpl[3];
1677
1678            array[0] = (EmailAddress)objArray[0];
1679            array[1] = (EmailAddress)objArray[1];
1680            array[2] = (EmailAddress)objArray[2];
1681
1682            return array;
1683        }
1684        catch (Exception e) {
1685            throw processException(e);
1686        }
1687        finally {
1688            closeSession(session);
1689        }
1690    }
1691
1692    public List<Object> findWithDynamicQuery(DynamicQuery dynamicQuery)
1693        throws SystemException {
1694        Session session = null;
1695
1696        try {
1697            session = openSession();
1698
1699            dynamicQuery.compile(session);
1700
1701            return dynamicQuery.list();
1702        }
1703        catch (Exception e) {
1704            throw processException(e);
1705        }
1706        finally {
1707            closeSession(session);
1708        }
1709    }
1710
1711    public List<Object> findWithDynamicQuery(DynamicQuery dynamicQuery,
1712        int start, int end) throws SystemException {
1713        Session session = null;
1714
1715        try {
1716            session = openSession();
1717
1718            dynamicQuery.setLimit(start, end);
1719
1720            dynamicQuery.compile(session);
1721
1722            return dynamicQuery.list();
1723        }
1724        catch (Exception e) {
1725            throw processException(e);
1726        }
1727        finally {
1728            closeSession(session);
1729        }
1730    }
1731
1732    public List<EmailAddress> findAll() throws SystemException {
1733        return findAll(QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
1734    }
1735
1736    public List<EmailAddress> findAll(int start, int end)
1737        throws SystemException {
1738        return findAll(start, end, null);
1739    }
1740
1741    public List<EmailAddress> findAll(int start, int end, OrderByComparator obc)
1742        throws SystemException {
1743        Object[] finderArgs = new Object[] {
1744                String.valueOf(start), String.valueOf(end), String.valueOf(obc)
1745            };
1746
1747        List<EmailAddress> list = (List<EmailAddress>)FinderCacheUtil.getResult(FINDER_PATH_FIND_ALL,
1748                finderArgs, this);
1749
1750        if (list == null) {
1751            Session session = null;
1752
1753            try {
1754                session = openSession();
1755
1756                StringBuilder query = new StringBuilder();
1757
1758                query.append("FROM com.liferay.portal.model.EmailAddress ");
1759
1760                if (obc != null) {
1761                    query.append("ORDER BY ");
1762                    query.append(obc.getOrderBy());
1763                }
1764
1765                else {
1766                    query.append("ORDER BY ");
1767
1768                    query.append("createDate ASC");
1769                }
1770
1771                Query q = session.createQuery(query.toString());
1772
1773                if (obc == null) {
1774                    list = (List<EmailAddress>)QueryUtil.list(q, getDialect(),
1775                            start, end, false);
1776
1777                    Collections.sort(list);
1778                }
1779                else {
1780                    list = (List<EmailAddress>)QueryUtil.list(q, getDialect(),
1781                            start, end);
1782                }
1783            }
1784            catch (Exception e) {
1785                throw processException(e);
1786            }
1787            finally {
1788                if (list == null) {
1789                    list = new ArrayList<EmailAddress>();
1790                }
1791
1792                cacheResult(list);
1793
1794                FinderCacheUtil.putResult(FINDER_PATH_FIND_ALL, finderArgs, list);
1795
1796                closeSession(session);
1797            }
1798        }
1799
1800        return list;
1801    }
1802
1803    public void removeByCompanyId(long companyId) throws SystemException {
1804        for (EmailAddress emailAddress : findByCompanyId(companyId)) {
1805            remove(emailAddress);
1806        }
1807    }
1808
1809    public void removeByUserId(long userId) throws SystemException {
1810        for (EmailAddress emailAddress : findByUserId(userId)) {
1811            remove(emailAddress);
1812        }
1813    }
1814
1815    public void removeByC_C(long companyId, long classNameId)
1816        throws SystemException {
1817        for (EmailAddress emailAddress : findByC_C(companyId, classNameId)) {
1818            remove(emailAddress);
1819        }
1820    }
1821
1822    public void removeByC_C_C(long companyId, long classNameId, long classPK)
1823        throws SystemException {
1824        for (EmailAddress emailAddress : findByC_C_C(companyId, classNameId,
1825                classPK)) {
1826            remove(emailAddress);
1827        }
1828    }
1829
1830    public void removeByC_C_C_P(long companyId, long classNameId, long classPK,
1831        boolean primary) throws SystemException {
1832        for (EmailAddress emailAddress : findByC_C_C_P(companyId, classNameId,
1833                classPK, primary)) {
1834            remove(emailAddress);
1835        }
1836    }
1837
1838    public void removeAll() throws SystemException {
1839        for (EmailAddress emailAddress : findAll()) {
1840            remove(emailAddress);
1841        }
1842    }
1843
1844    public int countByCompanyId(long companyId) throws SystemException {
1845        Object[] finderArgs = new Object[] { new Long(companyId) };
1846
1847        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_COMPANYID,
1848                finderArgs, this);
1849
1850        if (count == null) {
1851            Session session = null;
1852
1853            try {
1854                session = openSession();
1855
1856                StringBuilder query = new StringBuilder();
1857
1858                query.append("SELECT COUNT(*) ");
1859                query.append(
1860                    "FROM com.liferay.portal.model.EmailAddress WHERE ");
1861
1862                query.append("companyId = ?");
1863
1864                query.append(" ");
1865
1866                Query q = session.createQuery(query.toString());
1867
1868                QueryPos qPos = QueryPos.getInstance(q);
1869
1870                qPos.add(companyId);
1871
1872                count = (Long)q.uniqueResult();
1873            }
1874            catch (Exception e) {
1875                throw processException(e);
1876            }
1877            finally {
1878                if (count == null) {
1879                    count = Long.valueOf(0);
1880                }
1881
1882                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_COMPANYID,
1883                    finderArgs, count);
1884
1885                closeSession(session);
1886            }
1887        }
1888
1889        return count.intValue();
1890    }
1891
1892    public int countByUserId(long userId) throws SystemException {
1893        Object[] finderArgs = new Object[] { new Long(userId) };
1894
1895        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_USERID,
1896                finderArgs, this);
1897
1898        if (count == null) {
1899            Session session = null;
1900
1901            try {
1902                session = openSession();
1903
1904                StringBuilder query = new StringBuilder();
1905
1906                query.append("SELECT COUNT(*) ");
1907                query.append(
1908                    "FROM com.liferay.portal.model.EmailAddress WHERE ");
1909
1910                query.append("userId = ?");
1911
1912                query.append(" ");
1913
1914                Query q = session.createQuery(query.toString());
1915
1916                QueryPos qPos = QueryPos.getInstance(q);
1917
1918                qPos.add(userId);
1919
1920                count = (Long)q.uniqueResult();
1921            }
1922            catch (Exception e) {
1923                throw processException(e);
1924            }
1925            finally {
1926                if (count == null) {
1927                    count = Long.valueOf(0);
1928                }
1929
1930                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_USERID,
1931                    finderArgs, count);
1932
1933                closeSession(session);
1934            }
1935        }
1936
1937        return count.intValue();
1938    }
1939
1940    public int countByC_C(long companyId, long classNameId)
1941        throws SystemException {
1942        Object[] finderArgs = new Object[] {
1943                new Long(companyId), new Long(classNameId)
1944            };
1945
1946        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_C_C,
1947                finderArgs, this);
1948
1949        if (count == null) {
1950            Session session = null;
1951
1952            try {
1953                session = openSession();
1954
1955                StringBuilder query = new StringBuilder();
1956
1957                query.append("SELECT COUNT(*) ");
1958                query.append(
1959                    "FROM com.liferay.portal.model.EmailAddress WHERE ");
1960
1961                query.append("companyId = ?");
1962
1963                query.append(" AND ");
1964
1965                query.append("classNameId = ?");
1966
1967                query.append(" ");
1968
1969                Query q = session.createQuery(query.toString());
1970
1971                QueryPos qPos = QueryPos.getInstance(q);
1972
1973                qPos.add(companyId);
1974
1975                qPos.add(classNameId);
1976
1977                count = (Long)q.uniqueResult();
1978            }
1979            catch (Exception e) {
1980                throw processException(e);
1981            }
1982            finally {
1983                if (count == null) {
1984                    count = Long.valueOf(0);
1985                }
1986
1987                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_C_C, finderArgs,
1988                    count);
1989
1990                closeSession(session);
1991            }
1992        }
1993
1994        return count.intValue();
1995    }
1996
1997    public int countByC_C_C(long companyId, long classNameId, long classPK)
1998        throws SystemException {
1999        Object[] finderArgs = new Object[] {
2000                new Long(companyId), new Long(classNameId), new Long(classPK)
2001            };
2002
2003        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_C_C_C,
2004                finderArgs, this);
2005
2006        if (count == null) {
2007            Session session = null;
2008
2009            try {
2010                session = openSession();
2011
2012                StringBuilder query = new StringBuilder();
2013
2014                query.append("SELECT COUNT(*) ");
2015                query.append(
2016                    "FROM com.liferay.portal.model.EmailAddress WHERE ");
2017
2018                query.append("companyId = ?");
2019
2020                query.append(" AND ");
2021
2022                query.append("classNameId = ?");
2023
2024                query.append(" AND ");
2025
2026                query.append("classPK = ?");
2027
2028                query.append(" ");
2029
2030                Query q = session.createQuery(query.toString());
2031
2032                QueryPos qPos = QueryPos.getInstance(q);
2033
2034                qPos.add(companyId);
2035
2036                qPos.add(classNameId);
2037
2038                qPos.add(classPK);
2039
2040                count = (Long)q.uniqueResult();
2041            }
2042            catch (Exception e) {
2043                throw processException(e);
2044            }
2045            finally {
2046                if (count == null) {
2047                    count = Long.valueOf(0);
2048                }
2049
2050                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_C_C_C,
2051                    finderArgs, count);
2052
2053                closeSession(session);
2054            }
2055        }
2056
2057        return count.intValue();
2058    }
2059
2060    public int countByC_C_C_P(long companyId, long classNameId, long classPK,
2061        boolean primary) throws SystemException {
2062        Object[] finderArgs = new Object[] {
2063                new Long(companyId), new Long(classNameId), new Long(classPK),
2064                Boolean.valueOf(primary)
2065            };
2066
2067        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_C_C_C_P,
2068                finderArgs, this);
2069
2070        if (count == null) {
2071            Session session = null;
2072
2073            try {
2074                session = openSession();
2075
2076                StringBuilder query = new StringBuilder();
2077
2078                query.append("SELECT COUNT(*) ");
2079                query.append(
2080                    "FROM com.liferay.portal.model.EmailAddress WHERE ");
2081
2082                query.append("companyId = ?");
2083
2084                query.append(" AND ");
2085
2086                query.append("classNameId = ?");
2087
2088                query.append(" AND ");
2089
2090                query.append("classPK = ?");
2091
2092                query.append(" AND ");
2093
2094                query.append("primary_ = ?");
2095
2096                query.append(" ");
2097
2098                Query q = session.createQuery(query.toString());
2099
2100                QueryPos qPos = QueryPos.getInstance(q);
2101
2102                qPos.add(companyId);
2103
2104                qPos.add(classNameId);
2105
2106                qPos.add(classPK);
2107
2108                qPos.add(primary);
2109
2110                count = (Long)q.uniqueResult();
2111            }
2112            catch (Exception e) {
2113                throw processException(e);
2114            }
2115            finally {
2116                if (count == null) {
2117                    count = Long.valueOf(0);
2118                }
2119
2120                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_C_C_C_P,
2121                    finderArgs, count);
2122
2123                closeSession(session);
2124            }
2125        }
2126
2127        return count.intValue();
2128    }
2129
2130    public int countAll() throws SystemException {
2131        Object[] finderArgs = new Object[0];
2132
2133        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_ALL,
2134                finderArgs, this);
2135
2136        if (count == null) {
2137            Session session = null;
2138
2139            try {
2140                session = openSession();
2141
2142                Query q = session.createQuery(
2143                        "SELECT COUNT(*) FROM com.liferay.portal.model.EmailAddress");
2144
2145                count = (Long)q.uniqueResult();
2146            }
2147            catch (Exception e) {
2148                throw processException(e);
2149            }
2150            finally {
2151                if (count == null) {
2152                    count = Long.valueOf(0);
2153                }
2154
2155                FinderCacheUtil.putResult(FINDER_PATH_COUNT_ALL, finderArgs,
2156                    count);
2157
2158                closeSession(session);
2159            }
2160        }
2161
2162        return count.intValue();
2163    }
2164
2165    public void afterPropertiesSet() {
2166        String[] listenerClassNames = StringUtil.split(GetterUtil.getString(
2167                    com.liferay.portal.util.PropsUtil.get(
2168                        "value.object.listener.com.liferay.portal.model.EmailAddress")));
2169
2170        if (listenerClassNames.length > 0) {
2171            try {
2172                List<ModelListener<EmailAddress>> listenersList = new ArrayList<ModelListener<EmailAddress>>();
2173
2174                for (String listenerClassName : listenerClassNames) {
2175                    listenersList.add((ModelListener<EmailAddress>)Class.forName(
2176                            listenerClassName).newInstance());
2177                }
2178
2179                listeners = listenersList.toArray(new ModelListener[listenersList.size()]);
2180            }
2181            catch (Exception e) {
2182                _log.error(e);
2183            }
2184        }
2185    }
2186
2187    @BeanReference(name = "com.liferay.portal.service.persistence.AccountPersistence.impl")
2188    protected com.liferay.portal.service.persistence.AccountPersistence accountPersistence;
2189    @BeanReference(name = "com.liferay.portal.service.persistence.AddressPersistence.impl")
2190    protected com.liferay.portal.service.persistence.AddressPersistence addressPersistence;
2191    @BeanReference(name = "com.liferay.portal.service.persistence.BrowserTrackerPersistence.impl")
2192    protected com.liferay.portal.service.persistence.BrowserTrackerPersistence browserTrackerPersistence;
2193    @BeanReference(name = "com.liferay.portal.service.persistence.ClassNamePersistence.impl")
2194    protected com.liferay.portal.service.persistence.ClassNamePersistence classNamePersistence;
2195    @BeanReference(name = "com.liferay.portal.service.persistence.CompanyPersistence.impl")
2196    protected com.liferay.portal.service.persistence.CompanyPersistence companyPersistence;
2197    @BeanReference(name = "com.liferay.portal.service.persistence.ContactPersistence.impl")
2198    protected com.liferay.portal.service.persistence.ContactPersistence contactPersistence;
2199    @BeanReference(name = "com.liferay.portal.service.persistence.CountryPersistence.impl")
2200    protected com.liferay.portal.service.persistence.CountryPersistence countryPersistence;
2201    @BeanReference(name = "com.liferay.portal.service.persistence.EmailAddressPersistence.impl")
2202    protected com.liferay.portal.service.persistence.EmailAddressPersistence emailAddressPersistence;
2203    @BeanReference(name = "com.liferay.portal.service.persistence.GroupPersistence.impl")
2204    protected com.liferay.portal.service.persistence.GroupPersistence groupPersistence;
2205    @BeanReference(name = "com.liferay.portal.service.persistence.ImagePersistence.impl")
2206    protected com.liferay.portal.service.persistence.ImagePersistence imagePersistence;
2207    @BeanReference(name = "com.liferay.portal.service.persistence.LayoutPersistence.impl")
2208    protected com.liferay.portal.service.persistence.LayoutPersistence layoutPersistence;
2209    @BeanReference(name = "com.liferay.portal.service.persistence.LayoutSetPersistence.impl")
2210    protected com.liferay.portal.service.persistence.LayoutSetPersistence layoutSetPersistence;
2211    @BeanReference(name = "com.liferay.portal.service.persistence.ListTypePersistence.impl")
2212    protected com.liferay.portal.service.persistence.ListTypePersistence listTypePersistence;
2213    @BeanReference(name = "com.liferay.portal.service.persistence.MembershipRequestPersistence.impl")
2214    protected com.liferay.portal.service.persistence.MembershipRequestPersistence membershipRequestPersistence;
2215    @BeanReference(name = "com.liferay.portal.service.persistence.OrganizationPersistence.impl")
2216    protected com.liferay.portal.service.persistence.OrganizationPersistence organizationPersistence;
2217    @BeanReference(name = "com.liferay.portal.service.persistence.OrgGroupPermissionPersistence.impl")
2218    protected com.liferay.portal.service.persistence.OrgGroupPermissionPersistence orgGroupPermissionPersistence;
2219    @BeanReference(name = "com.liferay.portal.service.persistence.OrgGroupRolePersistence.impl")
2220    protected com.liferay.portal.service.persistence.OrgGroupRolePersistence orgGroupRolePersistence;
2221    @BeanReference(name = "com.liferay.portal.service.persistence.OrgLaborPersistence.impl")
2222    protected com.liferay.portal.service.persistence.OrgLaborPersistence orgLaborPersistence;
2223    @BeanReference(name = "com.liferay.portal.service.persistence.PasswordPolicyPersistence.impl")
2224    protected com.liferay.portal.service.persistence.PasswordPolicyPersistence passwordPolicyPersistence;
2225    @BeanReference(name = "com.liferay.portal.service.persistence.PasswordPolicyRelPersistence.impl")
2226    protected com.liferay.portal.service.persistence.PasswordPolicyRelPersistence passwordPolicyRelPersistence;
2227    @BeanReference(name = "com.liferay.portal.service.persistence.PasswordTrackerPersistence.impl")
2228    protected com.liferay.portal.service.persistence.PasswordTrackerPersistence passwordTrackerPersistence;
2229    @BeanReference(name = "com.liferay.portal.service.persistence.PermissionPersistence.impl")
2230    protected com.liferay.portal.service.persistence.PermissionPersistence permissionPersistence;
2231    @BeanReference(name = "com.liferay.portal.service.persistence.PhonePersistence.impl")
2232    protected com.liferay.portal.service.persistence.PhonePersistence phonePersistence;
2233    @BeanReference(name = "com.liferay.portal.service.persistence.PluginSettingPersistence.impl")
2234    protected com.liferay.portal.service.persistence.PluginSettingPersistence pluginSettingPersistence;
2235    @BeanReference(name = "com.liferay.portal.service.persistence.PortletPersistence.impl")
2236    protected com.liferay.portal.service.persistence.PortletPersistence portletPersistence;
2237    @BeanReference(name = "com.liferay.portal.service.persistence.PortletItemPersistence.impl")
2238    protected com.liferay.portal.service.persistence.PortletItemPersistence portletItemPersistence;
2239    @BeanReference(name = "com.liferay.portal.service.persistence.PortletPreferencesPersistence.impl")
2240    protected com.liferay.portal.service.persistence.PortletPreferencesPersistence portletPreferencesPersistence;
2241    @BeanReference(name = "com.liferay.portal.service.persistence.RegionPersistence.impl")
2242    protected com.liferay.portal.service.persistence.RegionPersistence regionPersistence;
2243    @BeanReference(name = "com.liferay.portal.service.persistence.ReleasePersistence.impl")
2244    protected com.liferay.portal.service.persistence.ReleasePersistence releasePersistence;
2245    @BeanReference(name = "com.liferay.portal.service.persistence.ResourcePersistence.impl")
2246    protected com.liferay.portal.service.persistence.ResourcePersistence resourcePersistence;
2247    @BeanReference(name = "com.liferay.portal.service.persistence.ResourceActionPersistence.impl")
2248    protected com.liferay.portal.service.persistence.ResourceActionPersistence resourceActionPersistence;
2249    @BeanReference(name = "com.liferay.portal.service.persistence.ResourceCodePersistence.impl")
2250    protected com.liferay.portal.service.persistence.ResourceCodePersistence resourceCodePersistence;
2251    @BeanReference(name = "com.liferay.portal.service.persistence.ResourcePermissionPersistence.impl")
2252    protected com.liferay.portal.service.persistence.ResourcePermissionPersistence resourcePermissionPersistence;
2253    @BeanReference(name = "com.liferay.portal.service.persistence.RolePersistence.impl")
2254    protected com.liferay.portal.service.persistence.RolePersistence rolePersistence;
2255    @BeanReference(name = "com.liferay.portal.service.persistence.ServiceComponentPersistence.impl")
2256    protected com.liferay.portal.service.persistence.ServiceComponentPersistence serviceComponentPersistence;
2257    @BeanReference(name = "com.liferay.portal.service.persistence.ShardPersistence.impl")
2258    protected com.liferay.portal.service.persistence.ShardPersistence shardPersistence;
2259    @BeanReference(name = "com.liferay.portal.service.persistence.SubscriptionPersistence.impl")
2260    protected com.liferay.portal.service.persistence.SubscriptionPersistence subscriptionPersistence;
2261    @BeanReference(name = "com.liferay.portal.service.persistence.UserPersistence.impl")
2262    protected com.liferay.portal.service.persistence.UserPersistence userPersistence;
2263    @BeanReference(name = "com.liferay.portal.service.persistence.UserGroupPersistence.impl")
2264    protected com.liferay.portal.service.persistence.UserGroupPersistence userGroupPersistence;
2265    @BeanReference(name = "com.liferay.portal.service.persistence.UserGroupRolePersistence.impl")
2266    protected com.liferay.portal.service.persistence.UserGroupRolePersistence userGroupRolePersistence;
2267    @BeanReference(name = "com.liferay.portal.service.persistence.UserIdMapperPersistence.impl")
2268    protected com.liferay.portal.service.persistence.UserIdMapperPersistence userIdMapperPersistence;
2269    @BeanReference(name = "com.liferay.portal.service.persistence.UserTrackerPersistence.impl")
2270    protected com.liferay.portal.service.persistence.UserTrackerPersistence userTrackerPersistence;
2271    @BeanReference(name = "com.liferay.portal.service.persistence.UserTrackerPathPersistence.impl")
2272    protected com.liferay.portal.service.persistence.UserTrackerPathPersistence userTrackerPathPersistence;
2273    @BeanReference(name = "com.liferay.portal.service.persistence.WebDAVPropsPersistence.impl")
2274    protected com.liferay.portal.service.persistence.WebDAVPropsPersistence webDAVPropsPersistence;
2275    @BeanReference(name = "com.liferay.portal.service.persistence.WebsitePersistence.impl")
2276    protected com.liferay.portal.service.persistence.WebsitePersistence websitePersistence;
2277    private static Log _log = LogFactoryUtil.getLog(EmailAddressPersistenceImpl.class);
2278}