Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jasig.portal.channels
Class CTimeTitle

    java.lang.Object
      org.jasig.portal.channels.CAbstractXslt
          org.jasig.portal.channels.CTimeTitle

All Implemented Interfaces:
  IChannel

    public final class CTimeTitle

extends CAbstractXslt

An example channel that includes the current time in its dynamically generated title.

Since:
  uPortal 2.5.1
Version:
  $Revision$ $Date$

Field Summary
`static java.lang.String` | `DEFAULT_XSL_URI` By default, we use the XSLT 'TimeTitle.xsl' which will be found in the stylesheets subdirectory corresponding to the package of this CTimeTitle channel.
`static java.lang.String` | `XSL_PARAM_KEY` "xslUri" is the name of the ChannelStaticData attribute that we will read and, if set to a non-null value, we will use its value as our XSLT URI.

Fields inherited from class org.jasig.portal.channels.CAbstractXslt
`log`

Constructor Summary
`CTimeTitle()`

Method Summary
`ChannelRuntimeProperties` | `getRuntimeProperties()` Acquires ChannelRuntimeProperties from the channel.
`protected java.util.Map` | `getStylesheetParams()` Get a Map from parameter names to parameter values for parameters to be passed to the XSLT.
`protected org.w3c.dom.Document` | `getXml()` Get the Document we should feed to our XSLT.
`protected java.lang.String` | `getXsltUri()` Get the URI whereat we can obtain the XSLT we should use to render.
`void` | `receiveEvent(PortalEvent ev)` Passes an outside event to a channel.

Methods inherited from class org.jasig.portal.channels.CAbstractXslt
`getRuntimeData, getStaticData, renderXML, setRuntimeData, setStaticData`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### XSL_PARAM_KEY

    public static final java.lang.String XSL_PARAM_KEY

  "xslUri" is the name of the ChannelStaticData attribute that we will read and, if set to a non-null value, we will use its value as our XSLT URI. If this ChannelStaticData attribute is not set, we will fall back on our default.

  See Also:
    Constant Field Values

### DEFAULT_XSL_URI

    public static final java.lang.String DEFAULT_XSL_URI

  By default, we use the XSLT 'TimeTitle.xsl' which will be found in the stylesheets subdirectory corresponding to the package of this CTimeTitle channel.

  See Also:
    Constant Field Values

Constructor Detail

### CTimeTitle

    public CTimeTitle()

Method Detail

### getXml

    protected final org.w3c.dom.Document getXml()
                                         throws java.lang.Exception

  Description copied from class: `CAbstractXslt`
  Get the Document we should feed to our XSLT. This method is declared to throw Exception for maximum convenience of the developer extending this class. Such developers should catch or declare exceptions as appropriate to your needs. Just because you can throw Exception here doesn't mean you shouldn't, for example, fallback to a default XSLT URL when your cannot programmatically determine the URL of your XSLT. On the other hand, there's no reason for you to wrap SqlExceptions if you're not going to do anything other than what this abstract class does with them (logs them and wraps them in PortalExceptions). The method invoking this template method, renderXML(), is declared to throw PortalException by the IChannel API. Any PortalException or RuntimeException thrown by getXsltUri() will be thrown all the way out of the abstract class's renderXML() method. This approach ensures that developers extending this class retain control over what exceptions their implementions throw. Note that you can map particular exceptions to particular XML representations and thus particular CError displays as of uPortal 2.5. Exceptions that are neither RuntimeExceptions nor PortalExceptions thrown by this method will be logged and wrapped in PortalExceptions so that this channel will conform to the IChannel API. Implementations of this method should not return null. When this method returns null, renderXML() throws an IllegalStateException.

  Specified by:
    `getXml` in class `CAbstractXslt`
  Returns:
    the Document we should feed to our XSLT.
  Throws:
    `java.lang.Exception` - including PortalException or any RuntimeException on failure

