KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > fulcrum > security > impl > db > entity > TurbineGroupPeer


1 package org.apache.fulcrum.security.impl.db.entity;
2
3 /* ====================================================================
4  * The Apache Software License, Version 1.1
5  *
6  * Copyright (c) 2001-2002 The Apache Software Foundation. All rights
7  * reserved.
8  *
9  * Redistribution and use in source and binary forms, with or without
10  * modification, are permitted provided that the following conditions
11  * are met:
12  *
13  * 1. Redistributions of source code must retain the above copyright
14  * notice, this list of conditions and the following disclaimer.
15  *
16  * 2. Redistributions in binary form must reproduce the above copyright
17  * notice, this list of conditions and the following disclaimer in
18  * the documentation and/or other materials provided with the
19  * distribution.
20  *
21  * 3. The end-user documentation included with the redistribution,
22  * if any, must include the following acknowledgment:
23  * "This product includes software developed by the
24  * Apache Software Foundation (http://www.apache.org/)."
25  * Alternately, this acknowledgment may appear in the software itself,
26  * if and wherever such third-party acknowledgments normally appear.
27  *
28  * 4. The names "Apache" and "Apache Software Foundation" and
29  * "Apache Turbine" must not be used to endorse or promote products
30  * derived from this software without prior written permission. For
31  * written permission, please contact apache@apache.org.
32  *
33  * 5. Products derived from this software may not be called "Apache",
34  * "Apache Turbine", nor may "Apache" appear in their name, without
35  * prior written permission of the Apache Software Foundation.
36  *
37  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
38  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
39  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
40  * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
41  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
42  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
43  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
44  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
45  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
46  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
47  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
48  * SUCH DAMAGE.
49  * ====================================================================
50  *
51  * This software consists of voluntary contributions made by many
52  * individuals on behalf of the Apache Software Foundation. For more
53  * information on the Apache Software Foundation, please see
54  * <http://www.apache.org/>.
55  */

56
57 // JDK classes
58
import java.util.List JavaDoc;
59
60 import org.apache.fulcrum.security.entity.Group;
61 import org.apache.fulcrum.security.entity.SecurityEntity;
62 import org.apache.fulcrum.security.util.DataBackendException;
63 import org.apache.fulcrum.security.util.GroupSet;
64 import org.apache.torque.util.BasePeer;
65 import org.apache.torque.util.Criteria;
66
67 /**
68  * This class handles all the database access for the Group table.
69  * This table contains all the Groups that a given member can play.
70  *
71  * @author <a HREF="mailto:frank.kim@clearink.com">Frank Y. Kim</a>
72  * @author <a HREF="mailto:jmcnally@collab.net">John D. McNally</a>
73  * @author <a HREF="mailto:bmclaugh@algx.net">Brett McLaughlin</a>
74  * @author <a HREF="mailto:Rafal.Krzewski@e-point.pl">Rafal Krzewski</a>
75  * @author <a HREF="mailto:mpoeschl@marmot.at">Martin Poeschl</a>
76  * @version $Id: TurbineGroupPeer.java,v 1.1 2004/11/12 10:25:43 epugh Exp $
77  */

78 public class TurbineGroupPeer
79     extends org.apache.fulcrum.security.impl.db.entity.BaseTurbineGroupPeer
80 {
81     /** The column name for the name field. */
82     public static final String JavaDoc NAME = GROUP_NAME;
83
84     /**
85      * Returns the full name of a column.
86      *
87      * @return A String with the full name of the column.
88      */

89     public static String JavaDoc getColumnName(String JavaDoc name)
90     {
91         StringBuffer JavaDoc sb = new StringBuffer JavaDoc();
92         sb.append(TurbineGroupPeer.TABLE_NAME);
93         sb.append(".");
94         sb.append(name);
95         return sb.toString();
96     }
97
98     /**
99      * Checks if a Group is defined in the system. The name
100      * is used as query criteria.
101      *
102      * @param permission The Group to be checked.
103      * @return <code>true</code> if given Group exists in the system.
104      * @throws DataBackendException when more than one Group with
105      * the same name exists.
106      * @throws Exception, a generic exception.
107      */

108     public static boolean checkExists(Group group)
109         throws DataBackendException, Exception JavaDoc
110     {
111         Criteria criteria = new Criteria();
112         criteria.addSelectColumn(GROUP_ID);
113         criteria.add(NAME, ((SecurityEntity)group).getName());
114         List JavaDoc results = BasePeer.doSelect(criteria);
115         if (results.size() > 1)
116         {
117             throw new DataBackendException("Multiple groups named '" +
118                 ((TurbineGroup)group).getName() + "' exist!");
119         }
120         return (results.size()==1);
121     }
122
123     /**
124      * Get the name of this table.
125      *
126      * @return A String with the name of the table.
127      */

128     public static String JavaDoc getTableName()
129     {
130         return TABLE_NAME;
131     }
132
133     /**
134      * Retrieves/assembles a GroupSet of all of the Groups.
135      *
136      * @param criteria The criteria to use.
137      * @return A GroupSet.
138      * @exception Exception, a generic exception.
139      */

140     public static GroupSet retrieveSet() throws Exception JavaDoc
141     {
142         return retrieveSet(new Criteria());
143     }
144
145     /**
146      * Retrieves/assembles a GroupSet based on the Criteria passed in
147      */

148     public static GroupSet retrieveSet(Criteria criteria) throws Exception JavaDoc
149     {
150         List JavaDoc results = doSelect(criteria);
151         GroupSet rs = new GroupSet();
152         for (int i = 0; i < results.size(); i++)
153         {
154             rs.add((Group)results.get(i));
155         }
156         return rs;
157     }
158
159 }
160
Popular Tags