1   /**
2    * Copyright (c) 2000-2007 Liferay, Inc. All rights reserved.
3    *
4    * Permission is hereby granted, free of charge, to any person obtaining a copy
5    * of this software and associated documentation files (the "Software"), to deal
6    * in the Software without restriction, including without limitation the rights
7    * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8    * copies of the Software, and to permit persons to whom the Software is
9    * furnished to do so, subject to the following conditions:
10   *
11   * The above copyright notice and this permission notice shall be included in
12   * all copies or substantial portions of the Software.
13   *
14   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20   * SOFTWARE.
21   */
22  
23  package com.liferay.portal.service.persistence;
24  
25  import com.liferay.portal.NoSuchEmailAddressException;
26  import com.liferay.portal.SystemException;
27  import com.liferay.portal.kernel.dao.DynamicQuery;
28  import com.liferay.portal.kernel.dao.DynamicQueryInitializer;
29  import com.liferay.portal.kernel.util.OrderByComparator;
30  import com.liferay.portal.kernel.util.StringMaker;
31  import com.liferay.portal.kernel.util.StringPool;
32  import com.liferay.portal.model.EmailAddress;
33  import com.liferay.portal.model.impl.EmailAddressImpl;
34  import com.liferay.portal.service.persistence.BasePersistence;
35  import com.liferay.portal.spring.hibernate.FinderCache;
36  import com.liferay.portal.spring.hibernate.HibernateUtil;
37  
38  import com.liferay.util.dao.hibernate.QueryUtil;
39  
40  import org.apache.commons.logging.Log;
41  import org.apache.commons.logging.LogFactory;
42  
43  import org.hibernate.Query;
44  import org.hibernate.Session;
45  
46  import java.util.Collections;
47  import java.util.Iterator;
48  import java.util.List;
49  
50  /**
51   * <a href="EmailAddressPersistenceImpl.java.html"><b><i>View Source</i></b></a>
52   *
53   * @author Brian Wing Shun Chan
54   *
55   */
56  public class EmailAddressPersistenceImpl extends BasePersistence
57      implements EmailAddressPersistence {
58      public EmailAddress create(long emailAddressId) {
59          EmailAddress emailAddress = new EmailAddressImpl();
60          emailAddress.setNew(true);
61          emailAddress.setPrimaryKey(emailAddressId);
62  
63          return emailAddress;
64      }
65  
66      public EmailAddress remove(long emailAddressId)
67          throws NoSuchEmailAddressException, SystemException {
68          Session session = null;
69  
70          try {
71              session = openSession();
72  
73              EmailAddress emailAddress = (EmailAddress)session.get(EmailAddressImpl.class,
74                      new Long(emailAddressId));
75  
76              if (emailAddress == null) {
77                  if (_log.isWarnEnabled()) {
78                      _log.warn("No EmailAddress exists with the primary key " +
79                          emailAddressId);
80                  }
81  
82                  throw new NoSuchEmailAddressException(
83                      "No EmailAddress exists with the primary key " +
84                      emailAddressId);
85              }
86  
87              return remove(emailAddress);
88          }
89          catch (NoSuchEmailAddressException nsee) {
90              throw nsee;
91          }
92          catch (Exception e) {
93              throw HibernateUtil.processException(e);
94          }
95          finally {
96              closeSession(session);
97          }
98      }
99  
100     public EmailAddress remove(EmailAddress emailAddress)
101         throws SystemException {
102         Session session = null;
103 
104         try {
105             session = openSession();
106             session.delete(emailAddress);
107             session.flush();
108 
109             return emailAddress;
110         }
111         catch (Exception e) {
112             throw HibernateUtil.processException(e);
113         }
114         finally {
115             closeSession(session);
116             FinderCache.clearCache(EmailAddress.class.getName());
117         }
118     }
119 
120     public EmailAddress update(
121         com.liferay.portal.model.EmailAddress emailAddress)
122         throws SystemException {
123         return update(emailAddress, false);
124     }
125 
126     public EmailAddress update(
127         com.liferay.portal.model.EmailAddress emailAddress, boolean merge)
128         throws SystemException {
129         Session session = null;
130 
131         try {
132             session = openSession();
133 
134             if (merge) {
135                 session.merge(emailAddress);
136             }
137             else {
138                 if (emailAddress.isNew()) {
139                     session.save(emailAddress);
140                 }
141             }
142 
143             session.flush();
144             emailAddress.setNew(false);
145 
146             return emailAddress;
147         }
148         catch (Exception e) {
149             throw HibernateUtil.processException(e);
150         }
151         finally {
152             closeSession(session);
153             FinderCache.clearCache(EmailAddress.class.getName());
154         }
155     }
156 
157     public EmailAddress findByPrimaryKey(long emailAddressId)
158         throws NoSuchEmailAddressException, SystemException {
159         EmailAddress emailAddress = fetchByPrimaryKey(emailAddressId);
160 
161         if (emailAddress == null) {
162             if (_log.isWarnEnabled()) {
163                 _log.warn("No EmailAddress exists with the primary key " +
164                     emailAddressId);
165             }
166 
167             throw new NoSuchEmailAddressException(
168                 "No EmailAddress exists with the primary key " +
169                 emailAddressId);
170         }
171 
172         return emailAddress;
173     }
174 
175     public EmailAddress fetchByPrimaryKey(long emailAddressId)
176         throws SystemException {
177         Session session = null;
178 
179         try {
180             session = openSession();
181 
182             return (EmailAddress)session.get(EmailAddressImpl.class,
183                 new Long(emailAddressId));
184         }
185         catch (Exception e) {
186             throw HibernateUtil.processException(e);
187         }
188         finally {
189             closeSession(session);
190         }
191     }
192 
193     public List findByCompanyId(long companyId) throws SystemException {
194         String finderClassName = EmailAddress.class.getName();
195         String finderMethodName = "findByCompanyId";
196         String[] finderParams = new String[] { Long.class.getName() };
197         Object[] finderArgs = new Object[] { new Long(companyId) };
198         Object result = FinderCache.getResult(finderClassName,
199                 finderMethodName, finderParams, finderArgs, getSessionFactory());
200 
201         if (result == null) {
202             Session session = null;
203 
204             try {
205                 session = openSession();
206 
207                 StringMaker query = new StringMaker();
208                 query.append(
209                     "FROM com.liferay.portal.model.EmailAddress WHERE ");
210                 query.append("companyId = ?");
211                 query.append(" ");
212                 query.append("ORDER BY ");
213                 query.append("createDate ASC");
214 
215                 Query q = session.createQuery(query.toString());
216                 int queryPos = 0;
217                 q.setLong(queryPos++, companyId);
218 
219                 List list = q.list();
220                 FinderCache.putResult(finderClassName, finderMethodName,
221                     finderParams, finderArgs, list);
222 
223                 return list;
224             }
225             catch (Exception e) {
226                 throw HibernateUtil.processException(e);
227             }
228             finally {
229                 closeSession(session);
230             }
231         }
232         else {
233             return (List)result;
234         }
235     }
236 
237     public List findByCompanyId(long companyId, int begin, int end)
238         throws SystemException {
239         return findByCompanyId(companyId, begin, end, null);
240     }
241 
242     public List findByCompanyId(long companyId, int begin, int end,
243         OrderByComparator obc) throws SystemException {
244         String finderClassName = EmailAddress.class.getName();
245         String finderMethodName = "findByCompanyId";
246         String[] finderParams = new String[] {
247                 Long.class.getName(), "java.lang.Integer", "java.lang.Integer",
248                 "com.liferay.portal.kernel.util.OrderByComparator"
249             };
250         Object[] finderArgs = new Object[] {
251                 new Long(companyId), String.valueOf(begin), String.valueOf(end),
252                 String.valueOf(obc)
253             };
254         Object result = FinderCache.getResult(finderClassName,
255                 finderMethodName, finderParams, finderArgs, getSessionFactory());
256 
257         if (result == null) {
258             Session session = null;
259 
260             try {
261                 session = openSession();
262 
263                 StringMaker query = new StringMaker();
264                 query.append(
265                     "FROM com.liferay.portal.model.EmailAddress WHERE ");
266                 query.append("companyId = ?");
267                 query.append(" ");
268 
269                 if (obc != null) {
270                     query.append("ORDER BY ");
271                     query.append(obc.getOrderBy());
272                 }
273                 else {
274                     query.append("ORDER BY ");
275                     query.append("createDate ASC");
276                 }
277 
278                 Query q = session.createQuery(query.toString());
279                 int queryPos = 0;
280                 q.setLong(queryPos++, companyId);
281 
282                 List list = QueryUtil.list(q, getDialect(), begin, end);
283                 FinderCache.putResult(finderClassName, finderMethodName,
284                     finderParams, finderArgs, list);
285 
286                 return list;
287             }
288             catch (Exception e) {
289                 throw HibernateUtil.processException(e);
290             }
291             finally {
292                 closeSession(session);
293             }
294         }
295         else {
296             return (List)result;
297         }
298     }
299 
300     public EmailAddress findByCompanyId_First(long companyId,
301         OrderByComparator obc)
302         throws NoSuchEmailAddressException, SystemException {
303         List list = findByCompanyId(companyId, 0, 1, obc);
304 
305         if (list.size() == 0) {
306             StringMaker msg = new StringMaker();
307             msg.append("No EmailAddress exists with the key ");
308             msg.append(StringPool.OPEN_CURLY_BRACE);
309             msg.append("companyId=");
310             msg.append(companyId);
311             msg.append(StringPool.CLOSE_CURLY_BRACE);
312             throw new NoSuchEmailAddressException(msg.toString());
313         }
314         else {
315             return (EmailAddress)list.get(0);
316         }
317     }
318 
319     public EmailAddress findByCompanyId_Last(long companyId,
320         OrderByComparator obc)
321         throws NoSuchEmailAddressException, SystemException {
322         int count = countByCompanyId(companyId);
323         List list = findByCompanyId(companyId, count - 1, count, obc);
324 
325         if (list.size() == 0) {
326             StringMaker msg = new StringMaker();
327             msg.append("No EmailAddress exists with the key ");
328             msg.append(StringPool.OPEN_CURLY_BRACE);
329             msg.append("companyId=");
330             msg.append(companyId);
331             msg.append(StringPool.CLOSE_CURLY_BRACE);
332             throw new NoSuchEmailAddressException(msg.toString());
333         }
334         else {
335             return (EmailAddress)list.get(0);
336         }
337     }
338 
339     public EmailAddress[] findByCompanyId_PrevAndNext(long emailAddressId,
340         long companyId, OrderByComparator obc)
341         throws NoSuchEmailAddressException, SystemException {
342         EmailAddress emailAddress = findByPrimaryKey(emailAddressId);
343         int count = countByCompanyId(companyId);
344         Session session = null;
345 
346         try {
347             session = openSession();
348 
349             StringMaker query = new StringMaker();
350             query.append("FROM com.liferay.portal.model.EmailAddress WHERE ");
351             query.append("companyId = ?");
352             query.append(" ");
353 
354             if (obc != null) {
355                 query.append("ORDER BY ");
356                 query.append(obc.getOrderBy());
357             }
358             else {
359                 query.append("ORDER BY ");
360                 query.append("createDate ASC");
361             }
362 
363             Query q = session.createQuery(query.toString());
364             int queryPos = 0;
365             q.setLong(queryPos++, companyId);
366 
367             Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
368                     emailAddress);
369             EmailAddress[] array = new EmailAddressImpl[3];
370             array[0] = (EmailAddress)objArray[0];
371             array[1] = (EmailAddress)objArray[1];
372             array[2] = (EmailAddress)objArray[2];
373 
374             return array;
375         }
376         catch (Exception e) {
377             throw HibernateUtil.processException(e);
378         }
379         finally {
380             closeSession(session);
381         }
382     }
383 
384     public List findByUserId(long userId) throws SystemException {
385         String finderClassName = EmailAddress.class.getName();
386         String finderMethodName = "findByUserId";
387         String[] finderParams = new String[] { Long.class.getName() };
388         Object[] finderArgs = new Object[] { new Long(userId) };
389         Object result = FinderCache.getResult(finderClassName,
390                 finderMethodName, finderParams, finderArgs, getSessionFactory());
391 
392         if (result == null) {
393             Session session = null;
394 
395             try {
396                 session = openSession();
397 
398                 StringMaker query = new StringMaker();
399                 query.append(
400                     "FROM com.liferay.portal.model.EmailAddress WHERE ");
401                 query.append("userId = ?");
402                 query.append(" ");
403                 query.append("ORDER BY ");
404                 query.append("createDate ASC");
405 
406                 Query q = session.createQuery(query.toString());
407                 int queryPos = 0;
408                 q.setLong(queryPos++, userId);
409 
410                 List list = q.list();
411                 FinderCache.putResult(finderClassName, finderMethodName,
412                     finderParams, finderArgs, list);
413 
414                 return list;
415             }
416             catch (Exception e) {
417                 throw HibernateUtil.processException(e);
418             }
419             finally {
420                 closeSession(session);
421             }
422         }
423         else {
424             return (List)result;
425         }
426     }
427 
428     public List findByUserId(long userId, int begin, int end)
429         throws SystemException {
430         return findByUserId(userId, begin, end, null);
431     }
432 
433     public List findByUserId(long userId, int begin, int end,
434         OrderByComparator obc) throws SystemException {
435         String finderClassName = EmailAddress.class.getName();
436         String finderMethodName = "findByUserId";
437         String[] finderParams = new String[] {
438                 Long.class.getName(), "java.lang.Integer", "java.lang.Integer",
439                 "com.liferay.portal.kernel.util.OrderByComparator"
440             };
441         Object[] finderArgs = new Object[] {
442                 new Long(userId), String.valueOf(begin), String.valueOf(end),
443                 String.valueOf(obc)
444             };
445         Object result = FinderCache.getResult(finderClassName,
446                 finderMethodName, finderParams, finderArgs, getSessionFactory());
447 
448         if (result == null) {
449             Session session = null;
450 
451             try {
452                 session = openSession();
453 
454                 StringMaker query = new StringMaker();
455                 query.append(
456                     "FROM com.liferay.portal.model.EmailAddress WHERE ");
457                 query.append("userId = ?");
458                 query.append(" ");
459 
460                 if (obc != null) {
461                     query.append("ORDER BY ");
462                     query.append(obc.getOrderBy());
463                 }
464                 else {
465                     query.append("ORDER BY ");
466                     query.append("createDate ASC");
467                 }
468 
469                 Query q = session.createQuery(query.toString());
470                 int queryPos = 0;
471                 q.setLong(queryPos++, userId);
472 
473                 List list = QueryUtil.list(q, getDialect(), begin, end);
474                 FinderCache.putResult(finderClassName, finderMethodName,
475                     finderParams, finderArgs, list);
476 
477                 return list;
478             }
479             catch (Exception e) {
480                 throw HibernateUtil.processException(e);
481             }
482             finally {
483                 closeSession(session);
484             }
485         }
486         else {
487             return (List)result;
488         }
489     }
490 
491     public EmailAddress findByUserId_First(long userId, OrderByComparator obc)
492         throws NoSuchEmailAddressException, SystemException {
493         List list = findByUserId(userId, 0, 1, obc);
494 
495         if (list.size() == 0) {
496             StringMaker msg = new StringMaker();
497             msg.append("No EmailAddress exists with the key ");
498             msg.append(StringPool.OPEN_CURLY_BRACE);
499             msg.append("userId=");
500             msg.append(userId);
501             msg.append(StringPool.CLOSE_CURLY_BRACE);
502             throw new NoSuchEmailAddressException(msg.toString());
503         }
504         else {
505             return (EmailAddress)list.get(0);
506         }
507     }
508 
509     public EmailAddress findByUserId_Last(long userId, OrderByComparator obc)
510         throws NoSuchEmailAddressException, SystemException {
511         int count = countByUserId(userId);
512         List list = findByUserId(userId, count - 1, count, obc);
513 
514         if (list.size() == 0) {
515             StringMaker msg = new StringMaker();
516             msg.append("No EmailAddress exists with the key ");
517             msg.append(StringPool.OPEN_CURLY_BRACE);
518             msg.append("userId=");
519             msg.append(userId);
520             msg.append(StringPool.CLOSE_CURLY_BRACE);
521             throw new NoSuchEmailAddressException(msg.toString());
522         }
523         else {
524             return (EmailAddress)list.get(0);
525         }
526     }
527 
528     public EmailAddress[] findByUserId_PrevAndNext(long emailAddressId,
529         long userId, OrderByComparator obc)
530         throws NoSuchEmailAddressException, SystemException {
531         EmailAddress emailAddress = findByPrimaryKey(emailAddressId);
532         int count = countByUserId(userId);
533         Session session = null;
534 
535         try {
536             session = openSession();
537 
538             StringMaker query = new StringMaker();
539             query.append("FROM com.liferay.portal.model.EmailAddress WHERE ");
540             query.append("userId = ?");
541             query.append(" ");
542 
543             if (obc != null) {
544                 query.append("ORDER BY ");
545                 query.append(obc.getOrderBy());
546             }
547             else {
548                 query.append("ORDER BY ");
549                 query.append("createDate ASC");
550             }
551 
552             Query q = session.createQuery(query.toString());
553             int queryPos = 0;
554             q.setLong(queryPos++, userId);
555 
556             Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
557                     emailAddress);
558             EmailAddress[] array = new EmailAddressImpl[3];
559             array[0] = (EmailAddress)objArray[0];
560             array[1] = (EmailAddress)objArray[1];
561             array[2] = (EmailAddress)objArray[2];
562 
563             return array;
564         }
565         catch (Exception e) {
566             throw HibernateUtil.processException(e);
567         }
568         finally {
569             closeSession(session);
570         }
571     }
572 
573     public List findByC_C(long companyId, long classNameId)
574         throws SystemException {
575         String finderClassName = EmailAddress.class.getName();
576         String finderMethodName = "findByC_C";
577         String[] finderParams = new String[] {
578                 Long.class.getName(), Long.class.getName()
579             };
580         Object[] finderArgs = new Object[] {
581                 new Long(companyId), new Long(classNameId)
582             };
583         Object result = FinderCache.getResult(finderClassName,
584                 finderMethodName, finderParams, finderArgs, getSessionFactory());
585 
586         if (result == null) {
587             Session session = null;
588 
589             try {
590                 session = openSession();
591 
592                 StringMaker query = new StringMaker();
593                 query.append(
594                     "FROM com.liferay.portal.model.EmailAddress WHERE ");
595                 query.append("companyId = ?");
596                 query.append(" AND ");
597                 query.append("classNameId = ?");
598                 query.append(" ");
599                 query.append("ORDER BY ");
600                 query.append("createDate ASC");
601 
602                 Query q = session.createQuery(query.toString());
603                 int queryPos = 0;
604                 q.setLong(queryPos++, companyId);
605                 q.setLong(queryPos++, classNameId);
606 
607                 List list = q.list();
608                 FinderCache.putResult(finderClassName, finderMethodName,
609                     finderParams, finderArgs, list);
610 
611                 return list;
612             }
613             catch (Exception e) {
614                 throw HibernateUtil.processException(e);
615             }
616             finally {
617                 closeSession(session);
618             }
619         }
620         else {
621             return (List)result;
622         }
623     }
624 
625     public List findByC_C(long companyId, long classNameId, int begin, int end)
626         throws SystemException {
627         return findByC_C(companyId, classNameId, begin, end, null);
628     }
629 
630     public List findByC_C(long companyId, long classNameId, int begin, int end,
631         OrderByComparator obc) throws SystemException {
632         String finderClassName = EmailAddress.class.getName();
633         String finderMethodName = "findByC_C";
634         String[] finderParams = new String[] {
635                 Long.class.getName(), Long.class.getName(), "java.lang.Integer",
636                 "java.lang.Integer",
637                 "com.liferay.portal.kernel.util.OrderByComparator"
638             };
639         Object[] finderArgs = new Object[] {
640                 new Long(companyId), new Long(classNameId),
641                 String.valueOf(begin), String.valueOf(end), String.valueOf(obc)
642             };
643         Object result = FinderCache.getResult(finderClassName,
644                 finderMethodName, finderParams, finderArgs, getSessionFactory());
645 
646         if (result == null) {
647             Session session = null;
648 
649             try {
650                 session = openSession();
651 
652                 StringMaker query = new StringMaker();
653                 query.append(
654                     "FROM com.liferay.portal.model.EmailAddress WHERE ");
655                 query.append("companyId = ?");
656                 query.append(" AND ");
657                 query.append("classNameId = ?");
658                 query.append(" ");
659 
660                 if (obc != null) {
661                     query.append("ORDER BY ");
662                     query.append(obc.getOrderBy());
663                 }
664                 else {
665                     query.append("ORDER BY ");
666                     query.append("createDate ASC");
667                 }
668 
669                 Query q = session.createQuery(query.toString());
670                 int queryPos = 0;
671                 q.setLong(queryPos++, companyId);
672                 q.setLong(queryPos++, classNameId);
673 
674                 List list = QueryUtil.list(q, getDialect(), begin, end);
675                 FinderCache.putResult(finderClassName, finderMethodName,
676                     finderParams, finderArgs, list);
677 
678                 return list;
679             }
680             catch (Exception e) {
681                 throw HibernateUtil.processException(e);
682             }
683             finally {
684                 closeSession(session);
685             }
686         }
687         else {
688             return (List)result;
689         }
690     }
691 
692     public EmailAddress findByC_C_First(long companyId, long classNameId,
693         OrderByComparator obc)
694         throws NoSuchEmailAddressException, SystemException {
695         List list = findByC_C(companyId, classNameId, 0, 1, obc);
696 
697         if (list.size() == 0) {
698             StringMaker msg = new StringMaker();
699             msg.append("No EmailAddress exists with the key ");
700             msg.append(StringPool.OPEN_CURLY_BRACE);
701             msg.append("companyId=");
702             msg.append(companyId);
703             msg.append(", ");
704             msg.append("classNameId=");
705             msg.append(classNameId);
706             msg.append(StringPool.CLOSE_CURLY_BRACE);
707             throw new NoSuchEmailAddressException(msg.toString());
708         }
709         else {
710             return (EmailAddress)list.get(0);
711         }
712     }
713 
714     public EmailAddress findByC_C_Last(long companyId, long classNameId,
715         OrderByComparator obc)
716         throws NoSuchEmailAddressException, SystemException {
717         int count = countByC_C(companyId, classNameId);
718         List list = findByC_C(companyId, classNameId, count - 1, count, obc);
719 
720         if (list.size() == 0) {
721             StringMaker msg = new StringMaker();
722             msg.append("No EmailAddress exists with the key ");
723             msg.append(StringPool.OPEN_CURLY_BRACE);
724             msg.append("companyId=");
725             msg.append(companyId);
726             msg.append(", ");
727             msg.append("classNameId=");
728             msg.append(classNameId);
729             msg.append(StringPool.CLOSE_CURLY_BRACE);
730             throw new NoSuchEmailAddressException(msg.toString());
731         }
732         else {
733             return (EmailAddress)list.get(0);
734         }
735     }
736 
737     public EmailAddress[] findByC_C_PrevAndNext(long emailAddressId,
738         long companyId, long classNameId, OrderByComparator obc)
739         throws NoSuchEmailAddressException, SystemException {
740         EmailAddress emailAddress = findByPrimaryKey(emailAddressId);
741         int count = countByC_C(companyId, classNameId);
742         Session session = null;
743 
744         try {
745             session = openSession();
746 
747             StringMaker query = new StringMaker();
748             query.append("FROM com.liferay.portal.model.EmailAddress WHERE ");
749             query.append("companyId = ?");
750             query.append(" AND ");
751             query.append("classNameId = ?");
752             query.append(" ");
753 
754             if (obc != null) {
755                 query.append("ORDER BY ");
756                 query.append(obc.getOrderBy());
757             }
758             else {
759                 query.append("ORDER BY ");
760                 query.append("createDate ASC");
761             }
762 
763             Query q = session.createQuery(query.toString());
764             int queryPos = 0;
765             q.setLong(queryPos++, companyId);
766             q.setLong(queryPos++, classNameId);
767 
768             Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
769                     emailAddress);
770             EmailAddress[] array = new EmailAddressImpl[3];
771             array[0] = (EmailAddress)objArray[0];
772             array[1] = (EmailAddress)objArray[1];
773             array[2] = (EmailAddress)objArray[2];
774 
775             return array;
776         }
777         catch (Exception e) {
778             throw HibernateUtil.processException(e);
779         }
780         finally {
781             closeSession(session);
782         }
783     }
784 
785     public List findByC_C_C(long companyId, long classNameId, long classPK)
786         throws SystemException {
787         String finderClassName = EmailAddress.class.getName();
788         String finderMethodName = "findByC_C_C";
789         String[] finderParams = new String[] {
790                 Long.class.getName(), Long.class.getName(), Long.class.getName()
791             };
792         Object[] finderArgs = new Object[] {
793                 new Long(companyId), new Long(classNameId), new Long(classPK)
794             };
795         Object result = FinderCache.getResult(finderClassName,
796                 finderMethodName, finderParams, finderArgs, getSessionFactory());
797 
798         if (result == null) {
799             Session session = null;
800 
801             try {
802                 session = openSession();
803 
804                 StringMaker query = new StringMaker();
805                 query.append(
806                     "FROM com.liferay.portal.model.EmailAddress WHERE ");
807                 query.append("companyId = ?");
808                 query.append(" AND ");
809                 query.append("classNameId = ?");
810                 query.append(" AND ");
811                 query.append("classPK = ?");
812                 query.append(" ");
813                 query.append("ORDER BY ");
814                 query.append("createDate ASC");
815 
816                 Query q = session.createQuery(query.toString());
817                 int queryPos = 0;
818                 q.setLong(queryPos++, companyId);
819                 q.setLong(queryPos++, classNameId);
820                 q.setLong(queryPos++, classPK);
821 
822                 List list = q.list();
823                 FinderCache.putResult(finderClassName, finderMethodName,
824                     finderParams, finderArgs, list);
825 
826                 return list;
827             }
828             catch (Exception e) {
829                 throw HibernateUtil.processException(e);
830             }
831             finally {
832                 closeSession(session);
833             }
834         }
835         else {
836             return (List)result;
837         }
838     }
839 
840     public List findByC_C_C(long companyId, long classNameId, long classPK,
841         int begin, int end) throws SystemException {
842         return findByC_C_C(companyId, classNameId, classPK, begin, end, null);
843     }
844 
845     public List findByC_C_C(long companyId, long classNameId, long classPK,
846         int begin, int end, OrderByComparator obc) throws SystemException {
847         String finderClassName = EmailAddress.class.getName();
848         String finderMethodName = "findByC_C_C";
849         String[] finderParams = new String[] {
850                 Long.class.getName(), Long.class.getName(), Long.class.getName(),
851                 "java.lang.Integer", "java.lang.Integer",
852                 "com.liferay.portal.kernel.util.OrderByComparator"
853             };
854         Object[] finderArgs = new Object[] {
855                 new Long(companyId), new Long(classNameId), new Long(classPK),
856                 String.valueOf(begin), String.valueOf(end), String.valueOf(obc)
857             };
858         Object result = FinderCache.getResult(finderClassName,
859                 finderMethodName, finderParams, finderArgs, getSessionFactory());
860 
861         if (result == null) {
862             Session session = null;
863 
864             try {
865                 session = openSession();
866 
867                 StringMaker query = new StringMaker();
868                 query.append(
869                     "FROM com.liferay.portal.model.EmailAddress WHERE ");
870                 query.append("companyId = ?");
871                 query.append(" AND ");
872                 query.append("classNameId = ?");
873                 query.append(" AND ");
874                 query.append("classPK = ?");
875                 query.append(" ");
876 
877                 if (obc != null) {
878                     query.append("ORDER BY ");
879                     query.append(obc.getOrderBy());
880                 }
881                 else {
882                     query.append("ORDER BY ");
883                     query.append("createDate ASC");
884                 }
885 
886                 Query q = session.createQuery(query.toString());
887                 int queryPos = 0;
888                 q.setLong(queryPos++, companyId);
889                 q.setLong(queryPos++, classNameId);
890                 q.setLong(queryPos++, classPK);
891 
892                 List list = QueryUtil.list(q, getDialect(), begin, end);
893                 FinderCache.putResult(finderClassName, finderMethodName,
894                     finderParams, finderArgs, list);
895 
896                 return list;
897             }
898             catch (Exception e) {
899                 throw HibernateUtil.processException(e);
900             }
901             finally {
902                 closeSession(session);
903             }
904         }
905         else {
906             return (List)result;
907         }
908     }
909 
910     public EmailAddress findByC_C_C_First(long companyId, long classNameId,
911         long classPK, OrderByComparator obc)
912         throws NoSuchEmailAddressException, SystemException {
913         List list = findByC_C_C(companyId, classNameId, classPK, 0, 1, obc);
914 
915         if (list.size() == 0) {
916             StringMaker msg = new StringMaker();
917             msg.append("No EmailAddress exists with the key ");
918             msg.append(StringPool.OPEN_CURLY_BRACE);
919             msg.append("companyId=");
920             msg.append(companyId);
921             msg.append(", ");
922             msg.append("classNameId=");
923             msg.append(classNameId);
924             msg.append(", ");
925             msg.append("classPK=");
926             msg.append(classPK);
927             msg.append(StringPool.CLOSE_CURLY_BRACE);
928             throw new NoSuchEmailAddressException(msg.toString());
929         }
930         else {
931             return (EmailAddress)list.get(0);
932         }
933     }
934 
935     public EmailAddress findByC_C_C_Last(long companyId, long classNameId,
936         long classPK, OrderByComparator obc)
937         throws NoSuchEmailAddressException, SystemException {
938         int count = countByC_C_C(companyId, classNameId, classPK);
939         List list = findByC_C_C(companyId, classNameId, classPK, count - 1,
940                 count, obc);
941 
942         if (list.size() == 0) {
943             StringMaker msg = new StringMaker();
944             msg.append("No EmailAddress exists with the key ");
945             msg.append(StringPool.OPEN_CURLY_BRACE);
946             msg.append("companyId=");
947             msg.append(companyId);
948             msg.append(", ");
949             msg.append("classNameId=");
950             msg.append(classNameId);
951             msg.append(", ");
952             msg.append("classPK=");
953             msg.append(classPK);
954             msg.append(StringPool.CLOSE_CURLY_BRACE);
955             throw new NoSuchEmailAddressException(msg.toString());
956         }
957         else {
958             return (EmailAddress)list.get(0);
959         }
960     }
961 
962     public EmailAddress[] findByC_C_C_PrevAndNext(long emailAddressId,
963         long companyId, long classNameId, long classPK, OrderByComparator obc)
964         throws NoSuchEmailAddressException, SystemException {
965         EmailAddress emailAddress = findByPrimaryKey(emailAddressId);
966         int count = countByC_C_C(companyId, classNameId, classPK);
967         Session session = null;
968 
969         try {
970             session = openSession();
971 
972             StringMaker query = new StringMaker();
973             query.append("FROM com.liferay.portal.model.EmailAddress WHERE ");
974             query.append("companyId = ?");
975             query.append(" AND ");
976             query.append("classNameId = ?");
977             query.append(" AND ");
978             query.append("classPK = ?");
979             query.append(" ");
980 
981             if (obc != null) {
982                 query.append("ORDER BY ");
983                 query.append(obc.getOrderBy());
984             }
985             else {
986                 query.append("ORDER BY ");
987                 query.append("createDate ASC");
988             }
989 
990             Query q = session.createQuery(query.toString());
991             int queryPos = 0;
992             q.setLong(queryPos++, companyId);
993             q.setLong(queryPos++, classNameId);
994             q.setLong(queryPos++, classPK);
995 
996             Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
997                     emailAddress);
998             EmailAddress[] array = new EmailAddressImpl[3];
999             array[0] = (EmailAddress)objArray[0];
1000            array[1] = (EmailAddress)objArray[1];
1001            array[2] = (EmailAddress)objArray[2];
1002
1003            return array;
1004        }
1005        catch (Exception e) {
1006            throw HibernateUtil.processException(e);
1007        }
1008        finally {
1009            closeSession(session);
1010        }
1011    }
1012
1013    public List findByC_C_C_P(long companyId, long classNameId, long classPK,
1014        boolean primary) throws SystemException {
1015        String finderClassName = EmailAddress.class.getName();
1016        String finderMethodName = "findByC_C_C_P";
1017        String[] finderParams = new String[] {
1018                Long.class.getName(), Long.class.getName(), Long.class.getName(),
1019                Boolean.class.getName()
1020            };
1021        Object[] finderArgs = new Object[] {
1022                new Long(companyId), new Long(classNameId), new Long(classPK),
1023                Boolean.valueOf(primary)
1024            };
1025        Object result = FinderCache.getResult(finderClassName,
1026                finderMethodName, finderParams, finderArgs, getSessionFactory());
1027
1028        if (result == null) {
1029            Session session = null;
1030
1031            try {
1032                session = openSession();
1033
1034                StringMaker query = new StringMaker();
1035                query.append(
1036                    "FROM com.liferay.portal.model.EmailAddress WHERE ");
1037                query.append("companyId = ?");
1038                query.append(" AND ");
1039                query.append("classNameId = ?");
1040                query.append(" AND ");
1041                query.append("classPK = ?");
1042                query.append(" AND ");
1043                query.append("primary_ = ?");
1044                query.append(" ");
1045                query.append("ORDER BY ");
1046                query.append("createDate ASC");
1047
1048                Query q = session.createQuery(query.toString());
1049                int queryPos = 0;
1050                q.setLong(queryPos++, companyId);
1051                q.setLong(queryPos++, classNameId);
1052                q.setLong(queryPos++, classPK);
1053                q.setBoolean(queryPos++, primary);
1054
1055                List list = q.list();
1056                FinderCache.putResult(finderClassName, finderMethodName,
1057                    finderParams, finderArgs, list);
1058
1059                return list;
1060            }
1061            catch (Exception e) {
1062                throw HibernateUtil.processException(e);
1063            }
1064            finally {
1065                closeSession(session);
1066            }
1067        }
1068        else {
1069            return (List)result;
1070        }
1071    }
1072
1073    public List findByC_C_C_P(long companyId, long classNameId, long classPK,
1074        boolean primary, int begin, int end) throws SystemException {
1075        return findByC_C_C_P(companyId, classNameId, classPK, primary, begin,
1076            end, null);
1077    }
1078
1079    public List findByC_C_C_P(long companyId, long classNameId, long classPK,
1080        boolean primary, int begin, int end, OrderByComparator obc)
1081        throws SystemException {
1082        String finderClassName = EmailAddress.class.getName();
1083        String finderMethodName = "findByC_C_C_P";
1084        String[] finderParams = new String[] {
1085                Long.class.getName(), Long.class.getName(), Long.class.getName(),
1086                Boolean.class.getName(), "java.lang.Integer",
1087                "java.lang.Integer",
1088                "com.liferay.portal.kernel.util.OrderByComparator"
1089            };
1090        Object[] finderArgs = new Object[] {
1091                new Long(companyId), new Long(classNameId), new Long(classPK),
1092                Boolean.valueOf(primary), String.valueOf(begin),
1093                String.valueOf(end), String.valueOf(obc)
1094            };
1095        Object result = FinderCache.getResult(finderClassName,
1096                finderMethodName, finderParams, finderArgs, getSessionFactory());
1097
1098        if (result == null) {
1099            Session session = null;
1100
1101            try {
1102                session = openSession();
1103
1104                StringMaker query = new StringMaker();
1105                query.append(
1106                    "FROM com.liferay.portal.model.EmailAddress WHERE ");
1107                query.append("companyId = ?");
1108                query.append(" AND ");
1109                query.append("classNameId = ?");
1110                query.append(" AND ");
1111                query.append("classPK = ?");
1112                query.append(" AND ");
1113                query.append("primary_ = ?");
1114                query.append(" ");
1115
1116                if (obc != null) {
1117                    query.append("ORDER BY ");
1118                    query.append(obc.getOrderBy());
1119                }
1120                else {
1121                    query.append("ORDER BY ");
1122                    query.append("createDate ASC");
1123                }
1124
1125                Query q = session.createQuery(query.toString());
1126                int queryPos = 0;
1127                q.setLong(queryPos++, companyId);
1128                q.setLong(queryPos++, classNameId);
1129                q.setLong(queryPos++, classPK);
1130                q.setBoolean(queryPos++, primary);
1131
1132                List list = QueryUtil.list(q, getDialect(), begin, end);
1133                FinderCache.putResult(finderClassName, finderMethodName,
1134                    finderParams, finderArgs, list);
1135
1136                return list;
1137            }
1138            catch (Exception e) {
1139                throw HibernateUtil.processException(e);
1140            }
1141            finally {
1142                closeSession(session);
1143            }
1144        }
1145        else {
1146            return (List)result;
1147        }
1148    }
1149
1150    public EmailAddress findByC_C_C_P_First(long companyId, long classNameId,
1151        long classPK, boolean primary, OrderByComparator obc)
1152        throws NoSuchEmailAddressException, SystemException {
1153        List list = findByC_C_C_P(companyId, classNameId, classPK, primary, 0,
1154                1, obc);
1155
1156        if (list.size() == 0) {
1157            StringMaker msg = new StringMaker();
1158            msg.append("No EmailAddress exists with the key ");
1159            msg.append(StringPool.OPEN_CURLY_BRACE);
1160            msg.append("companyId=");
1161            msg.append(companyId);
1162            msg.append(", ");
1163            msg.append("classNameId=");
1164            msg.append(classNameId);
1165            msg.append(", ");
1166            msg.append("classPK=");
1167            msg.append(classPK);
1168            msg.append(", ");
1169            msg.append("primary=");
1170            msg.append(primary);
1171            msg.append(StringPool.CLOSE_CURLY_BRACE);
1172            throw new NoSuchEmailAddressException(msg.toString());
1173        }
1174        else {
1175            return (EmailAddress)list.get(0);
1176        }
1177    }
1178
1179    public EmailAddress findByC_C_C_P_Last(long companyId, long classNameId,
1180        long classPK, boolean primary, OrderByComparator obc)
1181        throws NoSuchEmailAddressException, SystemException {
1182        int count = countByC_C_C_P(companyId, classNameId, classPK, primary);
1183        List list = findByC_C_C_P(companyId, classNameId, classPK, primary,
1184                count - 1, count, obc);
1185
1186        if (list.size() == 0) {
1187            StringMaker msg = new StringMaker();
1188            msg.append("No EmailAddress exists with the key ");
1189            msg.append(StringPool.OPEN_CURLY_BRACE);
1190            msg.append("companyId=");
1191            msg.append(companyId);
1192            msg.append(", ");
1193            msg.append("classNameId=");
1194            msg.append(classNameId);
1195            msg.append(", ");
1196            msg.append("classPK=");
1197            msg.append(classPK);
1198            msg.append(", ");
1199            msg.append("primary=");
1200            msg.append(primary);
1201            msg.append(StringPool.CLOSE_CURLY_BRACE);
1202            throw new NoSuchEmailAddressException(msg.toString());
1203        }
1204        else {
1205            return (EmailAddress)list.get(0);
1206        }
1207    }
1208
1209    public EmailAddress[] findByC_C_C_P_PrevAndNext(long emailAddressId,
1210        long companyId, long classNameId, long classPK, boolean primary,
1211        OrderByComparator obc)
1212        throws NoSuchEmailAddressException, SystemException {
1213        EmailAddress emailAddress = findByPrimaryKey(emailAddressId);
1214        int count = countByC_C_C_P(companyId, classNameId, classPK, primary);
1215        Session session = null;
1216
1217        try {
1218            session = openSession();
1219
1220            StringMaker query = new StringMaker();
1221            query.append("FROM com.liferay.portal.model.EmailAddress WHERE ");
1222            query.append("companyId = ?");
1223            query.append(" AND ");
1224            query.append("classNameId = ?");
1225            query.append(" AND ");
1226            query.append("classPK = ?");
1227            query.append(" AND ");
1228            query.append("primary_ = ?");
1229            query.append(" ");
1230
1231            if (obc != null) {
1232                query.append("ORDER BY ");
1233                query.append(obc.getOrderBy());
1234            }
1235            else {
1236                query.append("ORDER BY ");
1237                query.append("createDate ASC");
1238            }
1239
1240            Query q = session.createQuery(query.toString());
1241            int queryPos = 0;
1242            q.setLong(queryPos++, companyId);
1243            q.setLong(queryPos++, classNameId);
1244            q.setLong(queryPos++, classPK);
1245            q.setBoolean(queryPos++, primary);
1246
1247            Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc,
1248                    emailAddress);
1249            EmailAddress[] array = new EmailAddressImpl[3];
1250            array[0] = (EmailAddress)objArray[0];
1251            array[1] = (EmailAddress)objArray[1];
1252            array[2] = (EmailAddress)objArray[2];
1253
1254            return array;
1255        }
1256        catch (Exception e) {
1257            throw HibernateUtil.processException(e);
1258        }
1259        finally {
1260            closeSession(session);
1261        }
1262    }
1263
1264    public List findWithDynamicQuery(DynamicQueryInitializer queryInitializer)
1265        throws SystemException {
1266        Session session = null;
1267
1268        try {
1269            session = openSession();
1270
1271            DynamicQuery query = queryInitializer.initialize(session);
1272
1273            return query.list();
1274        }
1275        catch (Exception e) {
1276            throw HibernateUtil.processException(e);
1277        }
1278        finally {
1279            closeSession(session);
1280        }
1281    }
1282
1283    public List findWithDynamicQuery(DynamicQueryInitializer queryInitializer,
1284        int begin, int end) throws SystemException {
1285        Session session = null;
1286
1287        try {
1288            session = openSession();
1289
1290            DynamicQuery query = queryInitializer.initialize(session);
1291            query.setLimit(begin, end);
1292
1293            return query.list();
1294        }
1295        catch (Exception e) {
1296            throw HibernateUtil.processException(e);
1297        }
1298        finally {
1299            closeSession(session);
1300        }
1301    }
1302
1303    public List findAll() throws SystemException {
1304        return findAll(QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
1305    }
1306
1307    public List findAll(int begin, int end) throws SystemException {
1308        return findAll(begin, end, null);
1309    }
1310
1311    public List findAll(int begin, int end, OrderByComparator obc)
1312        throws SystemException {
1313        String finderClassName = EmailAddress.class.getName();
1314        String finderMethodName = "findAll";
1315        String[] finderParams = new String[] {
1316                "java.lang.Integer", "java.lang.Integer",
1317                "com.liferay.portal.kernel.util.OrderByComparator"
1318            };
1319        Object[] finderArgs = new Object[] {
1320                String.valueOf(begin), String.valueOf(end), String.valueOf(obc)
1321            };
1322        Object result = FinderCache.getResult(finderClassName,
1323                finderMethodName, finderParams, finderArgs, getSessionFactory());
1324
1325        if (result == null) {
1326            Session session = null;
1327
1328            try {
1329                session = openSession();
1330
1331                StringMaker query = new StringMaker();
1332                query.append("FROM com.liferay.portal.model.EmailAddress ");
1333
1334                if (obc != null) {
1335                    query.append("ORDER BY ");
1336                    query.append(obc.getOrderBy());
1337                }
1338                else {
1339                    query.append("ORDER BY ");
1340                    query.append("createDate ASC");
1341                }
1342
1343                Query q = session.createQuery(query.toString());
1344                List list = QueryUtil.list(q, getDialect(), begin, end);
1345
1346                if (obc == null) {
1347                    Collections.sort(list);
1348                }
1349
1350                FinderCache.putResult(finderClassName, finderMethodName,
1351                    finderParams, finderArgs, list);
1352
1353                return list;
1354            }
1355            catch (Exception e) {
1356                throw HibernateUtil.processException(e);
1357            }
1358            finally {
1359                closeSession(session);
1360            }
1361        }
1362        else {
1363            return (List)result;
1364        }
1365    }
1366
1367    public void removeByCompanyId(long companyId) throws SystemException {
1368        Iterator itr = findByCompanyId(companyId).iterator();
1369
1370        while (itr.hasNext()) {
1371            EmailAddress emailAddress = (EmailAddress)itr.next();
1372            remove(emailAddress);
1373        }
1374    }
1375
1376    public void removeByUserId(long userId) throws SystemException {
1377        Iterator itr = findByUserId(userId).iterator();
1378
1379        while (itr.hasNext()) {
1380            EmailAddress emailAddress = (EmailAddress)itr.next();
1381            remove(emailAddress);
1382        }
1383    }
1384
1385    public void removeByC_C(long companyId, long classNameId)
1386        throws SystemException {
1387        Iterator itr = findByC_C(companyId, classNameId).iterator();
1388
1389        while (itr.hasNext()) {
1390            EmailAddress emailAddress = (EmailAddress)itr.next();
1391            remove(emailAddress);
1392        }
1393    }
1394
1395    public void removeByC_C_C(long companyId, long classNameId, long classPK)
1396        throws SystemException {
1397        Iterator itr = findByC_C_C(companyId, classNameId, classPK).iterator();
1398
1399        while (itr.hasNext()) {
1400            EmailAddress emailAddress = (EmailAddress)itr.next();
1401            remove(emailAddress);
1402        }
1403    }
1404
1405    public void removeByC_C_C_P(long companyId, long classNameId, long classPK,
1406        boolean primary) throws SystemException {
1407        Iterator itr = findByC_C_C_P(companyId, classNameId, classPK, primary)
1408                           .iterator();
1409
1410        while (itr.hasNext()) {
1411            EmailAddress emailAddress = (EmailAddress)itr.next();
1412            remove(emailAddress);
1413        }
1414    }
1415
1416    public void removeAll() throws SystemException {
1417        Iterator itr = findAll().iterator();
1418
1419        while (itr.hasNext()) {
1420            remove((EmailAddress)itr.next());
1421        }
1422    }
1423
1424    public int countByCompanyId(long companyId) throws SystemException {
1425        String finderClassName = EmailAddress.class.getName();
1426        String finderMethodName = "countByCompanyId";
1427        String[] finderParams = new String[] { Long.class.getName() };
1428        Object[] finderArgs = new Object[] { new Long(companyId) };
1429        Object result = FinderCache.getResult(finderClassName,
1430                finderMethodName, finderParams, finderArgs, getSessionFactory());
1431
1432        if (result == null) {
1433            Session session = null;
1434
1435            try {
1436                session = openSession();
1437
1438                StringMaker query = new StringMaker();
1439                query.append("SELECT COUNT(*) ");
1440                query.append(
1441                    "FROM com.liferay.portal.model.EmailAddress WHERE ");
1442                query.append("companyId = ?");
1443                query.append(" ");
1444
1445                Query q = session.createQuery(query.toString());
1446                int queryPos = 0;
1447                q.setLong(queryPos++, companyId);
1448
1449                Long count = null;
1450                Iterator itr = q.list().iterator();
1451
1452                if (itr.hasNext()) {
1453                    count = (Long)itr.next();
1454                }
1455
1456                if (count == null) {
1457                    count = new Long(0);
1458                }
1459
1460                FinderCache.putResult(finderClassName, finderMethodName,
1461                    finderParams, finderArgs, count);
1462
1463                return count.intValue();
1464            }
1465            catch (Exception e) {
1466                throw HibernateUtil.processException(e);
1467            }
1468            finally {
1469                closeSession(session);
1470            }
1471        }
1472        else {
1473            return ((Long)result).intValue();
1474        }
1475    }
1476
1477    public int countByUserId(long userId) throws SystemException {
1478        String finderClassName = EmailAddress.class.getName();
1479        String finderMethodName = "countByUserId";
1480        String[] finderParams = new String[] { Long.class.getName() };
1481        Object[] finderArgs = new Object[] { new Long(userId) };
1482        Object result = FinderCache.getResult(finderClassName,
1483                finderMethodName, finderParams, finderArgs, getSessionFactory());
1484
1485        if (result == null) {
1486            Session session = null;
1487
1488            try {
1489                session = openSession();
1490
1491                StringMaker query = new StringMaker();
1492                query.append("SELECT COUNT(*) ");
1493                query.append(
1494                    "FROM com.liferay.portal.model.EmailAddress WHERE ");
1495                query.append("userId = ?");
1496                query.append(" ");
1497
1498                Query q = session.createQuery(query.toString());
1499                int queryPos = 0;
1500                q.setLong(queryPos++, userId);
1501
1502                Long count = null;
1503                Iterator itr = q.list().iterator();
1504
1505                if (itr.hasNext()) {
1506                    count = (Long)itr.next();
1507                }
1508
1509                if (count == null) {
1510                    count = new Long(0);
1511                }
1512
1513                FinderCache.putResult(finderClassName, finderMethodName,
1514                    finderParams, finderArgs, count);
1515
1516                return count.intValue();
1517            }
1518            catch (Exception e) {
1519                throw HibernateUtil.processException(e);
1520            }
1521            finally {
1522                closeSession(session);
1523            }
1524        }
1525        else {
1526            return ((Long)result).intValue();
1527        }
1528    }
1529
1530    public int countByC_C(long companyId, long classNameId)
1531        throws SystemException {
1532        String finderClassName = EmailAddress.class.getName();
1533        String finderMethodName = "countByC_C";
1534        String[] finderParams = new String[] {
1535                Long.class.getName(), Long.class.getName()
1536            };
1537        Object[] finderArgs = new Object[] {
1538                new Long(companyId), new Long(classNameId)
1539            };
1540        Object result = FinderCache.getResult(finderClassName,
1541                finderMethodName, finderParams, finderArgs, getSessionFactory());
1542
1543        if (result == null) {
1544            Session session = null;
1545
1546            try {
1547                session = openSession();
1548
1549                StringMaker query = new StringMaker();
1550                query.append("SELECT COUNT(*) ");
1551                query.append(
1552                    "FROM com.liferay.portal.model.EmailAddress WHERE ");
1553                query.append("companyId = ?");
1554                query.append(" AND ");
1555                query.append("classNameId = ?");
1556                query.append(" ");
1557
1558                Query q = session.createQuery(query.toString());
1559                int queryPos = 0;
1560                q.setLong(queryPos++, companyId);
1561                q.setLong(queryPos++, classNameId);
1562
1563                Long count = null;
1564                Iterator itr = q.list().iterator();
1565
1566                if (itr.hasNext()) {
1567                    count = (Long)itr.next();
1568                }
1569
1570                if (count == null) {
1571                    count = new Long(0);
1572                }
1573
1574                FinderCache.putResult(finderClassName, finderMethodName,
1575                    finderParams, finderArgs, count);
1576
1577                return count.intValue();
1578            }
1579            catch (Exception e) {
1580                throw HibernateUtil.processException(e);
1581            }
1582            finally {
1583                closeSession(session);
1584            }
1585        }
1586        else {
1587            return ((Long)result).intValue();
1588        }
1589    }
1590
1591    public int countByC_C_C(long companyId, long classNameId, long classPK)
1592        throws SystemException {
1593        String finderClassName = EmailAddress.class.getName();
1594        String finderMethodName = "countByC_C_C";
1595        String[] finderParams = new String[] {
1596                Long.class.getName(), Long.class.getName(), Long.class.getName()
1597            };
1598        Object[] finderArgs = new Object[] {
1599                new Long(companyId), new Long(classNameId), new Long(classPK)
1600            };
1601        Object result = FinderCache.getResult(finderClassName,
1602                finderMethodName, finderParams, finderArgs, getSessionFactory());
1603
1604        if (result == null) {
1605            Session session = null;
1606
1607            try {
1608                session = openSession();
1609
1610                StringMaker query = new StringMaker();
1611                query.append("SELECT COUNT(*) ");
1612                query.append(
1613                    "FROM com.liferay.portal.model.EmailAddress WHERE ");
1614                query.append("companyId = ?");
1615                query.append(" AND ");
1616                query.append("classNameId = ?");
1617                query.append(" AND ");
1618                query.append("classPK = ?");
1619                query.append(" ");
1620
1621                Query q = session.createQuery(query.toString());
1622                int queryPos = 0;
1623                q.setLong(queryPos++, companyId);
1624                q.setLong(queryPos++, classNameId);
1625                q.setLong(queryPos++, classPK);
1626
1627                Long count = null;
1628                Iterator itr = q.list().iterator();
1629
1630                if (itr.hasNext()) {
1631                    count = (Long)itr.next();
1632                }
1633
1634                if (count == null) {
1635                    count = new Long(0);
1636                }
1637
1638                FinderCache.putResult(finderClassName, finderMethodName,
1639                    finderParams, finderArgs, count);
1640
1641                return count.intValue();
1642            }
1643            catch (Exception e) {
1644                throw HibernateUtil.processException(e);
1645            }
1646            finally {
1647                closeSession(session);
1648            }
1649        }
1650        else {
1651            return ((Long)result).intValue();
1652        }
1653    }
1654
1655    public int countByC_C_C_P(long companyId, long classNameId, long classPK,
1656        boolean primary) throws SystemException {
1657        String finderClassName = EmailAddress.class.getName();
1658        String finderMethodName = "countByC_C_C_P";
1659        String[] finderParams = new String[] {
1660                Long.class.getName(), Long.class.getName(), Long.class.getName(),
1661                Boolean.class.getName()
1662            };
1663        Object[] finderArgs = new Object[] {
1664                new Long(companyId), new Long(classNameId), new Long(classPK),
1665                Boolean.valueOf(primary)
1666            };
1667        Object result = FinderCache.getResult(finderClassName,
1668                finderMethodName, finderParams, finderArgs, getSessionFactory());
1669
1670        if (result == null) {
1671            Session session = null;
1672
1673            try {
1674                session = openSession();
1675
1676                StringMaker query = new StringMaker();
1677                query.append("SELECT COUNT(*) ");
1678                query.append(
1679                    "FROM com.liferay.portal.model.EmailAddress WHERE ");
1680                query.append("companyId = ?");
1681                query.append(" AND ");
1682                query.append("classNameId = ?");
1683                query.append(" AND ");
1684                query.append("classPK = ?");
1685                query.append(" AND ");
1686                query.append("primary_ = ?");
1687                query.append(" ");
1688
1689                Query q = session.createQuery(query.toString());
1690                int queryPos = 0;
1691                q.setLong(queryPos++, companyId);
1692                q.setLong(queryPos++, classNameId);
1693                q.setLong(queryPos++, classPK);
1694                q.setBoolean(queryPos++, primary);
1695
1696                Long count = null;
1697                Iterator itr = q.list().iterator();
1698
1699                if (itr.hasNext()) {
1700                    count = (Long)itr.next();
1701                }
1702
1703                if (count == null) {
1704                    count = new Long(0);
1705                }
1706
1707                FinderCache.putResult(finderClassName, finderMethodName,
1708                    finderParams, finderArgs, count);
1709
1710                return count.intValue();
1711            }
1712            catch (Exception e) {
1713                throw HibernateUtil.processException(e);
1714            }
1715            finally {
1716                closeSession(session);
1717            }
1718        }
1719        else {
1720            return ((Long)result).intValue();
1721        }
1722    }
1723
1724    public int countAll() throws SystemException {
1725        String finderClassName = EmailAddress.class.getName();
1726        String finderMethodName = "countAll";
1727        String[] finderParams = new String[] {  };
1728        Object[] finderArgs = new Object[] {  };
1729        Object result = FinderCache.getResult(finderClassName,
1730                finderMethodName, finderParams, finderArgs, getSessionFactory());
1731
1732        if (result == null) {
1733            Session session = null;
1734
1735            try {
1736                session = openSession();
1737
1738                StringMaker query = new StringMaker();
1739                query.append("SELECT COUNT(*) ");
1740                query.append("FROM com.liferay.portal.model.EmailAddress");
1741
1742                Query q = session.createQuery(query.toString());
1743                Long count = null;
1744                Iterator itr = q.list().iterator();
1745
1746                if (itr.hasNext()) {
1747                    count = (Long)itr.next();
1748                }
1749
1750                if (count == null) {
1751                    count = new Long(0);
1752                }
1753
1754                FinderCache.putResult(finderClassName, finderMethodName,
1755                    finderParams, finderArgs, count);
1756
1757                return count.intValue();
1758            }
1759            catch (Exception e) {
1760                throw HibernateUtil.processException(e);
1761            }
1762            finally {
1763                closeSession(session);
1764            }
1765        }
1766        else {
1767            return ((Long)result).intValue();
1768        }
1769    }
1770
1771    protected void initDao() {
1772    }
1773
1774    private static Log _log = LogFactory.getLog(EmailAddressPersistenceImpl.class);
1775}