### getXsltUri

    protected final java.lang.String getXsltUri()
                                         throws java.lang.Exception

  Description copied from class: `CAbstractXslt`
  Get the URI whereat we can obtain the XSLT we should use to render. This method is declared to throw Exception for maximum convenience of the developer extending this class. Such developers should catch or declare exceptions as appropriate to your needs. Just because you can throw Exception here doesn't mean you shouldn't, for example, fallback to a default XSLT URL when your cannot programmatically determine the URL of your XSLT. On the other hand, there's no reason for you to wrap SqlExceptions if you're not going to do anything other than what this abstract class does with them (logs them and wraps them in PortalExceptions). The method invoking this template method, renderXML(), is declared to throw PortalException by the IChannel API. Any PortalException or RuntimeException thrown by getXsltUri() will be thrown all the way out of the abstract class's renderXML() method. This approach ensures that developers extending this class retain control over what exceptions their implementions throw. Note that you can map particular exceptions to particular XML representations and thus particular CError displays as of uPortal 2.5. Exceptions that are neither RuntimeExceptions nor PortalExceptions thrown by this method will be logged and wrapped in PortalExceptions so that this channel will conform to the IChannel API. Implementations of this method should not return null. The behavior of this class when this method returns null is currently undefined. The current implementation is to throw IllegalStateException. However, it might be an interesting improvement to make the meaning of returning null here be to perform no transformation and just dump the XML to the ContentHandler.

  Specified by:
    `getXsltUri` in class `CAbstractXslt`
  Returns:
    URI of the XSLT to use to render the channel
  Throws:
    `java.lang.Exception` - including PortalException or any RuntimeException on failure

### getStylesheetParams

    protected final java.util.Map getStylesheetParams()
                                               throws java.lang.Exception

  Description copied from class: `CAbstractXslt`
  Get a Map from parameter names to parameter values for parameters to be passed to the XSLT. Returning null is equivalent to returning an empty map and will not be considered an error condition by the renderXML() implementation. This method is declared to throw Exception for maximum convenience of the developer extending this class. Such developers should catch or declare exceptions as appropriate to your needs. Just because you can throw Exception here doesn't mean you shouldn't, for example, fallback to default XSLT parameters when you cannot programmatically determine some or all of your XSLT parameters. Or, if you have a very channel-specific UI you want to render on failure, you might pass parameters to your XSLT characterizing the failure and let your XSLT render the response. There's likely no reason for you to wrap IOExceptions if you're not going to do anything other than what this abstract class does with them (logs them and wraps them in PortalExceptions). The method invoking this template method, renderXML(), is declared to throw PortalException by the IChannel API. Any PortalException or RuntimeException thrown by getStylesheetParams() will be thrown all the way out of the abstract class's renderXML() method. This approach ensures that developers extending this class retain control over what exceptions their implementions throw. Note that you can map particular exceptions to particular XML representations and thus particular CError displays as of uPortal 2.5. Exceptions that are neither RuntimeExceptions nor PortalExceptions thrown by this method will be logged and wrapped in PortalExceptions so that this channel will conform to the IChannel API.

  Specified by:
    `getStylesheetParams` in class `CAbstractXslt`
  Returns:
    a Map from parameter names to parameter values, or null (equivalent to empty Map).
  Throws:
    `java.lang.Exception` - including PortalException or any RuntimeException on failure.

### receiveEvent

    public final void receiveEvent(PortalEvent ev)

  Description copied from interface: `IChannel`
  Passes an outside event to a channel. Events should normally come from the LayoutBean.

  Parameters:
    `ev` - PortalEvent object
  See Also:
    `PortalEvent`

### getRuntimeProperties

    public final ChannelRuntimeProperties getRuntimeProperties()

  Description copied from interface: `IChannel`
  Acquires ChannelRuntimeProperties from the channel. This function may be called by the portal framework throughout the session. Currently, as of uPortal 2.5.1, the framework calls this method after each invocation of renderXML (to determine if there is a dynamic channel title). Prior to uPortal 2.5.1, the framework would not call this method.

  Specified by:
    `getRuntimeProperties` in interface `IChannel`
  Overrides:
    `getRuntimeProperties` in class `CAbstractXslt`
  See Also:
    `ChannelRuntimeProperties`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD