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                     "SELECT emailAddress FROM EmailAddress emailAddress WHERE ");
423 
424                 query.append("emailAddress.companyId = ?");
425 
426                 query.append(" ");
427 
428                 query.append("ORDER BY ");
429 
430                 query.append("emailAddress.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                     "SELECT emailAddress FROM EmailAddress emailAddress WHERE ");
486 
487                 query.append("emailAddress.companyId = ?");
488 
489                 query.append(" ");
490 
491                 if (obc != null) {
492                     query.append("ORDER BY ");
493 
494                     String[] orderByFields = obc.getOrderByFields();
495 
496                     for (int i = 0; i < orderByFields.length; i++) {
497                         query.append("emailAddress.");
498                         query.append(orderByFields[i]);
499 
500                         if (obc.isAscending()) {
501                             query.append(" ASC");
502                         }
503                         else {
504                             query.append(" DESC");
505                         }
506 
507                         if ((i + 1) < orderByFields.length) {
508                             query.append(", ");
509                         }
510                     }
511                 }
512 
513                 else {
514                     query.append("ORDER BY ");
515 
516                     query.append("emailAddress.createDate ASC");
517                 }
518 
519                 Query q = session.createQuery(query.toString());
520 
521                 QueryPos qPos = QueryPos.getInstance(q);
522 
523                 qPos.add(companyId);
524 
525                 list = (List<EmailAddress>)QueryUtil.list(q, getDialect(),
526                         start, end);
527             }
528             catch (Exception e) {
529                 throw processException(e);
530             }
531             finally {
532                 if (list == null) {
533                     list = new ArrayList<EmailAddress>();
534                 }
535 
536                 cacheResult(list);
537 
538                 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_OBC_COMPANYID,
539                     finderArgs, list);
540 
541                 closeSession(session);
542             }
543         }
544 
545         return list;
546     }
547 
548     public EmailAddress findByCompanyId_First(long companyId,
549         OrderByComparator obc)
550         throws NoSuchEmailAddressException, SystemException {
551         List<EmailAddress> list = findByCompanyId(companyId, 0, 1, obc);
552 
553         if (list.isEmpty()) {
554             StringBuilder msg = new StringBuilder();
555 
556             msg.append("No EmailAddress exists with the key {");
557 
558             msg.append("companyId=" + companyId);
559 
560             msg.append(StringPool.CLOSE_CURLY_BRACE);
561 
562             throw new NoSuchEmailAddressException(msg.toString());
563         }
564         else {
565             return list.get(0);
566         }
567     }
568 
569     public EmailAddress findByCompanyId_Last(long companyId,
570         OrderByComparator obc)
571         throws NoSuchEmailAddressException, SystemException {
572         int count = countByCompanyId(companyId);
573 
574         List<EmailAddress> list = findByCompanyId(companyId, count - 1, count,
575                 obc);
576 
577         if (list.isEmpty()) {
578             StringBuilder msg = new StringBuilder();
579 
580             msg.append("No EmailAddress exists with the key {");
581 
582             msg.append("companyId=" + companyId);
583 
584             msg.append(StringPool.CLOSE_CURLY_BRACE);
585 
586             throw new NoSuchEmailAddressException(msg.toString());
587         }
588         else {
589             return list.get(0);
590         }
591     }
592 
593     public EmailAddress[] findByCompanyId_PrevAndNext(long emailAddressId,
594         long companyId, OrderByComparator obc)
595         throws NoSuchEmailAddressException, SystemException {
596         EmailAddress emailAddress = findByPrimaryKey(emailAddressId);
597 
598         int count = countByCompanyId(companyId);
599 
600         Session session = null;
601 
602         try {
603             session = openSession();
604 
605             StringBuilder query = new StringBuilder();
606 
607             query.append(
608                 "SELECT emailAddress FROM EmailAddress emailAddress WHERE ");
609 
610             query.append("emailAddress.companyId = ?");
611 
612             query.append(" ");
613 
614             if (obc != null) {
615                 query.append("ORDER BY ");
616 
617                 String[] orderByFields = obc.getOrderByFields();
618 
619                 for (int i = 0; i < orderByFields.length; i++) {
620                     query.append("emailAddress.");
621                     query.append(orderByFields[i]);
622 
623                     if (obc.isAscending()) {
624                         query.append(" ASC");
625                     }
626                     else {
627                         query.append(" DESC");
628                     }
629 
630                     if ((i + 1) < orderByFields.length) {
631                         query.append(", ");
632                     }
633                 }
634             }
635 
636             else {
637                 query.append("ORDER BY ");
638 
639                 query.append("emailAddress.createDate ASC");
640             }
641 
642             Query q = session.createQuery(query.toString());
643 
644             QueryPos qPos = QueryPos.getInstance(q);
645 
646             qPos.add(companyId);
647 
648             Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
649                     emailAddress);
650 
651             EmailAddress[] array = new EmailAddressImpl[3];
652 
653             array[0] = (EmailAddress)objArray[0];
654             array[1] = (EmailAddress)objArray[1];
655             array[2] = (EmailAddress)objArray[2];
656 
657             return array;
658         }
659         catch (Exception e) {
660             throw processException(e);
661         }
662         finally {
663             closeSession(session);
664         }
665     }
666 
667     public List<EmailAddress> findByUserId(long userId)
668         throws SystemException {
669         Object[] finderArgs = new Object[] { new Long(userId) };
670 
671         List<EmailAddress> list = (List<EmailAddress>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_USERID,
672                 finderArgs, this);
673 
674         if (list == null) {
675             Session session = null;
676 
677             try {
678                 session = openSession();
679 
680                 StringBuilder query = new StringBuilder();
681 
682                 query.append(
683                     "SELECT emailAddress FROM EmailAddress emailAddress WHERE ");
684 
685                 query.append("emailAddress.userId = ?");
686 
687                 query.append(" ");
688 
689                 query.append("ORDER BY ");
690 
691                 query.append("emailAddress.createDate ASC");
692 
693                 Query q = session.createQuery(query.toString());
694 
695                 QueryPos qPos = QueryPos.getInstance(q);
696 
697                 qPos.add(userId);
698 
699                 list = q.list();
700             }
701             catch (Exception e) {
702                 throw processException(e);
703             }
704             finally {
705                 if (list == null) {
706                     list = new ArrayList<EmailAddress>();
707                 }
708 
709                 cacheResult(list);
710 
711                 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_USERID,
712                     finderArgs, list);
713 
714                 closeSession(session);
715             }
716         }
717 
718         return list;
719     }
720 
721     public List<EmailAddress> findByUserId(long userId, int start, int end)
722         throws SystemException {
723         return findByUserId(userId, start, end, null);
724     }
725 
726     public List<EmailAddress> findByUserId(long userId, int start, int end,
727         OrderByComparator obc) throws SystemException {
728         Object[] finderArgs = new Object[] {
729                 new Long(userId),
730                 
731                 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
732             };
733 
734         List<EmailAddress> list = (List<EmailAddress>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_OBC_USERID,
735                 finderArgs, this);
736 
737         if (list == null) {
738             Session session = null;
739 
740             try {
741                 session = openSession();
742 
743                 StringBuilder query = new StringBuilder();
744 
745                 query.append(
746                     "SELECT emailAddress FROM EmailAddress emailAddress WHERE ");
747 
748                 query.append("emailAddress.userId = ?");
749 
750                 query.append(" ");
751 
752                 if (obc != null) {
753                     query.append("ORDER BY ");
754 
755                     String[] orderByFields = obc.getOrderByFields();
756 
757                     for (int i = 0; i < orderByFields.length; i++) {
758                         query.append("emailAddress.");
759                         query.append(orderByFields[i]);
760 
761                         if (obc.isAscending()) {
762                             query.append(" ASC");
763                         }
764                         else {
765                             query.append(" DESC");
766                         }
767 
768                         if ((i + 1) < orderByFields.length) {
769                             query.append(", ");
770                         }
771                     }
772                 }
773 
774                 else {
775                     query.append("ORDER BY ");
776 
777                     query.append("emailAddress.createDate ASC");
778                 }
779 
780                 Query q = session.createQuery(query.toString());
781 
782                 QueryPos qPos = QueryPos.getInstance(q);
783 
784                 qPos.add(userId);
785 
786                 list = (List<EmailAddress>)QueryUtil.list(q, getDialect(),
787                         start, end);
788             }
789             catch (Exception e) {
790                 throw processException(e);
791             }
792             finally {
793                 if (list == null) {
794                     list = new ArrayList<EmailAddress>();
795                 }
796 
797                 cacheResult(list);
798 
799                 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_OBC_USERID,
800                     finderArgs, list);
801 
802                 closeSession(session);
803             }
804         }
805 
806         return list;
807     }
808 
809     public EmailAddress findByUserId_First(long userId, OrderByComparator obc)
810         throws NoSuchEmailAddressException, SystemException {
811         List<EmailAddress> list = findByUserId(userId, 0, 1, obc);
812 
813         if (list.isEmpty()) {
814             StringBuilder msg = new StringBuilder();
815 
816             msg.append("No EmailAddress exists with the key {");
817 
818             msg.append("userId=" + userId);
819 
820             msg.append(StringPool.CLOSE_CURLY_BRACE);
821 
822             throw new NoSuchEmailAddressException(msg.toString());
823         }
824         else {
825             return list.get(0);
826         }
827     }
828 
829     public EmailAddress findByUserId_Last(long userId, OrderByComparator obc)
830         throws NoSuchEmailAddressException, SystemException {
831         int count = countByUserId(userId);
832 
833         List<EmailAddress> list = findByUserId(userId, count - 1, count, obc);
834 
835         if (list.isEmpty()) {
836             StringBuilder msg = new StringBuilder();
837 
838             msg.append("No EmailAddress exists with the key {");
839 
840             msg.append("userId=" + userId);
841 
842             msg.append(StringPool.CLOSE_CURLY_BRACE);
843 
844             throw new NoSuchEmailAddressException(msg.toString());
845         }
846         else {
847             return list.get(0);
848         }
849     }
850 
851     public EmailAddress[] findByUserId_PrevAndNext(long emailAddressId,
852         long userId, OrderByComparator obc)
853         throws NoSuchEmailAddressException, SystemException {
854         EmailAddress emailAddress = findByPrimaryKey(emailAddressId);
855 
856         int count = countByUserId(userId);
857 
858         Session session = null;
859 
860         try {
861             session = openSession();
862 
863             StringBuilder query = new StringBuilder();
864 
865             query.append(
866                 "SELECT emailAddress FROM EmailAddress emailAddress WHERE ");
867 
868             query.append("emailAddress.userId = ?");
869 
870             query.append(" ");
871 
872             if (obc != null) {
873                 query.append("ORDER BY ");
874 
875                 String[] orderByFields = obc.getOrderByFields();
876 
877                 for (int i = 0; i < orderByFields.length; i++) {
878                     query.append("emailAddress.");
879                     query.append(orderByFields[i]);
880 
881                     if (obc.isAscending()) {
882                         query.append(" ASC");
883                     }
884                     else {
885                         query.append(" DESC");
886                     }
887 
888                     if ((i + 1) < orderByFields.length) {
889                         query.append(", ");
890                     }
891                 }
892             }
893 
894             else {
895                 query.append("ORDER BY ");
896 
897                 query.append("emailAddress.createDate ASC");
898             }
899 
900             Query q = session.createQuery(query.toString());
901 
902             QueryPos qPos = QueryPos.getInstance(q);
903 
904             qPos.add(userId);
905 
906             Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
907                     emailAddress);
908 
909             EmailAddress[] array = new EmailAddressImpl[3];
910 
911             array[0] = (EmailAddress)objArray[0];
912             array[1] = (EmailAddress)objArray[1];
913             array[2] = (EmailAddress)objArray[2];
914 
915             return array;
916         }
917         catch (Exception e) {
918             throw processException(e);
919         }
920         finally {
921             closeSession(session);
922         }
923     }
924 
925     public List<EmailAddress> findByC_C(long companyId, long classNameId)
926         throws SystemException {
927         Object[] finderArgs = new Object[] {
928                 new Long(companyId), new Long(classNameId)
929             };
930 
931         List<EmailAddress> list = (List<EmailAddress>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_C_C,
932                 finderArgs, this);
933 
934         if (list == null) {
935             Session session = null;
936 
937             try {
938                 session = openSession();
939 
940                 StringBuilder query = new StringBuilder();
941 
942                 query.append(
943                     "SELECT emailAddress FROM EmailAddress emailAddress WHERE ");
944 
945                 query.append("emailAddress.companyId = ?");
946 
947                 query.append(" AND ");
948 
949                 query.append("emailAddress.classNameId = ?");
950 
951                 query.append(" ");
952 
953                 query.append("ORDER BY ");
954 
955                 query.append("emailAddress.createDate ASC");
956 
957                 Query q = session.createQuery(query.toString());
958 
959                 QueryPos qPos = QueryPos.getInstance(q);
960 
961                 qPos.add(companyId);
962 
963                 qPos.add(classNameId);
964 
965                 list = q.list();
966             }
967             catch (Exception e) {
968                 throw processException(e);
969             }
970             finally {
971                 if (list == null) {
972                     list = new ArrayList<EmailAddress>();
973                 }
974 
975                 cacheResult(list);
976 
977                 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_C_C, finderArgs,
978                     list);
979 
980                 closeSession(session);
981             }
982         }
983 
984         return list;
985     }
986 
987     public List<EmailAddress> findByC_C(long companyId, long classNameId,
988         int start, int end) throws SystemException {
989         return findByC_C(companyId, classNameId, start, end, null);
990     }
991 
992     public List<EmailAddress> findByC_C(long companyId, long classNameId,
993         int start, int end, OrderByComparator obc) throws SystemException {
994         Object[] finderArgs = new Object[] {
995                 new Long(companyId), new Long(classNameId),
996                 
997                 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
998             };
999 
1000        List<EmailAddress> list = (List<EmailAddress>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_OBC_C_C,
1001                finderArgs, this);
1002
1003        if (list == null) {
1004            Session session = null;
1005
1006            try {
1007                session = openSession();
1008
1009                StringBuilder query = new StringBuilder();
1010
1011                query.append(
1012                    "SELECT emailAddress FROM EmailAddress emailAddress WHERE ");
1013
1014                query.append("emailAddress.companyId = ?");
1015
1016                query.append(" AND ");
1017
1018                query.append("emailAddress.classNameId = ?");
1019
1020                query.append(" ");
1021
1022                if (obc != null) {
1023                    query.append("ORDER BY ");
1024
1025                    String[] orderByFields = obc.getOrderByFields();
1026
1027                    for (int i = 0; i < orderByFields.length; i++) {
1028                        query.append("emailAddress.");
1029                        query.append(orderByFields[i]);
1030
1031                        if (obc.isAscending()) {
1032                            query.append(" ASC");
1033                        }
1034                        else {
1035                            query.append(" DESC");
1036                        }
1037
1038                        if ((i + 1) < orderByFields.length) {
1039                            query.append(", ");
1040                        }
1041                    }
1042                }
1043
1044                else {
1045                    query.append("ORDER BY ");
1046
1047                    query.append("emailAddress.createDate ASC");
1048                }
1049
1050                Query q = session.createQuery(query.toString());
1051
1052                QueryPos qPos = QueryPos.getInstance(q);
1053
1054                qPos.add(companyId);
1055
1056                qPos.add(classNameId);
1057
1058                list = (List<EmailAddress>)QueryUtil.list(q, getDialect(),
1059                        start, end);
1060            }
1061            catch (Exception e) {
1062                throw processException(e);
1063            }
1064            finally {
1065                if (list == null) {
1066                    list = new ArrayList<EmailAddress>();
1067                }
1068
1069                cacheResult(list);
1070
1071                FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_OBC_C_C,
1072                    finderArgs, list);
1073
1074                closeSession(session);
1075            }
1076        }
1077
1078        return list;
1079    }
1080
1081    public EmailAddress findByC_C_First(long companyId, long classNameId,
1082        OrderByComparator obc)
1083        throws NoSuchEmailAddressException, SystemException {
1084        List<EmailAddress> list = findByC_C(companyId, classNameId, 0, 1, obc);
1085
1086        if (list.isEmpty()) {
1087            StringBuilder msg = new StringBuilder();
1088
1089            msg.append("No EmailAddress exists with the key {");
1090
1091            msg.append("companyId=" + companyId);
1092
1093            msg.append(", ");
1094            msg.append("classNameId=" + classNameId);
1095
1096            msg.append(StringPool.CLOSE_CURLY_BRACE);
1097
1098            throw new NoSuchEmailAddressException(msg.toString());
1099        }
1100        else {
1101            return list.get(0);
1102        }
1103    }
1104
1105    public EmailAddress findByC_C_Last(long companyId, long classNameId,
1106        OrderByComparator obc)
1107        throws NoSuchEmailAddressException, SystemException {
1108        int count = countByC_C(companyId, classNameId);
1109
1110        List<EmailAddress> list = findByC_C(companyId, classNameId, count - 1,
1111                count, obc);
1112
1113        if (list.isEmpty()) {
1114            StringBuilder msg = new StringBuilder();
1115
1116            msg.append("No EmailAddress exists with the key {");
1117
1118            msg.append("companyId=" + companyId);
1119
1120            msg.append(", ");
1121            msg.append("classNameId=" + classNameId);
1122
1123            msg.append(StringPool.CLOSE_CURLY_BRACE);
1124
1125            throw new NoSuchEmailAddressException(msg.toString());
1126        }
1127        else {
1128            return list.get(0);
1129        }
1130    }
1131
1132    public EmailAddress[] findByC_C_PrevAndNext(long emailAddressId,
1133        long companyId, long classNameId, OrderByComparator obc)
1134        throws NoSuchEmailAddressException, SystemException {
1135        EmailAddress emailAddress = findByPrimaryKey(emailAddressId);
1136
1137        int count = countByC_C(companyId, classNameId);
1138
1139        Session session = null;
1140
1141        try {
1142            session = openSession();
1143
1144            StringBuilder query = new StringBuilder();
1145
1146            query.append(
1147                "SELECT emailAddress FROM EmailAddress emailAddress WHERE ");
1148
1149            query.append("emailAddress.companyId = ?");
1150
1151            query.append(" AND ");
1152
1153            query.append("emailAddress.classNameId = ?");
1154
1155            query.append(" ");
1156
1157            if (obc != null) {
1158                query.append("ORDER BY ");
1159
1160                String[] orderByFields = obc.getOrderByFields();
1161
1162                for (int i = 0; i < orderByFields.length; i++) {
1163                    query.append("emailAddress.");
1164                    query.append(orderByFields[i]);
1165
1166                    if (obc.isAscending()) {
1167                        query.append(" ASC");
1168                    }
1169                    else {
1170                        query.append(" DESC");
1171                    }
1172
1173                    if ((i + 1) < orderByFields.length) {
1174                        query.append(", ");
1175                    }
1176                }
1177            }
1178
1179            else {
1180                query.append("ORDER BY ");
1181
1182                query.append("emailAddress.createDate ASC");
1183            }
1184
1185            Query q = session.createQuery(query.toString());
1186
1187            QueryPos qPos = QueryPos.getInstance(q);
1188
1189            qPos.add(companyId);
1190
1191            qPos.add(classNameId);
1192
1193            Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
1194                    emailAddress);
1195
1196            EmailAddress[] array = new EmailAddressImpl[3];
1197
1198            array[0] = (EmailAddress)objArray[0];
1199            array[1] = (EmailAddress)objArray[1];
1200            array[2] = (EmailAddress)objArray[2];
1201
1202            return array;
1203        }
1204        catch (Exception e) {
1205            throw processException(e);
1206        }
1207        finally {
1208            closeSession(session);
1209        }
1210    }
1211
1212    public List<EmailAddress> findByC_C_C(long companyId, long classNameId,
1213        long classPK) throws SystemException {
1214        Object[] finderArgs = new Object[] {
1215                new Long(companyId), new Long(classNameId), new Long(classPK)
1216            };
1217
1218        List<EmailAddress> list = (List<EmailAddress>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_C_C_C,
1219                finderArgs, this);
1220
1221        if (list == null) {
1222            Session session = null;
1223
1224            try {
1225                session = openSession();
1226
1227                StringBuilder query = new StringBuilder();
1228
1229                query.append(
1230                    "SELECT emailAddress FROM EmailAddress emailAddress WHERE ");
1231
1232                query.append("emailAddress.companyId = ?");
1233
1234                query.append(" AND ");
1235
1236                query.append("emailAddress.classNameId = ?");
1237
1238                query.append(" AND ");
1239
1240                query.append("emailAddress.classPK = ?");
1241
1242                query.append(" ");
1243
1244                query.append("ORDER BY ");
1245
1246                query.append("emailAddress.createDate ASC");
1247
1248                Query q = session.createQuery(query.toString());
1249
1250                QueryPos qPos = QueryPos.getInstance(q);
1251
1252                qPos.add(companyId);
1253
1254                qPos.add(classNameId);
1255
1256                qPos.add(classPK);
1257
1258                list = q.list();
1259            }
1260            catch (Exception e) {
1261                throw processException(e);
1262            }
1263            finally {
1264                if (list == null) {
1265                    list = new ArrayList<EmailAddress>();
1266                }
1267
1268                cacheResult(list);
1269
1270                FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_C_C_C,
1271                    finderArgs, list);
1272
1273                closeSession(session);
1274            }
1275        }
1276
1277        return list;
1278    }
1279
1280    public List<EmailAddress> findByC_C_C(long companyId, long classNameId,
1281        long classPK, int start, int end) throws SystemException {
1282        return findByC_C_C(companyId, classNameId, classPK, start, end, null);
1283    }
1284
1285    public List<EmailAddress> findByC_C_C(long companyId, long classNameId,
1286        long classPK, int start, int end, OrderByComparator obc)
1287        throws SystemException {
1288        Object[] finderArgs = new Object[] {
1289                new Long(companyId), new Long(classNameId), new Long(classPK),
1290                
1291                String.valueOf(start), String.valueOf(end), String.valueOf(obc)
1292            };
1293
1294        List<EmailAddress> list = (List<EmailAddress>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_OBC_C_C_C,
1295                finderArgs, this);
1296
1297        if (list == null) {
1298            Session session = null;
1299
1300            try {
1301                session = openSession();
1302
1303                StringBuilder query = new StringBuilder();
1304
1305                query.append(
1306                    "SELECT emailAddress FROM EmailAddress emailAddress WHERE ");
1307
1308                query.append("emailAddress.companyId = ?");
1309
1310                query.append(" AND ");
1311
1312                query.append("emailAddress.classNameId = ?");
1313
1314                query.append(" AND ");
1315
1316                query.append("emailAddress.classPK = ?");
1317
1318                query.append(" ");
1319
1320                if (obc != null) {
1321                    query.append("ORDER BY ");
1322
1323                    String[] orderByFields = obc.getOrderByFields();
1324
1325                    for (int i = 0; i < orderByFields.length; i++) {
1326                        query.append("emailAddress.");
1327                        query.append(orderByFields[i]);
1328
1329                        if (obc.isAscending()) {
1330                            query.append(" ASC");
1331                        }
1332                        else {
1333                            query.append(" DESC");
1334                        }
1335
1336                        if ((i + 1) < orderByFields.length) {
1337                            query.append(", ");
1338                        }
1339                    }
1340                }
1341
1342                else {
1343                    query.append("ORDER BY ");
1344
1345                    query.append("emailAddress.createDate ASC");
1346                }
1347
1348                Query q = session.createQuery(query.toString());
1349
1350                QueryPos qPos = QueryPos.getInstance(q);
1351
1352                qPos.add(companyId);
1353
1354                qPos.add(classNameId);
1355
1356                qPos.add(classPK);
1357
1358                list = (List<EmailAddress>)QueryUtil.list(q, getDialect(),
1359                        start, end);
1360            }
1361            catch (Exception e) {
1362                throw processException(e);
1363            }
1364            finally {
1365                if (list == null) {
1366                    list = new ArrayList<EmailAddress>();
1367                }
1368
1369                cacheResult(list);
1370
1371                FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_OBC_C_C_C,
1372                    finderArgs, list);
1373
1374                closeSession(session);
1375            }
1376        }
1377
1378        return list;
1379    }
1380
1381    public EmailAddress findByC_C_C_First(long companyId, long classNameId,
1382        long classPK, OrderByComparator obc)
1383        throws NoSuchEmailAddressException, SystemException {
1384        List<EmailAddress> list = findByC_C_C(companyId, classNameId, classPK,
1385                0, 1, obc);
1386
1387        if (list.isEmpty()) {
1388            StringBuilder msg = new StringBuilder();
1389
1390            msg.append("No EmailAddress exists with the key {");
1391
1392            msg.append("companyId=" + companyId);
1393
1394            msg.append(", ");
1395            msg.append("classNameId=" + classNameId);
1396
1397            msg.append(", ");
1398            msg.append("classPK=" + classPK);
1399
1400            msg.append(StringPool.CLOSE_CURLY_BRACE);
1401
1402            throw new NoSuchEmailAddressException(msg.toString());
1403        }
1404        else {
1405            return list.get(0);
1406        }
1407    }
1408
1409    public EmailAddress findByC_C_C_Last(long companyId, long classNameId,
1410        long classPK, OrderByComparator obc)
1411        throws NoSuchEmailAddressException, SystemException {
1412        int count = countByC_C_C(companyId, classNameId, classPK);
1413
1414        List<EmailAddress> list = findByC_C_C(companyId, classNameId, classPK,
1415                count - 1, count, obc);
1416
1417        if (list.isEmpty()) {
1418            StringBuilder msg = new StringBuilder();
1419
1420            msg.append("No EmailAddress exists with the key {");
1421
1422            msg.append("companyId=" + companyId);
1423
1424            msg.append(", ");
1425            msg.append("classNameId=" + classNameId);
1426
1427            msg.append(", ");
1428            msg.append("classPK=" + classPK);
1429
1430            msg.append(StringPool.CLOSE_CURLY_BRACE);
1431
1432            throw new NoSuchEmailAddressException(msg.toString());
1433        }
1434        else {
1435            return list.get(0);
1436        }
1437    }
1438
1439    public EmailAddress[] findByC_C_C_PrevAndNext(long emailAddressId,
1440        long companyId, long classNameId, long classPK, OrderByComparator obc)
1441        throws NoSuchEmailAddressException, SystemException {
1442        EmailAddress emailAddress = findByPrimaryKey(emailAddressId);
1443
1444        int count = countByC_C_C(companyId, classNameId, classPK);
1445
1446        Session session = null;
1447
1448        try {
1449            session = openSession();
1450
1451            StringBuilder query = new StringBuilder();
1452
1453            query.append(
1454                "SELECT emailAddress FROM EmailAddress emailAddress WHERE ");
1455
1456            query.append("emailAddress.companyId = ?");
1457
1458            query.append(" AND ");
1459
1460            query.append("emailAddress.classNameId = ?");
1461
1462            query.append(" AND ");
1463
1464            query.append("emailAddress.classPK = ?");
1465
1466            query.append(" ");
1467
1468            if (obc != null) {
1469                query.append("ORDER BY ");
1470
1471                String[] orderByFields = obc.getOrderByFields();
1472
1473                for (int i = 0; i < orderByFields.length; i++) {
1474                    query.append("emailAddress.");
1475                    query.append(orderByFields[i]);
1476
1477                    if (obc.isAscending()) {
1478                        query.append(" ASC");
1479                    }
1480                    else {
1481                        query.append(" DESC");
1482                    }
1483
1484                    if ((i + 1) < orderByFields.length) {
1485                        query.append(", ");
1486                    }
1487                }
1488            }
1489
1490            else {
1491                query.append("ORDER BY ");
1492
1493                query.append("emailAddress.createDate ASC");
1494            }
1495
1496            Query q = session.createQuery(query.toString());
1497
1498            QueryPos qPos = QueryPos.getInstance(q);
1499
1500            qPos.add(companyId);
1501
1502            qPos.add(classNameId);
1503
1504            qPos.add(classPK);
1505
1506            Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
1507                    emailAddress);
1508
1509            EmailAddress[] array = new EmailAddressImpl[3];
1510
1511            array[0] = (EmailAddress)objArray[0];
1512            array[1] = (EmailAddress)objArray[1];
1513            array[2] = (EmailAddress)objArray[2];
1514
1515            return array;
1516        }
1517        catch (Exception e) {
1518            throw processException(e);
1519        }
1520        finally {
1521            closeSession(session);
1522        }
1523    }
1524
1525    public List<EmailAddress> findByC_C_C_P(long companyId, long classNameId,
1526        long classPK, boolean primary) throws SystemException {
1527        Object[] finderArgs = new Object[] {
1528                new Long(companyId), new Long(classNameId), new Long(classPK),
1529                Boolean.valueOf(primary)
1530            };
1531
1532        List<EmailAddress> list = (List<EmailAddress>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_C_C_C_P,
1533                finderArgs, this);
1534
1535        if (list == null) {
1536            Session session = null;
1537
1538            try {
1539                session = openSession();
1540
1541                StringBuilder query = new StringBuilder();
1542
1543                query.append(
1544                    "SELECT emailAddress FROM EmailAddress emailAddress WHERE ");
1545
1546                query.append("emailAddress.companyId = ?");
1547
1548                query.append(" AND ");
1549
1550                query.append("emailAddress.classNameId = ?");
1551
1552                query.append(" AND ");
1553
1554                query.append("emailAddress.classPK = ?");
1555
1556                query.append(" AND ");
1557
1558                query.append("emailAddress.primary = ?");
1559
1560                query.append(" ");
1561
1562                query.append("ORDER BY ");
1563
1564                query.append("emailAddress.createDate ASC");
1565
1566                Query q = session.createQuery(query.toString());
1567
1568                QueryPos qPos = QueryPos.getInstance(q);
1569
1570                qPos.add(companyId);
1571
1572                qPos.add(classNameId);
1573
1574                qPos.add(classPK);
1575
1576                qPos.add(primary);
1577
1578                list = q.list();
1579            }
1580            catch (Exception e) {
1581                throw processException(e);
1582            }
1583            finally {
1584                if (list == null) {
1585                    list = new ArrayList<EmailAddress>();
1586                }
1587
1588                cacheResult(list);
1589
1590                FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_C_C_C_P,
1591                    finderArgs, list);
1592
1593                closeSession(session);
1594            }
1595        }
1596
1597        return list;
1598    }
1599
1600    public List<EmailAddress> findByC_C_C_P(long companyId, long classNameId,
1601        long classPK, boolean primary, int start, int end)
1602        throws SystemException {
1603        return findByC_C_C_P(companyId, classNameId, classPK, primary, start,
1604            end, null);
1605    }
1606
1607    public List<EmailAddress> findByC_C_C_P(long companyId, long classNameId,
1608        long classPK, boolean primary, int start, int end, OrderByComparator obc)
1609        throws SystemException {
1610        Object[] finderArgs = new Object[] {
1611                new Long(companyId), new Long(classNameId), new Long(classPK),
1612                Boolean.valueOf(primary),
1613                
1614                String.valueOf(start), String.valueOf(end), String.valueOf(obc)
1615            };
1616
1617        List<EmailAddress> list = (List<EmailAddress>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_OBC_C_C_C_P,
1618                finderArgs, this);
1619
1620        if (list == null) {
1621            Session session = null;
1622
1623            try {
1624                session = openSession();
1625
1626                StringBuilder query = new StringBuilder();
1627
1628                query.append(
1629                    "SELECT emailAddress FROM EmailAddress emailAddress WHERE ");
1630
1631                query.append("emailAddress.companyId = ?");
1632
1633                query.append(" AND ");
1634
1635                query.append("emailAddress.classNameId = ?");
1636
1637                query.append(" AND ");
1638
1639                query.append("emailAddress.classPK = ?");
1640
1641                query.append(" AND ");
1642
1643                query.append("emailAddress.primary = ?");
1644
1645                query.append(" ");
1646
1647                if (obc != null) {
1648                    query.append("ORDER BY ");
1649
1650                    String[] orderByFields = obc.getOrderByFields();
1651
1652                    for (int i = 0; i < orderByFields.length; i++) {
1653                        query.append("emailAddress.");
1654                        query.append(orderByFields[i]);
1655
1656                        if (obc.isAscending()) {
1657                            query.append(" ASC");
1658                        }
1659                        else {
1660                            query.append(" DESC");
1661                        }
1662
1663                        if ((i + 1) < orderByFields.length) {
1664                            query.append(", ");
1665                        }
1666                    }
1667                }
1668
1669                else {
1670                    query.append("ORDER BY ");
1671
1672                    query.append("emailAddress.createDate ASC");
1673                }
1674
1675                Query q = session.createQuery(query.toString());
1676
1677                QueryPos qPos = QueryPos.getInstance(q);
1678
1679                qPos.add(companyId);
1680
1681                qPos.add(classNameId);
1682
1683                qPos.add(classPK);
1684
1685                qPos.add(primary);
1686
1687                list = (List<EmailAddress>)QueryUtil.list(q, getDialect(),
1688                        start, end);
1689            }
1690            catch (Exception e) {
1691                throw processException(e);
1692            }
1693            finally {
1694                if (list == null) {
1695                    list = new ArrayList<EmailAddress>();
1696                }
1697
1698                cacheResult(list);
1699
1700                FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_OBC_C_C_C_P,
1701                    finderArgs, list);
1702
1703                closeSession(session);
1704            }
1705        }
1706
1707        return list;
1708    }
1709
1710    public EmailAddress findByC_C_C_P_First(long companyId, long classNameId,
1711        long classPK, boolean primary, OrderByComparator obc)
1712        throws NoSuchEmailAddressException, SystemException {
1713        List<EmailAddress> list = findByC_C_C_P(companyId, classNameId,
1714                classPK, primary, 0, 1, obc);
1715
1716        if (list.isEmpty()) {
1717            StringBuilder msg = new StringBuilder();
1718
1719            msg.append("No EmailAddress exists with the key {");
1720
1721            msg.append("companyId=" + companyId);
1722
1723            msg.append(", ");
1724            msg.append("classNameId=" + classNameId);
1725
1726            msg.append(", ");
1727            msg.append("classPK=" + classPK);
1728
1729            msg.append(", ");
1730            msg.append("primary=" + primary);
1731
1732            msg.append(StringPool.CLOSE_CURLY_BRACE);
1733
1734            throw new NoSuchEmailAddressException(msg.toString());
1735        }
1736        else {
1737            return list.get(0);
1738        }
1739    }
1740
1741    public EmailAddress findByC_C_C_P_Last(long companyId, long classNameId,
1742        long classPK, boolean primary, OrderByComparator obc)
1743        throws NoSuchEmailAddressException, SystemException {
1744        int count = countByC_C_C_P(companyId, classNameId, classPK, primary);
1745
1746        List<EmailAddress> list = findByC_C_C_P(companyId, classNameId,
1747                classPK, primary, count - 1, count, obc);
1748
1749        if (list.isEmpty()) {
1750            StringBuilder msg = new StringBuilder();
1751
1752            msg.append("No EmailAddress exists with the key {");
1753
1754            msg.append("companyId=" + companyId);
1755
1756            msg.append(", ");
1757            msg.append("classNameId=" + classNameId);
1758
1759            msg.append(", ");
1760            msg.append("classPK=" + classPK);
1761
1762            msg.append(", ");
1763            msg.append("primary=" + primary);
1764
1765            msg.append(StringPool.CLOSE_CURLY_BRACE);
1766
1767            throw new NoSuchEmailAddressException(msg.toString());
1768        }
1769        else {
1770            return list.get(0);
1771        }
1772    }
1773
1774    public EmailAddress[] findByC_C_C_P_PrevAndNext(long emailAddressId,
1775        long companyId, long classNameId, long classPK, boolean primary,
1776        OrderByComparator obc)
1777        throws NoSuchEmailAddressException, SystemException {
1778        EmailAddress emailAddress = findByPrimaryKey(emailAddressId);
1779
1780        int count = countByC_C_C_P(companyId, classNameId, classPK, primary);
1781
1782        Session session = null;
1783
1784        try {
1785            session = openSession();
1786
1787            StringBuilder query = new StringBuilder();
1788
1789            query.append(
1790                "SELECT emailAddress FROM EmailAddress emailAddress WHERE ");
1791
1792            query.append("emailAddress.companyId = ?");
1793
1794            query.append(" AND ");
1795
1796            query.append("emailAddress.classNameId = ?");
1797
1798            query.append(" AND ");
1799
1800            query.append("emailAddress.classPK = ?");
1801
1802            query.append(" AND ");
1803
1804            query.append("emailAddress.primary = ?");
1805
1806            query.append(" ");
1807
1808            if (obc != null) {
1809                query.append("ORDER BY ");
1810
1811                String[] orderByFields = obc.getOrderByFields();
1812
1813                for (int i = 0; i < orderByFields.length; i++) {
1814                    query.append("emailAddress.");
1815                    query.append(orderByFields[i]);
1816
1817                    if (obc.isAscending()) {
1818                        query.append(" ASC");
1819                    }
1820                    else {
1821                        query.append(" DESC");
1822                    }
1823
1824                    if ((i + 1) < orderByFields.length) {
1825                        query.append(", ");
1826                    }
1827                }
1828            }
1829
1830            else {
1831                query.append("ORDER BY ");
1832
1833                query.append("emailAddress.createDate ASC");
1834            }
1835
1836            Query q = session.createQuery(query.toString());
1837
1838            QueryPos qPos = QueryPos.getInstance(q);
1839
1840            qPos.add(companyId);
1841
1842            qPos.add(classNameId);
1843
1844            qPos.add(classPK);
1845
1846            qPos.add(primary);
1847
1848            Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
1849                    emailAddress);
1850
1851            EmailAddress[] array = new EmailAddressImpl[3];
1852
1853            array[0] = (EmailAddress)objArray[0];
1854            array[1] = (EmailAddress)objArray[1];
1855            array[2] = (EmailAddress)objArray[2];
1856
1857            return array;
1858        }
1859        catch (Exception e) {
1860            throw processException(e);
1861        }
1862        finally {
1863            closeSession(session);
1864        }
1865    }
1866
1867    public List<Object> findWithDynamicQuery(DynamicQuery dynamicQuery)
1868        throws SystemException {
1869        Session session = null;
1870
1871        try {
1872            session = openSession();
1873
1874            dynamicQuery.compile(session);
1875
1876            return dynamicQuery.list();
1877        }
1878        catch (Exception e) {
1879            throw processException(e);
1880        }
1881        finally {
1882            closeSession(session);
1883        }
1884    }
1885
1886    public List<Object> findWithDynamicQuery(DynamicQuery dynamicQuery,
1887        int start, int end) throws SystemException {
1888        Session session = null;
1889
1890        try {
1891            session = openSession();
1892
1893            dynamicQuery.setLimit(start, end);
1894
1895            dynamicQuery.compile(session);
1896
1897            return dynamicQuery.list();
1898        }
1899        catch (Exception e) {
1900            throw processException(e);
1901        }
1902        finally {
1903            closeSession(session);
1904        }
1905    }
1906
1907    public List<EmailAddress> findAll() throws SystemException {
1908        return findAll(QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
1909    }
1910
1911    public List<EmailAddress> findAll(int start, int end)
1912        throws SystemException {
1913        return findAll(start, end, null);
1914    }
1915
1916    public List<EmailAddress> findAll(int start, int end, OrderByComparator obc)
1917        throws SystemException {
1918        Object[] finderArgs = new Object[] {
1919                String.valueOf(start), String.valueOf(end), String.valueOf(obc)
1920            };
1921
1922        List<EmailAddress> list = (List<EmailAddress>)FinderCacheUtil.getResult(FINDER_PATH_FIND_ALL,
1923                finderArgs, this);
1924
1925        if (list == null) {
1926            Session session = null;
1927
1928            try {
1929                session = openSession();
1930
1931                StringBuilder query = new StringBuilder();
1932
1933                query.append(
1934                    "SELECT emailAddress FROM EmailAddress emailAddress ");
1935
1936                if (obc != null) {
1937                    query.append("ORDER BY ");
1938
1939                    String[] orderByFields = obc.getOrderByFields();
1940
1941                    for (int i = 0; i < orderByFields.length; i++) {
1942                        query.append("emailAddress.");
1943                        query.append(orderByFields[i]);
1944
1945                        if (obc.isAscending()) {
1946                            query.append(" ASC");
1947                        }
1948                        else {
1949                            query.append(" DESC");
1950                        }
1951
1952                        if ((i + 1) < orderByFields.length) {
1953                            query.append(", ");
1954                        }
1955                    }
1956                }
1957
1958                else {
1959                    query.append("ORDER BY ");
1960
1961                    query.append("emailAddress.createDate ASC");
1962                }
1963
1964                Query q = session.createQuery(query.toString());
1965
1966                if (obc == null) {
1967                    list = (List<EmailAddress>)QueryUtil.list(q, getDialect(),
1968                            start, end, false);
1969
1970                    Collections.sort(list);
1971                }
1972                else {
1973                    list = (List<EmailAddress>)QueryUtil.list(q, getDialect(),
1974                            start, end);
1975                }
1976            }
1977            catch (Exception e) {
1978                throw processException(e);
1979            }
1980            finally {
1981                if (list == null) {
1982                    list = new ArrayList<EmailAddress>();
1983                }
1984
1985                cacheResult(list);
1986
1987                FinderCacheUtil.putResult(FINDER_PATH_FIND_ALL, finderArgs, list);
1988
1989                closeSession(session);
1990            }
1991        }
1992
1993        return list;
1994    }
1995
1996    public void removeByCompanyId(long companyId) throws SystemException {
1997        for (EmailAddress emailAddress : findByCompanyId(companyId)) {
1998            remove(emailAddress);
1999        }
2000    }
2001
2002    public void removeByUserId(long userId) throws SystemException {
2003        for (EmailAddress emailAddress : findByUserId(userId)) {
2004            remove(emailAddress);
2005        }
2006    }
2007
2008    public void removeByC_C(long companyId, long classNameId)
2009        throws SystemException {
2010        for (EmailAddress emailAddress : findByC_C(companyId, classNameId)) {
2011            remove(emailAddress);
2012        }
2013    }
2014
2015    public void removeByC_C_C(long companyId, long classNameId, long classPK)
2016        throws SystemException {
2017        for (EmailAddress emailAddress : findByC_C_C(companyId, classNameId,
2018                classPK)) {
2019            remove(emailAddress);
2020        }
2021    }
2022
2023    public void removeByC_C_C_P(long companyId, long classNameId, long classPK,
2024        boolean primary) throws SystemException {
2025        for (EmailAddress emailAddress : findByC_C_C_P(companyId, classNameId,
2026                classPK, primary)) {
2027            remove(emailAddress);
2028        }
2029    }
2030
2031    public void removeAll() throws SystemException {
2032        for (EmailAddress emailAddress : findAll()) {
2033            remove(emailAddress);
2034        }
2035    }
2036
2037    public int countByCompanyId(long companyId) throws SystemException {
2038        Object[] finderArgs = new Object[] { new Long(companyId) };
2039
2040        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_COMPANYID,
2041                finderArgs, this);
2042
2043        if (count == null) {
2044            Session session = null;
2045
2046            try {
2047                session = openSession();
2048
2049                StringBuilder query = new StringBuilder();
2050
2051                query.append("SELECT COUNT(emailAddress) ");
2052                query.append("FROM EmailAddress emailAddress WHERE ");
2053
2054                query.append("emailAddress.companyId = ?");
2055
2056                query.append(" ");
2057
2058                Query q = session.createQuery(query.toString());
2059
2060                QueryPos qPos = QueryPos.getInstance(q);
2061
2062                qPos.add(companyId);
2063
2064                count = (Long)q.uniqueResult();
2065            }
2066            catch (Exception e) {
2067                throw processException(e);
2068            }
2069            finally {
2070                if (count == null) {
2071                    count = Long.valueOf(0);
2072                }
2073
2074                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_COMPANYID,
2075                    finderArgs, count);
2076
2077                closeSession(session);
2078            }
2079        }
2080
2081        return count.intValue();
2082    }
2083
2084    public int countByUserId(long userId) throws SystemException {
2085        Object[] finderArgs = new Object[] { new Long(userId) };
2086
2087        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_USERID,
2088                finderArgs, this);
2089
2090        if (count == null) {
2091            Session session = null;
2092
2093            try {
2094                session = openSession();
2095
2096                StringBuilder query = new StringBuilder();
2097
2098                query.append("SELECT COUNT(emailAddress) ");
2099                query.append("FROM EmailAddress emailAddress WHERE ");
2100
2101                query.append("emailAddress.userId = ?");
2102
2103                query.append(" ");
2104
2105                Query q = session.createQuery(query.toString());
2106
2107                QueryPos qPos = QueryPos.getInstance(q);
2108
2109                qPos.add(userId);
2110
2111                count = (Long)q.uniqueResult();
2112            }
2113            catch (Exception e) {
2114                throw processException(e);
2115            }
2116            finally {
2117                if (count == null) {
2118                    count = Long.valueOf(0);
2119                }
2120
2121                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_USERID,
2122                    finderArgs, count);
2123
2124                closeSession(session);
2125            }
2126        }
2127
2128        return count.intValue();
2129    }
2130
2131    public int countByC_C(long companyId, long classNameId)
2132        throws SystemException {
2133        Object[] finderArgs = new Object[] {
2134                new Long(companyId), new Long(classNameId)
2135            };
2136
2137        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_C_C,
2138                finderArgs, this);
2139
2140        if (count == null) {
2141            Session session = null;
2142
2143            try {
2144                session = openSession();
2145
2146                StringBuilder query = new StringBuilder();
2147
2148                query.append("SELECT COUNT(emailAddress) ");
2149                query.append("FROM EmailAddress emailAddress WHERE ");
2150
2151                query.append("emailAddress.companyId = ?");
2152
2153                query.append(" AND ");
2154
2155                query.append("emailAddress.classNameId = ?");
2156
2157                query.append(" ");
2158
2159                Query q = session.createQuery(query.toString());
2160
2161                QueryPos qPos = QueryPos.getInstance(q);
2162
2163                qPos.add(companyId);
2164
2165                qPos.add(classNameId);
2166
2167                count = (Long)q.uniqueResult();
2168            }
2169            catch (Exception e) {
2170                throw processException(e);
2171            }
2172            finally {
2173                if (count == null) {
2174                    count = Long.valueOf(0);
2175                }
2176
2177                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_C_C, finderArgs,
2178                    count);
2179
2180                closeSession(session);
2181            }
2182        }
2183
2184        return count.intValue();
2185    }
2186
2187    public int countByC_C_C(long companyId, long classNameId, long classPK)
2188        throws SystemException {
2189        Object[] finderArgs = new Object[] {
2190                new Long(companyId), new Long(classNameId), new Long(classPK)
2191            };
2192
2193        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_C_C_C,
2194                finderArgs, this);
2195
2196        if (count == null) {
2197            Session session = null;
2198
2199            try {
2200                session = openSession();
2201
2202                StringBuilder query = new StringBuilder();
2203
2204                query.append("SELECT COUNT(emailAddress) ");
2205                query.append("FROM EmailAddress emailAddress WHERE ");
2206
2207                query.append("emailAddress.companyId = ?");
2208
2209                query.append(" AND ");
2210
2211                query.append("emailAddress.classNameId = ?");
2212
2213                query.append(" AND ");
2214
2215                query.append("emailAddress.classPK = ?");
2216
2217                query.append(" ");
2218
2219                Query q = session.createQuery(query.toString());
2220
2221                QueryPos qPos = QueryPos.getInstance(q);
2222
2223                qPos.add(companyId);
2224
2225                qPos.add(classNameId);
2226
2227                qPos.add(classPK);
2228
2229                count = (Long)q.uniqueResult();
2230            }
2231            catch (Exception e) {
2232                throw processException(e);
2233            }
2234            finally {
2235                if (count == null) {
2236                    count = Long.valueOf(0);
2237                }
2238
2239                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_C_C_C,
2240                    finderArgs, count);
2241
2242                closeSession(session);
2243            }
2244        }
2245
2246        return count.intValue();
2247    }
2248
2249    public int countByC_C_C_P(long companyId, long classNameId, long classPK,
2250        boolean primary) throws SystemException {
2251        Object[] finderArgs = new Object[] {
2252                new Long(companyId), new Long(classNameId), new Long(classPK),
2253                Boolean.valueOf(primary)
2254            };
2255
2256        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_C_C_C_P,
2257                finderArgs, this);
2258
2259        if (count == null) {
2260            Session session = null;
2261
2262            try {
2263                session = openSession();
2264
2265                StringBuilder query = new StringBuilder();
2266
2267                query.append("SELECT COUNT(emailAddress) ");
2268                query.append("FROM EmailAddress emailAddress WHERE ");
2269
2270                query.append("emailAddress.companyId = ?");
2271
2272                query.append(" AND ");
2273
2274                query.append("emailAddress.classNameId = ?");
2275
2276                query.append(" AND ");
2277
2278                query.append("emailAddress.classPK = ?");
2279
2280                query.append(" AND ");
2281
2282                query.append("emailAddress.primary = ?");
2283
2284                query.append(" ");
2285
2286                Query q = session.createQuery(query.toString());
2287
2288                QueryPos qPos = QueryPos.getInstance(q);
2289
2290                qPos.add(companyId);
2291
2292                qPos.add(classNameId);
2293
2294                qPos.add(classPK);
2295
2296                qPos.add(primary);
2297
2298                count = (Long)q.uniqueResult();
2299            }
2300            catch (Exception e) {
2301                throw processException(e);
2302            }
2303            finally {
2304                if (count == null) {
2305                    count = Long.valueOf(0);
2306                }
2307
2308                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_C_C_C_P,
2309                    finderArgs, count);
2310
2311                closeSession(session);
2312            }
2313        }
2314
2315        return count.intValue();
2316    }
2317
2318    public int countAll() throws SystemException {
2319        Object[] finderArgs = new Object[0];
2320
2321        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_ALL,
2322                finderArgs, this);
2323
2324        if (count == null) {
2325            Session session = null;
2326
2327            try {
2328                session = openSession();
2329
2330                Query q = session.createQuery(
2331                        "SELECT COUNT(emailAddress) FROM EmailAddress emailAddress");
2332
2333                count = (Long)q.uniqueResult();
2334            }
2335            catch (Exception e) {
2336                throw processException(e);
2337            }
2338            finally {
2339                if (count == null) {
2340                    count = Long.valueOf(0);
2341                }
2342
2343                FinderCacheUtil.putResult(FINDER_PATH_COUNT_ALL, finderArgs,
2344                    count);
2345
2346                closeSession(session);
2347            }
2348        }
2349
2350        return count.intValue();
2351    }
2352
2353    public void afterPropertiesSet() {
2354        String[] listenerClassNames = StringUtil.split(GetterUtil.getString(
2355                    com.liferay.portal.util.PropsUtil.get(
2356                        "value.object.listener.com.liferay.portal.model.EmailAddress")));
2357
2358        if (listenerClassNames.length > 0) {
2359            try {
2360                List<ModelListener<EmailAddress>> listenersList = new ArrayList<ModelListener<EmailAddress>>();
2361
2362                for (String listenerClassName : listenerClassNames) {
2363                    listenersList.add((ModelListener<EmailAddress>)Class.forName(
2364                            listenerClassName).newInstance());
2365                }
2366
2367                listeners = listenersList.toArray(new ModelListener[listenersList.size()]);
2368            }
2369            catch (Exception e) {
2370                _log.error(e);
2371            }
2372        }
2373    }
2374
2375    @BeanReference(name = "com.liferay.portal.service.persistence.AccountPersistence.impl")
2376    protected com.liferay.portal.service.persistence.AccountPersistence accountPersistence;
2377    @BeanReference(name = "com.liferay.portal.service.persistence.AddressPersistence.impl")
2378    protected com.liferay.portal.service.persistence.AddressPersistence addressPersistence;
2379    @BeanReference(name = "com.liferay.portal.service.persistence.BrowserTrackerPersistence.impl")
2380    protected com.liferay.portal.service.persistence.BrowserTrackerPersistence browserTrackerPersistence;
2381    @BeanReference(name = "com.liferay.portal.service.persistence.ClassNamePersistence.impl")
2382    protected com.liferay.portal.service.persistence.ClassNamePersistence classNamePersistence;
2383    @BeanReference(name = "com.liferay.portal.service.persistence.CompanyPersistence.impl")
2384    protected com.liferay.portal.service.persistence.CompanyPersistence companyPersistence;
2385    @BeanReference(name = "com.liferay.portal.service.persistence.ContactPersistence.impl")
2386    protected com.liferay.portal.service.persistence.ContactPersistence contactPersistence;
2387    @BeanReference(name = "com.liferay.portal.service.persistence.CountryPersistence.impl")
2388    protected com.liferay.portal.service.persistence.CountryPersistence countryPersistence;
2389    @BeanReference(name = "com.liferay.portal.service.persistence.EmailAddressPersistence.impl")
2390    protected com.liferay.portal.service.persistence.EmailAddressPersistence emailAddressPersistence;
2391    @BeanReference(name = "com.liferay.portal.service.persistence.GroupPersistence.impl")
2392    protected com.liferay.portal.service.persistence.GroupPersistence groupPersistence;
2393    @BeanReference(name = "com.liferay.portal.service.persistence.ImagePersistence.impl")
2394    protected com.liferay.portal.service.persistence.ImagePersistence imagePersistence;
2395    @BeanReference(name = "com.liferay.portal.service.persistence.LayoutPersistence.impl")
2396    protected com.liferay.portal.service.persistence.LayoutPersistence layoutPersistence;
2397    @BeanReference(name = "com.liferay.portal.service.persistence.LayoutSetPersistence.impl")
2398    protected com.liferay.portal.service.persistence.LayoutSetPersistence layoutSetPersistence;
2399    @BeanReference(name = "com.liferay.portal.service.persistence.ListTypePersistence.impl")
2400    protected com.liferay.portal.service.persistence.ListTypePersistence listTypePersistence;
2401    @BeanReference(name = "com.liferay.portal.service.persistence.MembershipRequestPersistence.impl")
2402    protected com.liferay.portal.service.persistence.MembershipRequestPersistence membershipRequestPersistence;
2403    @BeanReference(name = "com.liferay.portal.service.persistence.OrganizationPersistence.impl")
2404    protected com.liferay.portal.service.persistence.OrganizationPersistence organizationPersistence;
2405    @BeanReference(name = "com.liferay.portal.service.persistence.OrgGroupPermissionPersistence.impl")
2406    protected com.liferay.portal.service.persistence.OrgGroupPermissionPersistence orgGroupPermissionPersistence;
2407    @BeanReference(name = "com.liferay.portal.service.persistence.OrgGroupRolePersistence.impl")
2408    protected com.liferay.portal.service.persistence.OrgGroupRolePersistence orgGroupRolePersistence;
2409    @BeanReference(name = "com.liferay.portal.service.persistence.OrgLaborPersistence.impl")
2410    protected com.liferay.portal.service.persistence.OrgLaborPersistence orgLaborPersistence;
2411    @BeanReference(name = "com.liferay.portal.service.persistence.PasswordPolicyPersistence.impl")
2412    protected com.liferay.portal.service.persistence.PasswordPolicyPersistence passwordPolicyPersistence;
2413    @BeanReference(name = "com.liferay.portal.service.persistence.PasswordPolicyRelPersistence.impl")
2414    protected com.liferay.portal.service.persistence.PasswordPolicyRelPersistence passwordPolicyRelPersistence;
2415    @BeanReference(name = "com.liferay.portal.service.persistence.PasswordTrackerPersistence.impl")
2416    protected com.liferay.portal.service.persistence.PasswordTrackerPersistence passwordTrackerPersistence;
2417    @BeanReference(name = "com.liferay.portal.service.persistence.PermissionPersistence.impl")
2418    protected com.liferay.portal.service.persistence.PermissionPersistence permissionPersistence;
2419    @BeanReference(name = "com.liferay.portal.service.persistence.PhonePersistence.impl")
2420    protected com.liferay.portal.service.persistence.PhonePersistence phonePersistence;
2421    @BeanReference(name = "com.liferay.portal.service.persistence.PluginSettingPersistence.impl")
2422    protected com.liferay.portal.service.persistence.PluginSettingPersistence pluginSettingPersistence;
2423    @BeanReference(name = "com.liferay.portal.service.persistence.PortletPersistence.impl")
2424    protected com.liferay.portal.service.persistence.PortletPersistence portletPersistence;
2425    @BeanReference(name = "com.liferay.portal.service.persistence.PortletItemPersistence.impl")
2426    protected com.liferay.portal.service.persistence.PortletItemPersistence portletItemPersistence;
2427    @BeanReference(name = "com.liferay.portal.service.persistence.PortletPreferencesPersistence.impl")
2428    protected com.liferay.portal.service.persistence.PortletPreferencesPersistence portletPreferencesPersistence;
2429    @BeanReference(name = "com.liferay.portal.service.persistence.RegionPersistence.impl")
2430    protected com.liferay.portal.service.persistence.RegionPersistence regionPersistence;
2431    @BeanReference(name = "com.liferay.portal.service.persistence.ReleasePersistence.impl")
2432    protected com.liferay.portal.service.persistence.ReleasePersistence releasePersistence;
2433    @BeanReference(name = "com.liferay.portal.service.persistence.ResourcePersistence.impl")
2434    protected com.liferay.portal.service.persistence.ResourcePersistence resourcePersistence;
2435    @BeanReference(name = "com.liferay.portal.service.persistence.ResourceActionPersistence.impl")
2436    protected com.liferay.portal.service.persistence.ResourceActionPersistence resourceActionPersistence;
2437    @BeanReference(name = "com.liferay.portal.service.persistence.ResourceCodePersistence.impl")
2438    protected com.liferay.portal.service.persistence.ResourceCodePersistence resourceCodePersistence;
2439    @BeanReference(name = "com.liferay.portal.service.persistence.ResourcePermissionPersistence.impl")
2440    protected com.liferay.portal.service.persistence.ResourcePermissionPersistence resourcePermissionPersistence;
2441    @BeanReference(name = "com.liferay.portal.service.persistence.RolePersistence.impl")
2442    protected com.liferay.portal.service.persistence.RolePersistence rolePersistence;
2443    @BeanReference(name = "com.liferay.portal.service.persistence.ServiceComponentPersistence.impl")
2444    protected com.liferay.portal.service.persistence.ServiceComponentPersistence serviceComponentPersistence;
2445    @BeanReference(name = "com.liferay.portal.service.persistence.ShardPersistence.impl")
2446    protected com.liferay.portal.service.persistence.ShardPersistence shardPersistence;
2447    @BeanReference(name = "com.liferay.portal.service.persistence.SubscriptionPersistence.impl")
2448    protected com.liferay.portal.service.persistence.SubscriptionPersistence subscriptionPersistence;
2449    @BeanReference(name = "com.liferay.portal.service.persistence.UserPersistence.impl")
2450    protected com.liferay.portal.service.persistence.UserPersistence userPersistence;
2451    @BeanReference(name = "com.liferay.portal.service.persistence.UserGroupPersistence.impl")
2452    protected com.liferay.portal.service.persistence.UserGroupPersistence userGroupPersistence;
2453    @BeanReference(name = "com.liferay.portal.service.persistence.UserGroupRolePersistence.impl")
2454    protected com.liferay.portal.service.persistence.UserGroupRolePersistence userGroupRolePersistence;
2455    @BeanReference(name = "com.liferay.portal.service.persistence.UserIdMapperPersistence.impl")
2456    protected com.liferay.portal.service.persistence.UserIdMapperPersistence userIdMapperPersistence;
2457    @BeanReference(name = "com.liferay.portal.service.persistence.UserTrackerPersistence.impl")
2458    protected com.liferay.portal.service.persistence.UserTrackerPersistence userTrackerPersistence;
2459    @BeanReference(name = "com.liferay.portal.service.persistence.UserTrackerPathPersistence.impl")
2460    protected com.liferay.portal.service.persistence.UserTrackerPathPersistence userTrackerPathPersistence;
2461    @BeanReference(name = "com.liferay.portal.service.persistence.WebDAVPropsPersistence.impl")
2462    protected com.liferay.portal.service.persistence.WebDAVPropsPersistence webDAVPropsPersistence;
2463    @BeanReference(name = "com.liferay.portal.service.persistence.WebsitePersistence.impl")
2464    protected com.liferay.portal.service.persistence.WebsitePersistence websitePersistence;
2465    private static Log _log = LogFactoryUtil.getLog(EmailAddressPersistenceImpl.class);
2466}