KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sun > enterprise > server > pluggable > PluggableFeatureFactory


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 in
5  * compliance with the License.
6  *
7  * You can obtain a copy of the license at
8  * https://glassfish.dev.java.net/public/CDDLv1.0.html or
9  * glassfish/bootstrap/legal/CDDLv1.0.txt.
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 Notice in each file and include the License file
15  * at glassfish/bootstrap/legal/CDDLv1.0.txt.
16  * If applicable, add the following below the CDDL Header,
17  * with the fields enclosed by brackets [] replaced by
18  * you own identifying information:
19  * "Portions Copyrighted [year] [name of copyright owner]"
20  *
21  * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
22  */

23 package com.sun.enterprise.server.pluggable;
24
25 import com.sun.enterprise.admin.AdminContext;
26 import com.sun.enterprise.web.SchemaUpdater;
27 import com.sun.enterprise.web.WebContainerStartStopOperation;
28 import com.sun.enterprise.web.WebContainerAdminEventProcessor;
29 import com.sun.enterprise.deployment.pluggable.DeploymentFactory;
30 import com.sun.enterprise.admin.event.pluggable.NotificationFactory;
31 import com.sun.enterprise.admin.target.TargetFactory;
32 import com.sun.enterprise.server.ss.ASLazyKernel;
33 import com.sun.enterprise.autotxrecovery.TransactionRecovery;
34 import com.sun.enterprise.diagnostics.DiagnosticAgent;
35 /**
36  * The interface to provide access to supported Pluggable Features. The
37  * various editions of the product may provide varied implementation for
38  * same feature. This interface has different implementation for every
39  * product edition. Every method in this interface provides access to
40  * implementation of a pluggable feature. The pattern for this class is
41  * to define getter methods for every pluggable feature, where a pluggable
42  * feature is a java interface.
43  */

44 public interface PluggableFeatureFactory {
45
46     /**
47      * Name of the property used to define pluggable features list.
48      */

49     public static final String JavaDoc PLUGGABLE_FEATURES_PROPERTY_NAME =
50             "com.sun.appserv.pluggable.features";
51
52     /**
53      * Get access to support for internal services. Internal services are
54      * lifecycle modules that are managed from within the ApplicationServer.
55      */

56     public InternalServicesList getInternalServicesList();
57
58     /**
59      * Get pluggable logging support. Pluggable logging support provides
60      * access to logging features appropriate for the environment (JVM).
61      * An example is log handlers.
62      */

63     public LoggingSupport getLoggingSupport();
64     
65     /**
66      * Get pluggable loader support. Pluggable loader support provides
67      * access to the appropriate ApplicationLoader within the ApplicationServer.
68      */

69     public ApplicationLoaderFactory getApplicationLoaderFactory();
70
71     /**
72      * Get admin context. Admin context provides access to common objects
73      * used for server administration
74      */

75     public AdminContext getAdminContext();
76     
77     /**
78      * Get the web container start/stop operation interface.
79      * Used by WebContainer to handle work during start and stop
80      */

81     public WebContainerStartStopOperation getWebContainerStartStopOperation();
82     
83     /**
84      * Get the web container start/stop operation interface.
85      * Used by WebContainer to handle work during start and stop
86      */

87     public WebContainerAdminEventProcessor getWebContainerAdminEventProcessor();
88     
89     /**
90      * Get the (HADB) SchemaUpdater interface.
91      * Used by WebContainer to handle updating hadb schema
92      * work during startup
93      */

94     public SchemaUpdater getSchemaUpdater();
95     
96     /**
97      * Get deployment factory. Deployment factory provides access to
98      * different deployment implementation necessary to support different
99      * product features.
100      */

101     public DeploymentFactory getDeploymentFactory();
102     
103     /**
104      * Distributed notification (event processing).
105      */

106
107     public NotificationFactory getNotificationFactory();
108
109     /**
110      * Pluggable target processing
111      */

112     public TargetFactory getTargetFactory();
113
114     /**
115      * Pluggable security support
116      */

117     public SecuritySupport getSecuritySupport();
118
119     /**
120      * Gets the appropriate WebContainerFeatureFactory for pluggable web
121      * container features.
122      */

123     public WebContainerFeatureFactory getWebContainerFeatureFactory();
124
125     /**
126      * Quick startup service.
127      */

128     public ASLazyKernel getASLazyKernel() ;
129     
130     /**
131      * HTTP Loadbalancer features .
132      */

133     public LBFeatureFactory getLBFeatureFactory() ;
134
135     
136     /**
137      * Automatic Transaction service .
138      */

139     public TransactionRecovery getTransactionRecoveryService() ;
140
141     /**
142      * Diagnostic Agent
143      */

144     public DiagnosticAgent getDiagnosticAgent();
145
146 }
147
Popular Tags