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