KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > tigris > scarab > om > RModuleIssueTypeManager


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

48
49 import java.util.List JavaDoc;
50 import java.util.HashMap JavaDoc;
51
52 import org.apache.torque.TorqueException;
53 import org.apache.torque.om.Persistent;
54 import org.apache.torque.om.ObjectKey;
55 import org.apache.torque.om.NumberKey;
56 import org.apache.torque.om.SimpleKey;
57 import org.apache.torque.om.ComboKey;
58
59 /**
60  * This class manages RModuleIssueType objects.
61  *
62  * @version $Id: RModuleIssueTypeManager.java 9104 2004-05-10 21:04:51Z dabbous $
63  */

64 public class RModuleIssueTypeManager
65     extends BaseRModuleIssueTypeManager
66 {
67     /**
68      * Creates a new <code>RModuleIssueTypeManager</code> instance.
69      *
70      * @exception TorqueException if an error occurs
71      */

72     public RModuleIssueTypeManager()
73         throws TorqueException
74     {
75         super();
76         setRegion(getClassName().replace('.', '_'));
77         validFields = new HashMap JavaDoc();
78         validFields.put(RModuleIssueTypePeer.MODULE_ID, null);
79     }
80
81     protected Persistent putInstanceImpl(Persistent om)
82         throws TorqueException
83     {
84         Persistent oldOm = super.putInstanceImpl(om);
85         List JavaDoc listeners = (List JavaDoc)listenersMap
86             .get(RModuleIssueTypePeer.MODULE_ID);
87         notifyListeners(listeners, oldOm, om);
88         return oldOm;
89     }
90
91     public static void removeFromCache(RModuleIssueType module)
92         throws TorqueException
93     {
94         ObjectKey key = module.getPrimaryKey();
95         getManager().removeInstanceImpl(key);
96     }
97
98     public static RModuleIssueType getInstance(String JavaDoc key)
99         throws TorqueException
100     {
101         if (key == null)
102         {
103             throw new NullPointerException JavaDoc(
104                 "Cannot request a RModuleIssueType using a null key."); //EXCEPTION
105
}
106         int colonPos = key.indexOf(':');
107         if (colonPos == -1)
108         {
109             throw new IllegalArgumentException JavaDoc(
110                 "RModuleIssueType keys must be of the form N1:N2, not " + key); //EXCEPTION
111
}
112         // { module_id, issue_type_id }
113
SimpleKey[] keyArray = { new NumberKey(key.substring(1, colonPos)),
114             new NumberKey(key.substring(colonPos+2, key.length()-1))
115             };
116         return getInstance(new ComboKey(keyArray));
117     }
118 }
119
Popular Tags