org.apache.felix.webconsole
Class SimpleWebConsolePlugin

java.lang.Object
  extended by javax.servlet.GenericServlet
      extended by javax.servlet.http.HttpServlet
          extended by org.apache.felix.webconsole.AbstractWebConsolePlugin
              extended by org.apache.felix.webconsole.SimpleWebConsolePlugin
All Implemented Interfaces:
Serializable, Servlet, ServletConfig
Direct Known Subclasses:
BundleRepositoryRender, BundlesServlet, ComponentsServlet, ConfigManager, ConfigurationRender, DepPackServlet, LicenseServlet, LogServlet, ServicesServlet, ShellServlet, VMStatPlugin, WebConsolePlugin

public abstract class SimpleWebConsolePlugin
extends AbstractWebConsolePlugin

SimpleWebConsolePlugin is an utility class that provides default implementation of the AbstractWebConsolePlugin and supports the following features:

See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.apache.felix.webconsole.AbstractWebConsolePlugin
ATTR_FILEUPLOAD, GET_RESOURCE_METHOD_NAME
 
Constructor Summary
SimpleWebConsolePlugin(String label, String title, String[] css)
          Creates new Simple Web Console Plugin.
 
Method Summary
 void deactivate()
          This method will close all service trackers, created by getService(String) method.
protected  String[] getCssReferences()
          Returns a list of CSS reference paths or null if no additional CSS files are provided by the plugin.
 String getLabel()
          Retrieves the label.
protected  URL getResource(String path)
          Called internally by AbstractWebConsolePlugin to load resources.
 Object getService(String serviceName)
          Gets the service with the specified class name.
 String getTitle()
          Retrieves the title of the plug-in.
 SimpleWebConsolePlugin register(BundleContext bc)
          This is an utility method.
 void unregister()
          An utility method that removes the service, registered by the register(BundleContext) method.
 
Methods inherited from class org.apache.felix.webconsole.AbstractWebConsolePlugin
activate, doGet, endResponse, getBrandingPlugin, getBundle, getBundleContext, getParameter, getResourceProvider, getServletName, isHtmlRequest, log, log, readTemplateFile, renderContent, renderTopNavigation, sendRedirect, setBrandingPlugin, setLogLevel, startResponse
 
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service, service
 
Methods inherited from class javax.servlet.GenericServlet
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, init, init, log, log
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SimpleWebConsolePlugin

public SimpleWebConsolePlugin(String label,
                              String title,
                              String[] css)
Creates new Simple Web Console Plugin.

Parameters:
label - the front label. See AbstractWebConsolePlugin.getLabel()
title - the plugin title . See AbstractWebConsolePlugin.getTitle()
css - the additional plugin CSS. See AbstractWebConsolePlugin.getCssReferences()
Method Detail

getLabel

public final String getLabel()
Description copied from class: AbstractWebConsolePlugin
Retrieves the label. This is the last component in the servlet path. This method MUST be overridden, if the AbstractWebConsolePlugin.AbstractWebConsolePlugin() constructor is used.

Specified by:
getLabel in class AbstractWebConsolePlugin
Returns:
the label.
See Also:
AbstractWebConsolePlugin.getLabel()

getTitle

public final String getTitle()
Description copied from class: AbstractWebConsolePlugin
Retrieves the title of the plug-in. It is displayed in the page header and is also included in the title of the HTML document. This method MUST be overridden, if the AbstractWebConsolePlugin.AbstractWebConsolePlugin() constructor is used.

Specified by:
getTitle in class AbstractWebConsolePlugin
Returns:
the plugin title.
See Also:
AbstractWebConsolePlugin.getTitle()

getCssReferences

protected final String[] getCssReferences()
Description copied from class: AbstractWebConsolePlugin
Returns a list of CSS reference paths or null if no additional CSS files are provided by the plugin.

The result is an array of strings which are used as the value of the href attribute of the <link> elements placed in the head section of the HTML generated. If the reference is a relative path, it is turned into an absolute path by prepending the value of the WebConsoleConstants.ATTR_APP_ROOT request attribute.

Overrides:
getCssReferences in class AbstractWebConsolePlugin
Returns:
The list of additional CSS files to reference in the head section or null if no such CSS files are required.
See Also:
AbstractWebConsolePlugin.getCssReferences()

getResource

protected URL getResource(String path)
Called internally by AbstractWebConsolePlugin to load resources. This particular implementation depends on the label. As example, if the plugin is accessed as /system/console/abc, and the plugin resources are accessed like /system/console/abc/res/logo.gif, the code here will try load resource /res/logo.gif from the bundle, providing the plugin.

Parameters:
path - the path to read.
Returns:
the URL of the resource or null if not found.

register

public final SimpleWebConsolePlugin register(BundleContext bc)
This is an utility method. It is used to register the plugin service. Don't forget to call the unregister() when the plugin is no longer needed.

Parameters:
bc - the bundle context used for service registration.
Returns:
self

unregister

public final void unregister()
An utility method that removes the service, registered by the register(BundleContext) method.


getService

public final Object getService(String serviceName)
Gets the service with the specified class name. Will create a new ServiceTracker if the service is not already got.

Parameters:
serviceName - the service name to obtain
Returns:
the service or null if missing.

deactivate

public void deactivate()
This method will close all service trackers, created by getService(String) method. If you override this method, don't forget to call the super.

Overrides:
deactivate in class AbstractWebConsolePlugin
See Also:
AbstractWebConsolePlugin.deactivate()


Copyright © 2013 The Apache Software Foundation. All Rights Reserved.