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