1   /**
2    * Copyright (c) 2000-2010 Liferay, Inc. All rights reserved.
3    *
4    * This library is free software; you can redistribute it and/or modify it under
5    * the terms of the GNU Lesser General Public License as published by the Free
6    * Software Foundation; either version 2.1 of the License, or (at your option)
7    * any later version.
8    *
9    * This library is distributed in the hope that it will be useful, but WITHOUT
10   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11   * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
12   * details.
13   */
14  
15  package com.liferay.portlet.messageboards.service.persistence;
16  
17  import com.liferay.portal.NoSuchModelException;
18  import com.liferay.portal.kernel.annotation.BeanReference;
19  import com.liferay.portal.kernel.cache.CacheRegistry;
20  import com.liferay.portal.kernel.dao.orm.DynamicQuery;
21  import com.liferay.portal.kernel.dao.orm.EntityCacheUtil;
22  import com.liferay.portal.kernel.dao.orm.FinderCacheUtil;
23  import com.liferay.portal.kernel.dao.orm.FinderPath;
24  import com.liferay.portal.kernel.dao.orm.Query;
25  import com.liferay.portal.kernel.dao.orm.QueryPos;
26  import com.liferay.portal.kernel.dao.orm.QueryUtil;
27  import com.liferay.portal.kernel.dao.orm.Session;
28  import com.liferay.portal.kernel.exception.SystemException;
29  import com.liferay.portal.kernel.log.Log;
30  import com.liferay.portal.kernel.log.LogFactoryUtil;
31  import com.liferay.portal.kernel.util.GetterUtil;
32  import com.liferay.portal.kernel.util.OrderByComparator;
33  import com.liferay.portal.kernel.util.StringBundler;
34  import com.liferay.portal.kernel.util.StringPool;
35  import com.liferay.portal.kernel.util.StringUtil;
36  import com.liferay.portal.model.ModelListener;
37  import com.liferay.portal.service.persistence.BatchSessionUtil;
38  import com.liferay.portal.service.persistence.impl.BasePersistenceImpl;
39  
40  import com.liferay.portlet.messageboards.NoSuchBanException;
41  import com.liferay.portlet.messageboards.model.MBBan;
42  import com.liferay.portlet.messageboards.model.impl.MBBanImpl;
43  import com.liferay.portlet.messageboards.model.impl.MBBanModelImpl;
44  
45  import java.io.Serializable;
46  
47  import java.util.ArrayList;
48  import java.util.Collections;
49  import java.util.List;
50  
51  /**
52   * <a href="MBBanPersistenceImpl.java.html"><b><i>View Source</i></b></a>
53   *
54   * <p>
55   * ServiceBuilder generated this class. Modifications in this class will be
56   * overwritten the next time is generated.
57   * </p>
58   *
59   * @author    Brian Wing Shun Chan
60   * @see       MBBanPersistence
61   * @see       MBBanUtil
62   * @generated
63   */
64  public class MBBanPersistenceImpl extends BasePersistenceImpl<MBBan>
65      implements MBBanPersistence {
66      public static final String FINDER_CLASS_NAME_ENTITY = MBBanImpl.class.getName();
67      public static final String FINDER_CLASS_NAME_LIST = FINDER_CLASS_NAME_ENTITY +
68          ".List";
69      public static final FinderPath FINDER_PATH_FIND_BY_GROUPID = new FinderPath(MBBanModelImpl.ENTITY_CACHE_ENABLED,
70              MBBanModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
71              "findByGroupId", new String[] { Long.class.getName() });
72      public static final FinderPath FINDER_PATH_FIND_BY_OBC_GROUPID = new FinderPath(MBBanModelImpl.ENTITY_CACHE_ENABLED,
73              MBBanModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
74              "findByGroupId",
75              new String[] {
76                  Long.class.getName(),
77                  
78              "java.lang.Integer", "java.lang.Integer",
79                  "com.liferay.portal.kernel.util.OrderByComparator"
80              });
81      public static final FinderPath FINDER_PATH_COUNT_BY_GROUPID = new FinderPath(MBBanModelImpl.ENTITY_CACHE_ENABLED,
82              MBBanModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
83              "countByGroupId", new String[] { Long.class.getName() });
84      public static final FinderPath FINDER_PATH_FIND_BY_USERID = new FinderPath(MBBanModelImpl.ENTITY_CACHE_ENABLED,
85              MBBanModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
86              "findByUserId", new String[] { Long.class.getName() });
87      public static final FinderPath FINDER_PATH_FIND_BY_OBC_USERID = new FinderPath(MBBanModelImpl.ENTITY_CACHE_ENABLED,
88              MBBanModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
89              "findByUserId",
90              new String[] {
91                  Long.class.getName(),
92                  
93              "java.lang.Integer", "java.lang.Integer",
94                  "com.liferay.portal.kernel.util.OrderByComparator"
95              });
96      public static final FinderPath FINDER_PATH_COUNT_BY_USERID = new FinderPath(MBBanModelImpl.ENTITY_CACHE_ENABLED,
97              MBBanModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
98              "countByUserId", new String[] { Long.class.getName() });
99      public static final FinderPath FINDER_PATH_FIND_BY_BANUSERID = new FinderPath(MBBanModelImpl.ENTITY_CACHE_ENABLED,
100             MBBanModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
101             "findByBanUserId", new String[] { Long.class.getName() });
102     public static final FinderPath FINDER_PATH_FIND_BY_OBC_BANUSERID = new FinderPath(MBBanModelImpl.ENTITY_CACHE_ENABLED,
103             MBBanModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
104             "findByBanUserId",
105             new String[] {
106                 Long.class.getName(),
107                 
108             "java.lang.Integer", "java.lang.Integer",
109                 "com.liferay.portal.kernel.util.OrderByComparator"
110             });
111     public static final FinderPath FINDER_PATH_COUNT_BY_BANUSERID = new FinderPath(MBBanModelImpl.ENTITY_CACHE_ENABLED,
112             MBBanModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
113             "countByBanUserId", new String[] { Long.class.getName() });
114     public static final FinderPath FINDER_PATH_FETCH_BY_G_B = new FinderPath(MBBanModelImpl.ENTITY_CACHE_ENABLED,
115             MBBanModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_ENTITY,
116             "fetchByG_B",
117             new String[] { Long.class.getName(), Long.class.getName() });
118     public static final FinderPath FINDER_PATH_COUNT_BY_G_B = new FinderPath(MBBanModelImpl.ENTITY_CACHE_ENABLED,
119             MBBanModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
120             "countByG_B",
121             new String[] { Long.class.getName(), Long.class.getName() });
122     public static final FinderPath FINDER_PATH_FIND_ALL = new FinderPath(MBBanModelImpl.ENTITY_CACHE_ENABLED,
123             MBBanModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
124             "findAll", new String[0]);
125     public static final FinderPath FINDER_PATH_COUNT_ALL = new FinderPath(MBBanModelImpl.ENTITY_CACHE_ENABLED,
126             MBBanModelImpl.FINDER_CACHE_ENABLED, FINDER_CLASS_NAME_LIST,
127             "countAll", new String[0]);
128 
129     public void cacheResult(MBBan mbBan) {
130         EntityCacheUtil.putResult(MBBanModelImpl.ENTITY_CACHE_ENABLED,
131             MBBanImpl.class, mbBan.getPrimaryKey(), mbBan);
132 
133         FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_G_B,
134             new Object[] {
135                 new Long(mbBan.getGroupId()), new Long(mbBan.getBanUserId())
136             }, mbBan);
137     }
138 
139     public void cacheResult(List<MBBan> mbBans) {
140         for (MBBan mbBan : mbBans) {
141             if (EntityCacheUtil.getResult(MBBanModelImpl.ENTITY_CACHE_ENABLED,
142                         MBBanImpl.class, mbBan.getPrimaryKey(), this) == null) {
143                 cacheResult(mbBan);
144             }
145         }
146     }
147 
148     public void clearCache() {
149         CacheRegistry.clear(MBBanImpl.class.getName());
150         EntityCacheUtil.clearCache(MBBanImpl.class.getName());
151         FinderCacheUtil.clearCache(FINDER_CLASS_NAME_ENTITY);
152         FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
153     }
154 
155     public MBBan create(long banId) {
156         MBBan mbBan = new MBBanImpl();
157 
158         mbBan.setNew(true);
159         mbBan.setPrimaryKey(banId);
160 
161         return mbBan;
162     }
163 
164     public MBBan remove(Serializable primaryKey)
165         throws NoSuchModelException, SystemException {
166         return remove(((Long)primaryKey).longValue());
167     }
168 
169     public MBBan remove(long banId) throws NoSuchBanException, SystemException {
170         Session session = null;
171 
172         try {
173             session = openSession();
174 
175             MBBan mbBan = (MBBan)session.get(MBBanImpl.class, new Long(banId));
176 
177             if (mbBan == null) {
178                 if (_log.isWarnEnabled()) {
179                     _log.warn(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY + banId);
180                 }
181 
182                 throw new NoSuchBanException(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
183                     banId);
184             }
185 
186             return remove(mbBan);
187         }
188         catch (NoSuchBanException nsee) {
189             throw nsee;
190         }
191         catch (Exception e) {
192             throw processException(e);
193         }
194         finally {
195             closeSession(session);
196         }
197     }
198 
199     public MBBan remove(MBBan mbBan) throws SystemException {
200         for (ModelListener<MBBan> listener : listeners) {
201             listener.onBeforeRemove(mbBan);
202         }
203 
204         mbBan = removeImpl(mbBan);
205 
206         for (ModelListener<MBBan> listener : listeners) {
207             listener.onAfterRemove(mbBan);
208         }
209 
210         return mbBan;
211     }
212 
213     protected MBBan removeImpl(MBBan mbBan) throws SystemException {
214         mbBan = toUnwrappedModel(mbBan);
215 
216         Session session = null;
217 
218         try {
219             session = openSession();
220 
221             if (mbBan.isCachedModel() || BatchSessionUtil.isEnabled()) {
222                 Object staleObject = session.get(MBBanImpl.class,
223                         mbBan.getPrimaryKeyObj());
224 
225                 if (staleObject != null) {
226                     session.evict(staleObject);
227                 }
228             }
229 
230             session.delete(mbBan);
231 
232             session.flush();
233         }
234         catch (Exception e) {
235             throw processException(e);
236         }
237         finally {
238             closeSession(session);
239         }
240 
241         FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
242 
243         MBBanModelImpl mbBanModelImpl = (MBBanModelImpl)mbBan;
244 
245         FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_G_B,
246             new Object[] {
247                 new Long(mbBanModelImpl.getOriginalGroupId()),
248                 new Long(mbBanModelImpl.getOriginalBanUserId())
249             });
250 
251         EntityCacheUtil.removeResult(MBBanModelImpl.ENTITY_CACHE_ENABLED,
252             MBBanImpl.class, mbBan.getPrimaryKey());
253 
254         return mbBan;
255     }
256 
257     public MBBan updateImpl(
258         com.liferay.portlet.messageboards.model.MBBan mbBan, boolean merge)
259         throws SystemException {
260         mbBan = toUnwrappedModel(mbBan);
261 
262         boolean isNew = mbBan.isNew();
263 
264         MBBanModelImpl mbBanModelImpl = (MBBanModelImpl)mbBan;
265 
266         Session session = null;
267 
268         try {
269             session = openSession();
270 
271             BatchSessionUtil.update(session, mbBan, merge);
272 
273             mbBan.setNew(false);
274         }
275         catch (Exception e) {
276             throw processException(e);
277         }
278         finally {
279             closeSession(session);
280         }
281 
282         FinderCacheUtil.clearCache(FINDER_CLASS_NAME_LIST);
283 
284         EntityCacheUtil.putResult(MBBanModelImpl.ENTITY_CACHE_ENABLED,
285             MBBanImpl.class, mbBan.getPrimaryKey(), mbBan);
286 
287         if (!isNew &&
288                 ((mbBan.getGroupId() != mbBanModelImpl.getOriginalGroupId()) ||
289                 (mbBan.getBanUserId() != mbBanModelImpl.getOriginalBanUserId()))) {
290             FinderCacheUtil.removeResult(FINDER_PATH_FETCH_BY_G_B,
291                 new Object[] {
292                     new Long(mbBanModelImpl.getOriginalGroupId()),
293                     new Long(mbBanModelImpl.getOriginalBanUserId())
294                 });
295         }
296 
297         if (isNew ||
298                 ((mbBan.getGroupId() != mbBanModelImpl.getOriginalGroupId()) ||
299                 (mbBan.getBanUserId() != mbBanModelImpl.getOriginalBanUserId()))) {
300             FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_G_B,
301                 new Object[] {
302                     new Long(mbBan.getGroupId()), new Long(mbBan.getBanUserId())
303                 }, mbBan);
304         }
305 
306         return mbBan;
307     }
308 
309     protected MBBan toUnwrappedModel(MBBan mbBan) {
310         if (mbBan instanceof MBBanImpl) {
311             return mbBan;
312         }
313 
314         MBBanImpl mbBanImpl = new MBBanImpl();
315 
316         mbBanImpl.setNew(mbBan.isNew());
317         mbBanImpl.setPrimaryKey(mbBan.getPrimaryKey());
318 
319         mbBanImpl.setBanId(mbBan.getBanId());
320         mbBanImpl.setGroupId(mbBan.getGroupId());
321         mbBanImpl.setCompanyId(mbBan.getCompanyId());
322         mbBanImpl.setUserId(mbBan.getUserId());
323         mbBanImpl.setUserName(mbBan.getUserName());
324         mbBanImpl.setCreateDate(mbBan.getCreateDate());
325         mbBanImpl.setModifiedDate(mbBan.getModifiedDate());
326         mbBanImpl.setBanUserId(mbBan.getBanUserId());
327 
328         return mbBanImpl;
329     }
330 
331     public MBBan findByPrimaryKey(Serializable primaryKey)
332         throws NoSuchModelException, SystemException {
333         return findByPrimaryKey(((Long)primaryKey).longValue());
334     }
335 
336     public MBBan findByPrimaryKey(long banId)
337         throws NoSuchBanException, SystemException {
338         MBBan mbBan = fetchByPrimaryKey(banId);
339 
340         if (mbBan == null) {
341             if (_log.isWarnEnabled()) {
342                 _log.warn(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY + banId);
343             }
344 
345             throw new NoSuchBanException(_NO_SUCH_ENTITY_WITH_PRIMARY_KEY +
346                 banId);
347         }
348 
349         return mbBan;
350     }
351 
352     public MBBan fetchByPrimaryKey(Serializable primaryKey)
353         throws SystemException {
354         return fetchByPrimaryKey(((Long)primaryKey).longValue());
355     }
356 
357     public MBBan fetchByPrimaryKey(long banId) throws SystemException {
358         MBBan mbBan = (MBBan)EntityCacheUtil.getResult(MBBanModelImpl.ENTITY_CACHE_ENABLED,
359                 MBBanImpl.class, banId, this);
360 
361         if (mbBan == null) {
362             Session session = null;
363 
364             try {
365                 session = openSession();
366 
367                 mbBan = (MBBan)session.get(MBBanImpl.class, new Long(banId));
368             }
369             catch (Exception e) {
370                 throw processException(e);
371             }
372             finally {
373                 if (mbBan != null) {
374                     cacheResult(mbBan);
375                 }
376 
377                 closeSession(session);
378             }
379         }
380 
381         return mbBan;
382     }
383 
384     public List<MBBan> findByGroupId(long groupId) throws SystemException {
385         Object[] finderArgs = new Object[] { new Long(groupId) };
386 
387         List<MBBan> list = (List<MBBan>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_GROUPID,
388                 finderArgs, this);
389 
390         if (list == null) {
391             Session session = null;
392 
393             try {
394                 session = openSession();
395 
396                 StringBundler query = new StringBundler(2);
397 
398                 query.append(_SQL_SELECT_MBBAN_WHERE);
399 
400                 query.append(_FINDER_COLUMN_GROUPID_GROUPID_2);
401 
402                 String sql = query.toString();
403 
404                 Query q = session.createQuery(sql);
405 
406                 QueryPos qPos = QueryPos.getInstance(q);
407 
408                 qPos.add(groupId);
409 
410                 list = q.list();
411             }
412             catch (Exception e) {
413                 throw processException(e);
414             }
415             finally {
416                 if (list == null) {
417                     list = new ArrayList<MBBan>();
418                 }
419 
420                 cacheResult(list);
421 
422                 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_GROUPID,
423                     finderArgs, list);
424 
425                 closeSession(session);
426             }
427         }
428 
429         return list;
430     }
431 
432     public List<MBBan> findByGroupId(long groupId, int start, int end)
433         throws SystemException {
434         return findByGroupId(groupId, start, end, null);
435     }
436 
437     public List<MBBan> findByGroupId(long groupId, int start, int end,
438         OrderByComparator obc) throws SystemException {
439         Object[] finderArgs = new Object[] {
440                 new Long(groupId),
441                 
442                 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
443             };
444 
445         List<MBBan> list = (List<MBBan>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_OBC_GROUPID,
446                 finderArgs, this);
447 
448         if (list == null) {
449             Session session = null;
450 
451             try {
452                 session = openSession();
453 
454                 StringBundler query = null;
455 
456                 if (obc != null) {
457                     query = new StringBundler(3 +
458                             (obc.getOrderByFields().length * 3));
459                 }
460                 else {
461                     query = new StringBundler(2);
462                 }
463 
464                 query.append(_SQL_SELECT_MBBAN_WHERE);
465 
466                 query.append(_FINDER_COLUMN_GROUPID_GROUPID_2);
467 
468                 if (obc != null) {
469                     appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, obc);
470                 }
471 
472                 String sql = query.toString();
473 
474                 Query q = session.createQuery(sql);
475 
476                 QueryPos qPos = QueryPos.getInstance(q);
477 
478                 qPos.add(groupId);
479 
480                 list = (List<MBBan>)QueryUtil.list(q, getDialect(), start, end);
481             }
482             catch (Exception e) {
483                 throw processException(e);
484             }
485             finally {
486                 if (list == null) {
487                     list = new ArrayList<MBBan>();
488                 }
489 
490                 cacheResult(list);
491 
492                 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_OBC_GROUPID,
493                     finderArgs, list);
494 
495                 closeSession(session);
496             }
497         }
498 
499         return list;
500     }
501 
502     public MBBan findByGroupId_First(long groupId, OrderByComparator obc)
503         throws NoSuchBanException, SystemException {
504         List<MBBan> list = findByGroupId(groupId, 0, 1, obc);
505 
506         if (list.isEmpty()) {
507             StringBundler msg = new StringBundler(4);
508 
509             msg.append(_NO_SUCH_ENTITY_WITH_KEY);
510 
511             msg.append("groupId=");
512             msg.append(groupId);
513 
514             msg.append(StringPool.CLOSE_CURLY_BRACE);
515 
516             throw new NoSuchBanException(msg.toString());
517         }
518         else {
519             return list.get(0);
520         }
521     }
522 
523     public MBBan findByGroupId_Last(long groupId, OrderByComparator obc)
524         throws NoSuchBanException, SystemException {
525         int count = countByGroupId(groupId);
526 
527         List<MBBan> list = findByGroupId(groupId, count - 1, count, obc);
528 
529         if (list.isEmpty()) {
530             StringBundler msg = new StringBundler(4);
531 
532             msg.append(_NO_SUCH_ENTITY_WITH_KEY);
533 
534             msg.append("groupId=");
535             msg.append(groupId);
536 
537             msg.append(StringPool.CLOSE_CURLY_BRACE);
538 
539             throw new NoSuchBanException(msg.toString());
540         }
541         else {
542             return list.get(0);
543         }
544     }
545 
546     public MBBan[] findByGroupId_PrevAndNext(long banId, long groupId,
547         OrderByComparator obc) throws NoSuchBanException, SystemException {
548         MBBan mbBan = findByPrimaryKey(banId);
549 
550         int count = countByGroupId(groupId);
551 
552         Session session = null;
553 
554         try {
555             session = openSession();
556 
557             StringBundler query = null;
558 
559             if (obc != null) {
560                 query = new StringBundler(3 +
561                         (obc.getOrderByFields().length * 3));
562             }
563             else {
564                 query = new StringBundler(2);
565             }
566 
567             query.append(_SQL_SELECT_MBBAN_WHERE);
568 
569             query.append(_FINDER_COLUMN_GROUPID_GROUPID_2);
570 
571             if (obc != null) {
572                 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, obc);
573             }
574 
575             String sql = query.toString();
576 
577             Query q = session.createQuery(sql);
578 
579             QueryPos qPos = QueryPos.getInstance(q);
580 
581             qPos.add(groupId);
582 
583             Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc, mbBan);
584 
585             MBBan[] array = new MBBanImpl[3];
586 
587             array[0] = (MBBan)objArray[0];
588             array[1] = (MBBan)objArray[1];
589             array[2] = (MBBan)objArray[2];
590 
591             return array;
592         }
593         catch (Exception e) {
594             throw processException(e);
595         }
596         finally {
597             closeSession(session);
598         }
599     }
600 
601     public List<MBBan> findByUserId(long userId) throws SystemException {
602         Object[] finderArgs = new Object[] { new Long(userId) };
603 
604         List<MBBan> list = (List<MBBan>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_USERID,
605                 finderArgs, this);
606 
607         if (list == null) {
608             Session session = null;
609 
610             try {
611                 session = openSession();
612 
613                 StringBundler query = new StringBundler(2);
614 
615                 query.append(_SQL_SELECT_MBBAN_WHERE);
616 
617                 query.append(_FINDER_COLUMN_USERID_USERID_2);
618 
619                 String sql = query.toString();
620 
621                 Query q = session.createQuery(sql);
622 
623                 QueryPos qPos = QueryPos.getInstance(q);
624 
625                 qPos.add(userId);
626 
627                 list = q.list();
628             }
629             catch (Exception e) {
630                 throw processException(e);
631             }
632             finally {
633                 if (list == null) {
634                     list = new ArrayList<MBBan>();
635                 }
636 
637                 cacheResult(list);
638 
639                 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_USERID,
640                     finderArgs, list);
641 
642                 closeSession(session);
643             }
644         }
645 
646         return list;
647     }
648 
649     public List<MBBan> findByUserId(long userId, int start, int end)
650         throws SystemException {
651         return findByUserId(userId, start, end, null);
652     }
653 
654     public List<MBBan> findByUserId(long userId, int start, int end,
655         OrderByComparator obc) throws SystemException {
656         Object[] finderArgs = new Object[] {
657                 new Long(userId),
658                 
659                 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
660             };
661 
662         List<MBBan> list = (List<MBBan>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_OBC_USERID,
663                 finderArgs, this);
664 
665         if (list == null) {
666             Session session = null;
667 
668             try {
669                 session = openSession();
670 
671                 StringBundler query = null;
672 
673                 if (obc != null) {
674                     query = new StringBundler(3 +
675                             (obc.getOrderByFields().length * 3));
676                 }
677                 else {
678                     query = new StringBundler(2);
679                 }
680 
681                 query.append(_SQL_SELECT_MBBAN_WHERE);
682 
683                 query.append(_FINDER_COLUMN_USERID_USERID_2);
684 
685                 if (obc != null) {
686                     appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, obc);
687                 }
688 
689                 String sql = query.toString();
690 
691                 Query q = session.createQuery(sql);
692 
693                 QueryPos qPos = QueryPos.getInstance(q);
694 
695                 qPos.add(userId);
696 
697                 list = (List<MBBan>)QueryUtil.list(q, getDialect(), start, end);
698             }
699             catch (Exception e) {
700                 throw processException(e);
701             }
702             finally {
703                 if (list == null) {
704                     list = new ArrayList<MBBan>();
705                 }
706 
707                 cacheResult(list);
708 
709                 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_OBC_USERID,
710                     finderArgs, list);
711 
712                 closeSession(session);
713             }
714         }
715 
716         return list;
717     }
718 
719     public MBBan findByUserId_First(long userId, OrderByComparator obc)
720         throws NoSuchBanException, SystemException {
721         List<MBBan> list = findByUserId(userId, 0, 1, obc);
722 
723         if (list.isEmpty()) {
724             StringBundler msg = new StringBundler(4);
725 
726             msg.append(_NO_SUCH_ENTITY_WITH_KEY);
727 
728             msg.append("userId=");
729             msg.append(userId);
730 
731             msg.append(StringPool.CLOSE_CURLY_BRACE);
732 
733             throw new NoSuchBanException(msg.toString());
734         }
735         else {
736             return list.get(0);
737         }
738     }
739 
740     public MBBan findByUserId_Last(long userId, OrderByComparator obc)
741         throws NoSuchBanException, SystemException {
742         int count = countByUserId(userId);
743 
744         List<MBBan> list = findByUserId(userId, count - 1, count, obc);
745 
746         if (list.isEmpty()) {
747             StringBundler msg = new StringBundler(4);
748 
749             msg.append(_NO_SUCH_ENTITY_WITH_KEY);
750 
751             msg.append("userId=");
752             msg.append(userId);
753 
754             msg.append(StringPool.CLOSE_CURLY_BRACE);
755 
756             throw new NoSuchBanException(msg.toString());
757         }
758         else {
759             return list.get(0);
760         }
761     }
762 
763     public MBBan[] findByUserId_PrevAndNext(long banId, long userId,
764         OrderByComparator obc) throws NoSuchBanException, SystemException {
765         MBBan mbBan = findByPrimaryKey(banId);
766 
767         int count = countByUserId(userId);
768 
769         Session session = null;
770 
771         try {
772             session = openSession();
773 
774             StringBundler query = null;
775 
776             if (obc != null) {
777                 query = new StringBundler(3 +
778                         (obc.getOrderByFields().length * 3));
779             }
780             else {
781                 query = new StringBundler(2);
782             }
783 
784             query.append(_SQL_SELECT_MBBAN_WHERE);
785 
786             query.append(_FINDER_COLUMN_USERID_USERID_2);
787 
788             if (obc != null) {
789                 appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, obc);
790             }
791 
792             String sql = query.toString();
793 
794             Query q = session.createQuery(sql);
795 
796             QueryPos qPos = QueryPos.getInstance(q);
797 
798             qPos.add(userId);
799 
800             Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc, mbBan);
801 
802             MBBan[] array = new MBBanImpl[3];
803 
804             array[0] = (MBBan)objArray[0];
805             array[1] = (MBBan)objArray[1];
806             array[2] = (MBBan)objArray[2];
807 
808             return array;
809         }
810         catch (Exception e) {
811             throw processException(e);
812         }
813         finally {
814             closeSession(session);
815         }
816     }
817 
818     public List<MBBan> findByBanUserId(long banUserId)
819         throws SystemException {
820         Object[] finderArgs = new Object[] { new Long(banUserId) };
821 
822         List<MBBan> list = (List<MBBan>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_BANUSERID,
823                 finderArgs, this);
824 
825         if (list == null) {
826             Session session = null;
827 
828             try {
829                 session = openSession();
830 
831                 StringBundler query = new StringBundler(2);
832 
833                 query.append(_SQL_SELECT_MBBAN_WHERE);
834 
835                 query.append(_FINDER_COLUMN_BANUSERID_BANUSERID_2);
836 
837                 String sql = query.toString();
838 
839                 Query q = session.createQuery(sql);
840 
841                 QueryPos qPos = QueryPos.getInstance(q);
842 
843                 qPos.add(banUserId);
844 
845                 list = q.list();
846             }
847             catch (Exception e) {
848                 throw processException(e);
849             }
850             finally {
851                 if (list == null) {
852                     list = new ArrayList<MBBan>();
853                 }
854 
855                 cacheResult(list);
856 
857                 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_BANUSERID,
858                     finderArgs, list);
859 
860                 closeSession(session);
861             }
862         }
863 
864         return list;
865     }
866 
867     public List<MBBan> findByBanUserId(long banUserId, int start, int end)
868         throws SystemException {
869         return findByBanUserId(banUserId, start, end, null);
870     }
871 
872     public List<MBBan> findByBanUserId(long banUserId, int start, int end,
873         OrderByComparator obc) throws SystemException {
874         Object[] finderArgs = new Object[] {
875                 new Long(banUserId),
876                 
877                 String.valueOf(start), String.valueOf(end), String.valueOf(obc)
878             };
879 
880         List<MBBan> list = (List<MBBan>)FinderCacheUtil.getResult(FINDER_PATH_FIND_BY_OBC_BANUSERID,
881                 finderArgs, this);
882 
883         if (list == null) {
884             Session session = null;
885 
886             try {
887                 session = openSession();
888 
889                 StringBundler query = null;
890 
891                 if (obc != null) {
892                     query = new StringBundler(3 +
893                             (obc.getOrderByFields().length * 3));
894                 }
895                 else {
896                     query = new StringBundler(2);
897                 }
898 
899                 query.append(_SQL_SELECT_MBBAN_WHERE);
900 
901                 query.append(_FINDER_COLUMN_BANUSERID_BANUSERID_2);
902 
903                 if (obc != null) {
904                     appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, obc);
905                 }
906 
907                 String sql = query.toString();
908 
909                 Query q = session.createQuery(sql);
910 
911                 QueryPos qPos = QueryPos.getInstance(q);
912 
913                 qPos.add(banUserId);
914 
915                 list = (List<MBBan>)QueryUtil.list(q, getDialect(), start, end);
916             }
917             catch (Exception e) {
918                 throw processException(e);
919             }
920             finally {
921                 if (list == null) {
922                     list = new ArrayList<MBBan>();
923                 }
924 
925                 cacheResult(list);
926 
927                 FinderCacheUtil.putResult(FINDER_PATH_FIND_BY_OBC_BANUSERID,
928                     finderArgs, list);
929 
930                 closeSession(session);
931             }
932         }
933 
934         return list;
935     }
936 
937     public MBBan findByBanUserId_First(long banUserId, OrderByComparator obc)
938         throws NoSuchBanException, SystemException {
939         List<MBBan> list = findByBanUserId(banUserId, 0, 1, obc);
940 
941         if (list.isEmpty()) {
942             StringBundler msg = new StringBundler(4);
943 
944             msg.append(_NO_SUCH_ENTITY_WITH_KEY);
945 
946             msg.append("banUserId=");
947             msg.append(banUserId);
948 
949             msg.append(StringPool.CLOSE_CURLY_BRACE);
950 
951             throw new NoSuchBanException(msg.toString());
952         }
953         else {
954             return list.get(0);
955         }
956     }
957 
958     public MBBan findByBanUserId_Last(long banUserId, OrderByComparator obc)
959         throws NoSuchBanException, SystemException {
960         int count = countByBanUserId(banUserId);
961 
962         List<MBBan> list = findByBanUserId(banUserId, count - 1, count, obc);
963 
964         if (list.isEmpty()) {
965             StringBundler msg = new StringBundler(4);
966 
967             msg.append(_NO_SUCH_ENTITY_WITH_KEY);
968 
969             msg.append("banUserId=");
970             msg.append(banUserId);
971 
972             msg.append(StringPool.CLOSE_CURLY_BRACE);
973 
974             throw new NoSuchBanException(msg.toString());
975         }
976         else {
977             return list.get(0);
978         }
979     }
980 
981     public MBBan[] findByBanUserId_PrevAndNext(long banId, long banUserId,
982         OrderByComparator obc) throws NoSuchBanException, SystemException {
983         MBBan mbBan = findByPrimaryKey(banId);
984 
985         int count = countByBanUserId(banUserId);
986 
987         Session session = null;
988 
989         try {
990             session = openSession();
991 
992             StringBundler query = null;
993 
994             if (obc != null) {
995                 query = new StringBundler(3 +
996                         (obc.getOrderByFields().length * 3));
997             }
998             else {
999                 query = new StringBundler(2);
1000            }
1001
1002            query.append(_SQL_SELECT_MBBAN_WHERE);
1003
1004            query.append(_FINDER_COLUMN_BANUSERID_BANUSERID_2);
1005
1006            if (obc != null) {
1007                appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, obc);
1008            }
1009
1010            String sql = query.toString();
1011
1012            Query q = session.createQuery(sql);
1013
1014            QueryPos qPos = QueryPos.getInstance(q);
1015
1016            qPos.add(banUserId);
1017
1018            Object[] objArray = QueryUtil.getPrevAndNext(q, count, obc, mbBan);
1019
1020            MBBan[] array = new MBBanImpl[3];
1021
1022            array[0] = (MBBan)objArray[0];
1023            array[1] = (MBBan)objArray[1];
1024            array[2] = (MBBan)objArray[2];
1025
1026            return array;
1027        }
1028        catch (Exception e) {
1029            throw processException(e);
1030        }
1031        finally {
1032            closeSession(session);
1033        }
1034    }
1035
1036    public MBBan findByG_B(long groupId, long banUserId)
1037        throws NoSuchBanException, SystemException {
1038        MBBan mbBan = fetchByG_B(groupId, banUserId);
1039
1040        if (mbBan == null) {
1041            StringBundler msg = new StringBundler(6);
1042
1043            msg.append(_NO_SUCH_ENTITY_WITH_KEY);
1044
1045            msg.append("groupId=");
1046            msg.append(groupId);
1047
1048            msg.append(", banUserId=");
1049            msg.append(banUserId);
1050
1051            msg.append(StringPool.CLOSE_CURLY_BRACE);
1052
1053            if (_log.isWarnEnabled()) {
1054                _log.warn(msg.toString());
1055            }
1056
1057            throw new NoSuchBanException(msg.toString());
1058        }
1059
1060        return mbBan;
1061    }
1062
1063    public MBBan fetchByG_B(long groupId, long banUserId)
1064        throws SystemException {
1065        return fetchByG_B(groupId, banUserId, true);
1066    }
1067
1068    public MBBan fetchByG_B(long groupId, long banUserId,
1069        boolean retrieveFromCache) throws SystemException {
1070        Object[] finderArgs = new Object[] {
1071                new Long(groupId), new Long(banUserId)
1072            };
1073
1074        Object result = null;
1075
1076        if (retrieveFromCache) {
1077            result = FinderCacheUtil.getResult(FINDER_PATH_FETCH_BY_G_B,
1078                    finderArgs, this);
1079        }
1080
1081        if (result == null) {
1082            Session session = null;
1083
1084            try {
1085                session = openSession();
1086
1087                StringBundler query = new StringBundler(3);
1088
1089                query.append(_SQL_SELECT_MBBAN_WHERE);
1090
1091                query.append(_FINDER_COLUMN_G_B_GROUPID_2);
1092
1093                query.append(_FINDER_COLUMN_G_B_BANUSERID_2);
1094
1095                String sql = query.toString();
1096
1097                Query q = session.createQuery(sql);
1098
1099                QueryPos qPos = QueryPos.getInstance(q);
1100
1101                qPos.add(groupId);
1102
1103                qPos.add(banUserId);
1104
1105                List<MBBan> list = q.list();
1106
1107                result = list;
1108
1109                MBBan mbBan = null;
1110
1111                if (list.isEmpty()) {
1112                    FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_G_B,
1113                        finderArgs, list);
1114                }
1115                else {
1116                    mbBan = list.get(0);
1117
1118                    cacheResult(mbBan);
1119
1120                    if ((mbBan.getGroupId() != groupId) ||
1121                            (mbBan.getBanUserId() != banUserId)) {
1122                        FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_G_B,
1123                            finderArgs, mbBan);
1124                    }
1125                }
1126
1127                return mbBan;
1128            }
1129            catch (Exception e) {
1130                throw processException(e);
1131            }
1132            finally {
1133                if (result == null) {
1134                    FinderCacheUtil.putResult(FINDER_PATH_FETCH_BY_G_B,
1135                        finderArgs, new ArrayList<MBBan>());
1136                }
1137
1138                closeSession(session);
1139            }
1140        }
1141        else {
1142            if (result instanceof List<?>) {
1143                return null;
1144            }
1145            else {
1146                return (MBBan)result;
1147            }
1148        }
1149    }
1150
1151    public List<Object> findWithDynamicQuery(DynamicQuery dynamicQuery)
1152        throws SystemException {
1153        Session session = null;
1154
1155        try {
1156            session = openSession();
1157
1158            dynamicQuery.compile(session);
1159
1160            return dynamicQuery.list();
1161        }
1162        catch (Exception e) {
1163            throw processException(e);
1164        }
1165        finally {
1166            closeSession(session);
1167        }
1168    }
1169
1170    public List<Object> findWithDynamicQuery(DynamicQuery dynamicQuery,
1171        int start, int end) throws SystemException {
1172        Session session = null;
1173
1174        try {
1175            session = openSession();
1176
1177            dynamicQuery.setLimit(start, end);
1178
1179            dynamicQuery.compile(session);
1180
1181            return dynamicQuery.list();
1182        }
1183        catch (Exception e) {
1184            throw processException(e);
1185        }
1186        finally {
1187            closeSession(session);
1188        }
1189    }
1190
1191    public List<MBBan> findAll() throws SystemException {
1192        return findAll(QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
1193    }
1194
1195    public List<MBBan> findAll(int start, int end) throws SystemException {
1196        return findAll(start, end, null);
1197    }
1198
1199    public List<MBBan> findAll(int start, int end, OrderByComparator obc)
1200        throws SystemException {
1201        Object[] finderArgs = new Object[] {
1202                String.valueOf(start), String.valueOf(end), String.valueOf(obc)
1203            };
1204
1205        List<MBBan> list = (List<MBBan>)FinderCacheUtil.getResult(FINDER_PATH_FIND_ALL,
1206                finderArgs, this);
1207
1208        if (list == null) {
1209            Session session = null;
1210
1211            try {
1212                session = openSession();
1213
1214                StringBundler query = null;
1215                String sql = null;
1216
1217                if (obc != null) {
1218                    query = new StringBundler(2 +
1219                            (obc.getOrderByFields().length * 3));
1220
1221                    query.append(_SQL_SELECT_MBBAN);
1222
1223                    appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, obc);
1224
1225                    sql = query.toString();
1226                }
1227
1228                sql = _SQL_SELECT_MBBAN;
1229
1230                Query q = session.createQuery(sql);
1231
1232                if (obc == null) {
1233                    list = (List<MBBan>)QueryUtil.list(q, getDialect(), start,
1234                            end, false);
1235
1236                    Collections.sort(list);
1237                }
1238                else {
1239                    list = (List<MBBan>)QueryUtil.list(q, getDialect(), start,
1240                            end);
1241                }
1242            }
1243            catch (Exception e) {
1244                throw processException(e);
1245            }
1246            finally {
1247                if (list == null) {
1248                    list = new ArrayList<MBBan>();
1249                }
1250
1251                cacheResult(list);
1252
1253                FinderCacheUtil.putResult(FINDER_PATH_FIND_ALL, finderArgs, list);
1254
1255                closeSession(session);
1256            }
1257        }
1258
1259        return list;
1260    }
1261
1262    public void removeByGroupId(long groupId) throws SystemException {
1263        for (MBBan mbBan : findByGroupId(groupId)) {
1264            remove(mbBan);
1265        }
1266    }
1267
1268    public void removeByUserId(long userId) throws SystemException {
1269        for (MBBan mbBan : findByUserId(userId)) {
1270            remove(mbBan);
1271        }
1272    }
1273
1274    public void removeByBanUserId(long banUserId) throws SystemException {
1275        for (MBBan mbBan : findByBanUserId(banUserId)) {
1276            remove(mbBan);
1277        }
1278    }
1279
1280    public void removeByG_B(long groupId, long banUserId)
1281        throws NoSuchBanException, SystemException {
1282        MBBan mbBan = findByG_B(groupId, banUserId);
1283
1284        remove(mbBan);
1285    }
1286
1287    public void removeAll() throws SystemException {
1288        for (MBBan mbBan : findAll()) {
1289            remove(mbBan);
1290        }
1291    }
1292
1293    public int countByGroupId(long groupId) throws SystemException {
1294        Object[] finderArgs = new Object[] { new Long(groupId) };
1295
1296        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_GROUPID,
1297                finderArgs, this);
1298
1299        if (count == null) {
1300            Session session = null;
1301
1302            try {
1303                session = openSession();
1304
1305                StringBundler query = new StringBundler(2);
1306
1307                query.append(_SQL_COUNT_MBBAN_WHERE);
1308
1309                query.append(_FINDER_COLUMN_GROUPID_GROUPID_2);
1310
1311                String sql = query.toString();
1312
1313                Query q = session.createQuery(sql);
1314
1315                QueryPos qPos = QueryPos.getInstance(q);
1316
1317                qPos.add(groupId);
1318
1319                count = (Long)q.uniqueResult();
1320            }
1321            catch (Exception e) {
1322                throw processException(e);
1323            }
1324            finally {
1325                if (count == null) {
1326                    count = Long.valueOf(0);
1327                }
1328
1329                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_GROUPID,
1330                    finderArgs, count);
1331
1332                closeSession(session);
1333            }
1334        }
1335
1336        return count.intValue();
1337    }
1338
1339    public int countByUserId(long userId) throws SystemException {
1340        Object[] finderArgs = new Object[] { new Long(userId) };
1341
1342        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_USERID,
1343                finderArgs, this);
1344
1345        if (count == null) {
1346            Session session = null;
1347
1348            try {
1349                session = openSession();
1350
1351                StringBundler query = new StringBundler(2);
1352
1353                query.append(_SQL_COUNT_MBBAN_WHERE);
1354
1355                query.append(_FINDER_COLUMN_USERID_USERID_2);
1356
1357                String sql = query.toString();
1358
1359                Query q = session.createQuery(sql);
1360
1361                QueryPos qPos = QueryPos.getInstance(q);
1362
1363                qPos.add(userId);
1364
1365                count = (Long)q.uniqueResult();
1366            }
1367            catch (Exception e) {
1368                throw processException(e);
1369            }
1370            finally {
1371                if (count == null) {
1372                    count = Long.valueOf(0);
1373                }
1374
1375                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_USERID,
1376                    finderArgs, count);
1377
1378                closeSession(session);
1379            }
1380        }
1381
1382        return count.intValue();
1383    }
1384
1385    public int countByBanUserId(long banUserId) throws SystemException {
1386        Object[] finderArgs = new Object[] { new Long(banUserId) };
1387
1388        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_BANUSERID,
1389                finderArgs, this);
1390
1391        if (count == null) {
1392            Session session = null;
1393
1394            try {
1395                session = openSession();
1396
1397                StringBundler query = new StringBundler(2);
1398
1399                query.append(_SQL_COUNT_MBBAN_WHERE);
1400
1401                query.append(_FINDER_COLUMN_BANUSERID_BANUSERID_2);
1402
1403                String sql = query.toString();
1404
1405                Query q = session.createQuery(sql);
1406
1407                QueryPos qPos = QueryPos.getInstance(q);
1408
1409                qPos.add(banUserId);
1410
1411                count = (Long)q.uniqueResult();
1412            }
1413            catch (Exception e) {
1414                throw processException(e);
1415            }
1416            finally {
1417                if (count == null) {
1418                    count = Long.valueOf(0);
1419                }
1420
1421                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_BANUSERID,
1422                    finderArgs, count);
1423
1424                closeSession(session);
1425            }
1426        }
1427
1428        return count.intValue();
1429    }
1430
1431    public int countByG_B(long groupId, long banUserId)
1432        throws SystemException {
1433        Object[] finderArgs = new Object[] {
1434                new Long(groupId), new Long(banUserId)
1435            };
1436
1437        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_BY_G_B,
1438                finderArgs, this);
1439
1440        if (count == null) {
1441            Session session = null;
1442
1443            try {
1444                session = openSession();
1445
1446                StringBundler query = new StringBundler(3);
1447
1448                query.append(_SQL_COUNT_MBBAN_WHERE);
1449
1450                query.append(_FINDER_COLUMN_G_B_GROUPID_2);
1451
1452                query.append(_FINDER_COLUMN_G_B_BANUSERID_2);
1453
1454                String sql = query.toString();
1455
1456                Query q = session.createQuery(sql);
1457
1458                QueryPos qPos = QueryPos.getInstance(q);
1459
1460                qPos.add(groupId);
1461
1462                qPos.add(banUserId);
1463
1464                count = (Long)q.uniqueResult();
1465            }
1466            catch (Exception e) {
1467                throw processException(e);
1468            }
1469            finally {
1470                if (count == null) {
1471                    count = Long.valueOf(0);
1472                }
1473
1474                FinderCacheUtil.putResult(FINDER_PATH_COUNT_BY_G_B, finderArgs,
1475                    count);
1476
1477                closeSession(session);
1478            }
1479        }
1480
1481        return count.intValue();
1482    }
1483
1484    public int countAll() throws SystemException {
1485        Object[] finderArgs = new Object[0];
1486
1487        Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_COUNT_ALL,
1488                finderArgs, this);
1489
1490        if (count == null) {
1491            Session session = null;
1492
1493            try {
1494                session = openSession();
1495
1496                Query q = session.createQuery(_SQL_COUNT_MBBAN);
1497
1498                count = (Long)q.uniqueResult();
1499            }
1500            catch (Exception e) {
1501                throw processException(e);
1502            }
1503            finally {
1504                if (count == null) {
1505                    count = Long.valueOf(0);
1506                }
1507
1508                FinderCacheUtil.putResult(FINDER_PATH_COUNT_ALL, finderArgs,
1509                    count);
1510
1511                closeSession(session);
1512            }
1513        }
1514
1515        return count.intValue();
1516    }
1517
1518    public void afterPropertiesSet() {
1519        String[] listenerClassNames = StringUtil.split(GetterUtil.getString(
1520                    com.liferay.portal.util.PropsUtil.get(
1521                        "value.object.listener.com.liferay.portlet.messageboards.model.MBBan")));
1522
1523        if (listenerClassNames.length > 0) {
1524            try {
1525                List<ModelListener<MBBan>> listenersList = new ArrayList<ModelListener<MBBan>>();
1526
1527                for (String listenerClassName : listenerClassNames) {
1528                    listenersList.add((ModelListener<MBBan>)Class.forName(
1529                            listenerClassName).newInstance());
1530                }
1531
1532                listeners = listenersList.toArray(new ModelListener[listenersList.size()]);
1533            }
1534            catch (Exception e) {
1535                _log.error(e);
1536            }
1537        }
1538    }
1539
1540    @BeanReference(name = "com.liferay.portlet.messageboards.service.persistence.MBBanPersistence")
1541    protected com.liferay.portlet.messageboards.service.persistence.MBBanPersistence mbBanPersistence;
1542    @BeanReference(name = "com.liferay.portlet.messageboards.service.persistence.MBCategoryPersistence")
1543    protected com.liferay.portlet.messageboards.service.persistence.MBCategoryPersistence mbCategoryPersistence;
1544    @BeanReference(name = "com.liferay.portlet.messageboards.service.persistence.MBDiscussionPersistence")
1545    protected com.liferay.portlet.messageboards.service.persistence.MBDiscussionPersistence mbDiscussionPersistence;
1546    @BeanReference(name = "com.liferay.portlet.messageboards.service.persistence.MBMailingListPersistence")
1547    protected com.liferay.portlet.messageboards.service.persistence.MBMailingListPersistence mbMailingListPersistence;
1548    @BeanReference(name = "com.liferay.portlet.messageboards.service.persistence.MBMessagePersistence")
1549    protected com.liferay.portlet.messageboards.service.persistence.MBMessagePersistence mbMessagePersistence;
1550    @BeanReference(name = "com.liferay.portlet.messageboards.service.persistence.MBMessageFlagPersistence")
1551    protected com.liferay.portlet.messageboards.service.persistence.MBMessageFlagPersistence mbMessageFlagPersistence;
1552    @BeanReference(name = "com.liferay.portlet.messageboards.service.persistence.MBStatsUserPersistence")
1553    protected com.liferay.portlet.messageboards.service.persistence.MBStatsUserPersistence mbStatsUserPersistence;
1554    @BeanReference(name = "com.liferay.portlet.messageboards.service.persistence.MBThreadPersistence")
1555    protected com.liferay.portlet.messageboards.service.persistence.MBThreadPersistence mbThreadPersistence;
1556    @BeanReference(name = "com.liferay.portal.service.persistence.ResourcePersistence")
1557    protected com.liferay.portal.service.persistence.ResourcePersistence resourcePersistence;
1558    @BeanReference(name = "com.liferay.portal.service.persistence.UserPersistence")
1559    protected com.liferay.portal.service.persistence.UserPersistence userPersistence;
1560    private static final String _SQL_SELECT_MBBAN = "SELECT mbBan FROM MBBan mbBan";
1561    private static final String _SQL_SELECT_MBBAN_WHERE = "SELECT mbBan FROM MBBan mbBan WHERE ";
1562    private static final String _SQL_COUNT_MBBAN = "SELECT COUNT(mbBan) FROM MBBan mbBan";
1563    private static final String _SQL_COUNT_MBBAN_WHERE = "SELECT COUNT(mbBan) FROM MBBan mbBan WHERE ";
1564    private static final String _FINDER_COLUMN_GROUPID_GROUPID_2 = "mbBan.groupId = ?";
1565    private static final String _FINDER_COLUMN_USERID_USERID_2 = "mbBan.userId = ?";
1566    private static final String _FINDER_COLUMN_BANUSERID_BANUSERID_2 = "mbBan.banUserId = ?";
1567    private static final String _FINDER_COLUMN_G_B_GROUPID_2 = "mbBan.groupId = ? AND ";
1568    private static final String _FINDER_COLUMN_G_B_BANUSERID_2 = "mbBan.banUserId = ?";
1569    private static final String _ORDER_BY_ENTITY_ALIAS = "mbBan.";
1570    private static final String _NO_SUCH_ENTITY_WITH_PRIMARY_KEY = "No MBBan exists with the primary key ";
1571    private static final String _NO_SUCH_ENTITY_WITH_KEY = "No MBBan exists with the key {";
1572    private static Log _log = LogFactoryUtil.getLog(MBBanPersistenceImpl.class);
1573}