com.anabas.sharedlet
Interface SharedletInfo


public interface SharedletInfo

Completely describes the behavior of a sharedlet during deployment. This is essentially the deployment configuration file for the sharedlet and will be converted into an XML based configuration file in the near future.

The info file describes how the sharedlet is to be run in the environment and will be instantiated by sharedlet containers first. After the container examines the info files, it will then proceed to instantiate sharedlet instances according to the parameters specified within the SharedletInfo structure.

All sharedlet info classes must have the same name as the sharedlet + "Info" if the developers are implementing their own sharedlet instance. For example, a WhiteboardSharedlet must have a WhiteboardSharedletInfo class.

During the packaging of a sharedlet into a jar file, the MANIFEST file must contain the entry:

Name: <Sharedlet Info class name>
Sharedlet: true

for the sharedlet to be recognized by the container.


Method Summary
 java.util.Vector getCapabilities()
          A complete list of capabilities that this sharedlet supports.
 java.lang.String getDescription()
          Contains a short description of the sharedlet.
 java.util.Vector getLogicInfos()
          A complete list of the sharedlet session logic info instances.
 java.lang.String getMIMEType()
          Each sharedlet must have a unique MIME type that differentiate itself from other sharedlets.
 java.util.Vector getModeratableInfos()
          A complete list of moderatable elements that are configured for a particular deployment.
 java.util.Vector getRoleInfos()
          A complete list of roles that this sharedlet support.
 java.lang.String[] getSupportedDocumentTypes()
          The list of document types that this sharedlet supports.
 double getVersion()
          The version number of this sharedlet.
 java.util.Vector getViewInfos()
          A complete list of sharedlet view info classes.
 

Method Detail

getMIMEType

public java.lang.String getMIMEType()
Each sharedlet must have a unique MIME type that differentiate itself from other sharedlets. All sharedlet MIME type should be of the form:

application/x-sharedlet-

Returns:
The unique MIME Type of the this sharedlet.

getDescription

public java.lang.String getDescription()
Contains a short description of the sharedlet. Typically used to display as more detailed information on the sharedlet to a user.
Returns:
A user readable short description of the sharedlet.

getVersion

public double getVersion()
The version number of this sharedlet.
Returns:
The version of this sharedlet.

getViewInfos

public java.util.Vector getViewInfos()
A complete list of sharedlet view info classes. These instances should completely describe the deployment behavior of the sharedlet views.
Returns:
A vector of SharedletViewInfo instances
See Also:
SharedletViewInfo

getLogicInfos

public java.util.Vector getLogicInfos()
A complete list of the sharedlet session logic info instances. These instances should completely describe the deployment behavior of the session logic objects.
Returns:
A vector of SharedletSessionLogicInfo instances

getCapabilities

public java.util.Vector getCapabilities()
A complete list of capabilities that this sharedlet supports. Capabilities are used to control what features of the sharedlet the user has access to and what feature the user does not have access tool. It is useful for moderatable sharedlets.

Each sharedlet would then check with the CapabiliitesManager during run time to see if a particular capability is enabled in the currently inocation and handle permissions accordingly.

Capabilities are used hand in hand with ModeratableElement's and Role's.

Capabilities should be of type String.

Returns:
A vector of capability names that is sharedlet supports.

getRoleInfos

public java.util.Vector getRoleInfos()
A complete list of roles that this sharedlet support. Each role maps to a list of capabilities that role has enabled. It is used to initialize each sharedlet invocation for a particular user. Typical roles would involved host, moderator, and participant.

When a sharedlet is invoked for a particular, one of the roles will be assigned to the sharedlet by the framework. The sharedlet developer only has to worry about checking with the CapabilitiesManager to see which underlying capabilities are enabled and disabled.

Returns:
A vector of SharedletRoleInfo records

getModeratableInfos

public java.util.Vector getModeratableInfos()
A complete list of moderatable elements that are configured for a particular deployment. A moderatable element is a list of capabilities. A user with moderation ability can then remotely enable for disable the set of moderatable elements for a particular sharedlet (equivalent to enabling/ disabling a set of capabilities that define this moderatable element).

This information is used primarily to automatically generate a list of moderatable commands that a user has access to. Another sharedlet or framework service will provide automatic moderation capabilities based on this set of moderatable elements.

Returns:
A vector of ModeratableElementInfo records.

getSupportedDocumentTypes

public java.lang.String[] getSupportedDocumentTypes()
The list of document types that this sharedlet supports. It should be a list of document extension types. For example:

  • "doc"
  • "ppt"
  • "html"

Are all valid document types. The Sharedlet's Sharedlet.loadDocument(URL) will be invoked by the framework if the document referred to URL is supported by this sharedlet and another program/sharedlet has requested the document be launched using the LauncherService.launchDocument(URL).

Returns:
The list of document types this sharedlet supports.