01: /* Copyright 2005 The JA-SIG Collaborative. All rights reserved.
02: * See license distributed with this file and
03: * available online at http://www.uportal.org/license.html
04: */
05:
06: package org.jasig.portal.channels.support;
07:
08: /**
09: * IChannelTitle is an interface for conveying the title of a channel.
10: * <p>Its current use (as of uPortal 2.5.1) is for marking a {@link org.jasig.portal.ChannelRuntimeProperties}
11: * as conveying a dynamic channel title. That is, an {@link org.jasig.portal.IChannel} returning
12: * a {@link org.jasig.portal.ChannelRuntimeProperties} that implements IChannelTitle communicates
13: * to the framework a desired title for the channel, overriding any title
14: * declared at the time of channel publication.</p>
15: *
16: * <p>Dynamic channel title capability is implemented in terms of this interface
17: * rather than in terms of detection of some particular {@link org.jasig.portal.ChannelRuntimeProperties}
18: * subclass so that any existing or new {@link org.jasig.portal.ChannelRuntimeProperties} subclassess
19: * can be made dynamically titled. Recommendation for channel implementors: use
20: * {@link TitledChannelRuntimeProperties} rather than writing a new
21: * {@link org.jasig.portal.ChannelRuntimeProperties} subclass
22: * implementing this interface, where possible.</p>
23: * </p>
24: * @since uPortal 2.5.1
25: * @version $Revision: 36683 $ $Date: 2006-08-23 15:08:00 -0700 (Wed, 23 Aug 2006) $
26: */
27: public interface IChannelTitle {
28:
29: /**
30: * Get the desired channel title.
31: * Returning <code>null</code> indicates that the channel is not specifying
32: * a dynamic title and will leave it up to "the uPortal framework" to
33: * provide a title for the channel.
34: * <p>Currently, the fallback behavior is to
35: * behave as if the channel hadn't provided an IDynamicChannelTitle at all
36: * and use the title specified at channel publication.</p>
37: * @return desired dynamic channel title, or null if no dynamic title.
38: */
39: public String getChannelTitle();
40:
41: }
|