KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > oracle > toplink > essentials > internal > sequencing > SequencingFactory


1 /*
2  * The contents of this file are subject to the terms
3  * of the Common Development and Distribution License
4  * (the "License"). You may not use this file except
5  * in compliance with the License.
6  *
7  * You can obtain a copy of the license at
8  * glassfish/bootstrap/legal/CDDLv1.0.txt or
9  * https://glassfish.dev.java.net/public/CDDLv1.0.html.
10  * See the License for the specific language governing
11  * permissions and limitations under the License.
12  *
13  * When distributing Covered Code, include this CDDL
14  * HEADER in each file and include the License file at
15  * glassfish/bootstrap/legal/CDDLv1.0.txt. If applicable,
16  * add the following below this CDDL HEADER, with the
17  * fields enclosed by brackets "[]" replaced with your
18  * own identifying information: Portions Copyright [yyyy]
19  * [name of copyright owner]
20  */

21 // Copyright (c) 1998, 2005, Oracle. All rights reserved.
22
package oracle.toplink.essentials.internal.sequencing;
23
24 import oracle.toplink.essentials.internal.sessions.AbstractSession;
25 import oracle.toplink.essentials.internal.sessions.DatabaseSessionImpl;
26 import oracle.toplink.essentials.threetier.ClientSession;
27
28 /**
29  * SequencingFactory is private to TopLink.
30  * It instantiates sequencing classes for sessions.
31  * It allows sequencing classes to be incupsulated in
32  * this package.
33  *
34  * @see ClientSessionSequencing
35  * @see RemoteConnectionSequencing
36  * @see SessionBrokerSequencing
37  * @see SequencingManager
38  *
39  */

40 public class SequencingFactory {
41
42     /**
43     * INTERNAL:
44     * Takes a potential owner - a Session, returns Sequencing object.
45     * Note that before creating a Sequencing object there is a check performed
46     * to determine whether the object could be created.
47     */

48     public static Sequencing createSequencing(AbstractSession session) {
49         Sequencing sequencing = null;
50         if (session.isClientSession()) {
51             ClientSession cs = (ClientSession)session;
52             if (ClientSessionSequencing.sequencingServerExists(cs)) {
53                 sequencing = new ClientSessionSequencing(cs);
54             }
55         }
56         return sequencing;
57     }
58
59     /**
60     * INTERNAL:
61     * Takes a potential owner - a DatabaseSession, returns SequencingHome object.
62     * Only DatabaseSession and ServerSession should be passed (not SessionBroker).
63     */

64     public static SequencingHome createSequencingHome(DatabaseSessionImpl ownerSession) {
65         SequencingHome home = null;
66         if (!ownerSession.isBroker()) {
67             home = new SequencingManager(ownerSession);
68         }
69         return home;
70     }
71 }
72
Popular Tags