TV-Browser 3.3.3 API

tvbrowser.core.plugin
Class PluginManagerImpl

java.lang.Object
  extended by tvbrowser.core.plugin.PluginManagerImpl
All Implemented Interfaces:
PluginManager

public class PluginManagerImpl
extends java.lang.Object
implements PluginManager

The implementation of the PluginManager interface. This class is the connection for the plugins to TV-Browser.

Author:
Til Schneider, www.murfman.de

Nested Class Summary
static class PluginManagerImpl.RatingFieldRating
           
 
Field Summary
 
Fields inherited from interface devplugin.PluginManager
SEARCHER_TYPE_BOOLEAN, SEARCHER_TYPE_EXACTLY, SEARCHER_TYPE_KEYWORD, SEARCHER_TYPE_REGULAR_EXPRESSION
 
Method Summary
 javax.swing.JPopupMenu createPluginContextMenu(Program program, ContextMenuIf caller)
          Creates a context menu for the given program containing all plugins.
 ProgramSearcher createProgramSearcher(int type, java.lang.String searchTerm, boolean caseSensitive)
          Creates a ProgramSearcher.
 javax.swing.JPopupMenu createRemovedProgramContextMenu(Program program)
          Creates a context menu for the given program.
 void deleteFileOnNextStart(java.lang.String path)
          adds a file name to the list of files to be deleted on next TV-Browser start
 PluginAccess getActivatedPluginForId(java.lang.String pluginId)
          Gets the activated plugin with the given ID.
 PluginAccess[] getActivatedPlugins()
          Returns all activated Plugins.
 ProgramRatingIf[] getAllProgramRatingIfs()
          Gets all ProgramRatingIfs of all plugins.
 AbstractPluginProgramFormating[] getAvailableGlobalPuginProgramFormatings()
          Gets the available global program configurations.
 java.util.Iterator<Program> getChannelDayProgram(Date date, Channel channel)
          Gets an iterator through all programs of the specified channel at the specified date.
 Date getCurrentDate()
          Get the date currently shown in the program table.
 TvDataServiceProxy getDataServiceProxy(java.lang.String id)
           
 PluginAccess getDefaultContextMenuPlugin()
          Gets the plugin that is used as default in the context menu.
 Program getExampleProgram()
          Returns an example program.
 FilterManager getFilterManager()
          Returns the filter manager of TV-Browser.
 javax.swing.ImageIcon getIconFromTheme(Plugin plugin, java.lang.String category, java.lang.String iconName, int size)
          Returns an icon from the icon-theme-system If your plugin has icons that are not available as icons within an theme, you can add your icons into your jar-file.
 javax.swing.ImageIcon getIconFromTheme(Plugin plugin, ThemeIcon icon)
          Returns an Icon from the Icon-Theme-System If your Plugin has Icons that are not available as Icons within an Theme, you can add your Icons into your Jar-File.
static PluginManager getInstance()
          Returns the instance of this class, if there is no instance it is created first.
 java.lang.String getJavaPluginId(Plugin javaPlugin)
          Gets the ID of the given Java plugin.
 Program[] getMarkedPrograms()
          Return all marked programs.
 Program getProgram(Date date, java.lang.String progID)
          Gets a program.
 Program getProgram(java.lang.String uniqueID)
          Gets a program.
 Program[] getPrograms(Date date, java.lang.String progID)
          Gets a program.
 Program[] getPrograms(java.lang.String uniqueID)
          Gets programs.
 ProgramReceiveIf getReceiceIfForId(java.lang.String id)
          Return the ReceiveIfFor given id or null if there is no ReceiveIf for the given id.
 ProgramReceiveIf[] getReceiveIfs()
          Return all Plugins/Functions that are able to receive programs.
 ProgramReceiveIf[] getReceiveIfs(ProgramReceiveIf caller, ProgramReceiveTarget callerTarget)
          Return all Plugins/Functions that are able to receive programs.
 Channel[] getSubscribedChannels()
          Gets all channels the user has subscribed.
 TvBrowserSettings getTvBrowserSettings()
          Returns some settings a plugin may need.
 Version getTVBrowserVersion()
           
 void goToDate(Date date)
          Let TV-Browser change the date to the given date.
 void handleProgramDoubleClick(Program program)
          Deprecated. since 3.3.1 Use #ProgramMouseEventHandler and/or #ProgramKeyEventHandler instead.
 void handleProgramDoubleClick(Program program, ContextMenuIf caller)
          Deprecated. since 3.3.1 Use #ProgramMouseEventHandler and/or #ProgramKeyEventHandler instead.
 void handleProgramMiddleClick(Program program)
          Deprecated. since 3.3.1 Use #ProgramMouseEventHandler and/or #ProgramKeyEventHandler instead.
 void handleProgramMiddleClick(Program program, ContextMenuIf caller)
          Deprecated. since 3.3.1 Use #ProgramMouseEventHandler and/or #ProgramKeyEventHandler instead.
 void handleProgramMiddleDoubleClick(Program program)
          Deprecated. since 3.3.1 Use #ProgramMouseEventHandler and/or #ProgramKeyEventHandler instead.
 void handleProgramMiddleDoubleClick(Program program, ContextMenuIf caller)
          Deprecated. since 3.3.1 Use #ProgramMouseEventHandler and/or #ProgramKeyEventHandler instead.
 void handleProgramSingleClick(Program program)
          Deprecated. since 3.3.1 Use #ProgramMouseEventHandler and/or #ProgramKeyEventHandler instead.
 void handleProgramSingleClick(Program program, ContextMenuIf caller)
          Deprecated. since 3.3.1 Use #ProgramMouseEventHandler and/or #ProgramKeyEventHandler instead.
 void handleProgramSingleCtrlClick(Program program, ContextMenuIf caller)
          Deprecated. since 3.3.1 Use #ProgramMouseEventHandler and/or #ProgramKeyEventHandler instead.
protected  void handleTvBrowserStartFinished()
           
 boolean isDataAvailable(Date date)
          check if some TV data is available on the given date
 boolean isTvBrowserStartFinished()
          Gets if TV-Browser start was finished.
 void scrollToChannel(Channel channel)
          Let TV-Browser scroll to the given channel.
 void scrollToProgram(Program program)
          Let TV-Browser scroll to the given program.
 void scrollToTime(int time)
          Let TV-Browser scroll to the given time.
 void scrollToTime(int time, boolean highlight)
          Let TV-Browser scroll to the given time.
 void selectProgram(Program program)
          Selects the given program in the program table.
 boolean showBalloonTip(java.lang.String caption, java.lang.String message, java.awt.TrayIcon.MessageType messageType)
          Shows a balloon tip on the TV-Browser tray icon.
 void showSettings(Plugin plugin)
          Show the Settings-Dialog for a Plugin
 void showSettings(java.lang.String settingsItem)
          Show the Settings-Dialog with a Specific SettingsItem
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getInstance

public static PluginManager getInstance()
Returns the instance of this class, if there is no instance it is created first.

Returns:
The instance of this class.

getProgram

public Program getProgram(Date date,
                          java.lang.String progID)
Description copied from interface: PluginManager
Gets a program.

Specified by:
getProgram in interface PluginManager
Parameters:
date - The date when the program is shown.
progID - The ID of the program.
Returns:
The program or null if there is no such program.

getPrograms

public Program[] getPrograms(Date date,
                             java.lang.String progID)
Gets a program.

Specified by:
getPrograms in interface PluginManager
Parameters:
date - The date when the program is shown.
progID - The ID of the program.
Returns:
The program or null if there is no such program.

getProgram

public Program getProgram(java.lang.String uniqueID)
Gets a program.

Specified by:
getProgram in interface PluginManager
Parameters:
uniqueID - The unique ID (Program.getUniqueID()) of this program.
Returns:
The program or null if there is no such program.

getPrograms

public Program[] getPrograms(java.lang.String uniqueID)
Description copied from interface: PluginManager
Gets programs. (Well this is stupid but if programs start at the same time on the same channel on the same date they have the same UniqueID.)

Specified by:
getPrograms in interface PluginManager
Parameters:
uniqueID - The unique ID (Program.getUniqueID()) of the programs.
Returns:
The programs or null if there are no such programs.

getSubscribedChannels

public Channel[] getSubscribedChannels()
Gets all channels the user has subscribed.

Specified by:
getSubscribedChannels in interface PluginManager
Returns:
all channels the user has subscribed.

getChannelDayProgram

public java.util.Iterator<Program> getChannelDayProgram(Date date,
                                                        Channel channel)
Gets an iterator through all programs of the specified channel at the specified date.

Specified by:
getChannelDayProgram in interface PluginManager
Parameters:
date - The date of the programs.
channel - The channel of the programs.
Returns:
an Iterator for all programs of one day and channel.
If the requested data is not available, the iterator is empty, but not null.

createProgramSearcher

public ProgramSearcher createProgramSearcher(int type,
                                             java.lang.String searchTerm,
                                             boolean caseSensitive)
                                      throws TvBrowserException
Creates a ProgramSearcher.

Specified by:
createProgramSearcher in interface PluginManager
Parameters:
type - The searcher type to create. Must be one of
searchTerm - The search term the searcher should look for.
caseSensitive - Specifies whether the searcher should be case sensitive.
Returns:
A program searcher.
Throws:
TvBrowserException - If creating the program searcher failed.

getActivatedPlugins

public PluginAccess[] getActivatedPlugins()
Returns all activated Plugins.

Specified by:
getActivatedPlugins in interface PluginManager
Returns:
all activated Plugins.
Since:
1.1

getJavaPluginId

public java.lang.String getJavaPluginId(Plugin javaPlugin)
Gets the ID of the given Java plugin.

Specified by:
getJavaPluginId in interface PluginManager
Parameters:
javaPlugin - The Java plugin to get the ID for.
Returns:
The ID of the given Java plugin.

getActivatedPluginForId

public PluginAccess getActivatedPluginForId(java.lang.String pluginId)
Gets the activated plugin with the given ID.

Specified by:
getActivatedPluginForId in interface PluginManager
Parameters:
pluginId - The ID of the wanted plugin.
Returns:
The plugin with the given ID or null if no such plugin exists or if the plugin is not activated.

getDataServiceProxy

public TvDataServiceProxy getDataServiceProxy(java.lang.String id)
Specified by:
getDataServiceProxy in interface PluginManager

createPluginContextMenu

public javax.swing.JPopupMenu createPluginContextMenu(Program program,
                                                      ContextMenuIf caller)
Creates a context menu for the given program containing all plugins.

Specified by:
createPluginContextMenu in interface PluginManager
Parameters:
program - The program to create the context menu for
caller - The calling plugin.
Returns:
a context menu for the given program.

getExampleProgram

public Program getExampleProgram()
Returns an example program. You can use it for preview stuff.

Specified by:
getExampleProgram in interface PluginManager
Returns:
an example program.
Since:
0.9.7.4

handleProgramSingleClick

public void handleProgramSingleClick(Program program)
Deprecated. since 3.3.1 Use #ProgramMouseEventHandler and/or #ProgramKeyEventHandler instead.

Description copied from interface: PluginManager
Handles a single left click on a program.

Executes the single left click context menu function. Plugins should use handleProgramDoubleClick(Program program, Plugin caller). It prevents the Plugin to be activated a second time.

Specified by:
handleProgramSingleClick in interface PluginManager
Parameters:
program - The program to pass to the single left click context menu function.

handleProgramSingleClick

public void handleProgramSingleClick(Program program,
                                     ContextMenuIf caller)
Deprecated. since 3.3.1 Use #ProgramMouseEventHandler and/or #ProgramKeyEventHandler instead.

Description copied from interface: PluginManager
Handles a single left click on a program.

Executes the default context menu plugin.

Specified by:
handleProgramSingleClick in interface PluginManager
Parameters:
program - The program to pass to the default context menu function.
caller - The ContextMenuIf that calls this. Prevents the ContextMenuIf to be activated twice

handleProgramSingleCtrlClick

public void handleProgramSingleCtrlClick(Program program,
                                         ContextMenuIf caller)
Deprecated. since 3.3.1 Use #ProgramMouseEventHandler and/or #ProgramKeyEventHandler instead.

Description copied from interface: PluginManager
Handles a single left click on a program with Ctrl being held.

Executes the default context menu plugin.

Specified by:
handleProgramSingleCtrlClick in interface PluginManager
Parameters:
program - The program to pass to the default context menu function.
caller - The ContextMenuIf that calls this. Prevents the ContextMenuIf to be activated twice

handleProgramDoubleClick

public void handleProgramDoubleClick(Program program)
Deprecated. since 3.3.1 Use #ProgramMouseEventHandler and/or #ProgramKeyEventHandler instead.

Handles a double click on a program.

Executes the default context menu plugin. Plugins should use handleProgramDoubleClick(Program program, Plugin caller). It prevetns the Plugin to be activated a second time.

Specified by:
handleProgramDoubleClick in interface PluginManager
Parameters:
program - The program to pass to the default context menu plugin.
Since:
1.1

handleProgramDoubleClick

public void handleProgramDoubleClick(Program program,
                                     ContextMenuIf caller)
Deprecated. since 3.3.1 Use #ProgramMouseEventHandler and/or #ProgramKeyEventHandler instead.

Handles a double click on a program.

Executes the default context menu plugin.

Specified by:
handleProgramDoubleClick in interface PluginManager
Parameters:
program - The program to pass to the default context menu plugin.
caller - ContextMenuIf that calls this. Prevents the ContextMenuIf to be activated twice
Since:
1.1

handleProgramMiddleClick

public void handleProgramMiddleClick(Program program)
Deprecated. since 3.3.1 Use #ProgramMouseEventHandler and/or #ProgramKeyEventHandler instead.

Handles a middle click on a program.

Executes the middle click context menu plugin. Plugins should use handleProgramMiddleClick(Program program, Plugin caller). It prevents the Plugin to be activated a second time.

Specified by:
handleProgramMiddleClick in interface PluginManager
Parameters:
program - The program to pass to the middle click context menu plugin.
Since:
1.1

handleProgramMiddleClick

public void handleProgramMiddleClick(Program program,
                                     ContextMenuIf caller)
Deprecated. since 3.3.1 Use #ProgramMouseEventHandler and/or #ProgramKeyEventHandler instead.

Handles a middle click on a program.

Executes the middle click context menu action.

Specified by:
handleProgramMiddleClick in interface PluginManager
Parameters:
program - The program to pass to the middle click context menu action.
caller - ContextMenuIf that calls this. Prevents the ContextMenuIf to be activated twice.
Since:
1.1

handleProgramMiddleDoubleClick

public void handleProgramMiddleDoubleClick(Program program)
Deprecated. since 3.3.1 Use #ProgramMouseEventHandler and/or #ProgramKeyEventHandler instead.

Handles a middle click on a program.

Executes the middle click context menu action. Plugins should use handleProgramMiddleClick(Program program, Plugin caller). It prevents the Plugin to be activated a second time.

Specified by:
handleProgramMiddleDoubleClick in interface PluginManager
Parameters:
program - The program to pass to the middle click context menu action.
Since:
3.0

handleProgramMiddleDoubleClick

public void handleProgramMiddleDoubleClick(Program program,
                                           ContextMenuIf caller)
Deprecated. since 3.3.1 Use #ProgramMouseEventHandler and/or #ProgramKeyEventHandler instead.

Handles a middle double click on a program.

Executes the middle double click context menu action.

Specified by:
handleProgramMiddleDoubleClick in interface PluginManager
Parameters:
program - The program to pass to the middle double click context menu action.
caller - ContextMenuIf that calls this. Prevents the ContextMenuIf to be activated twice.
Since:
3.0

getDefaultContextMenuPlugin

public PluginAccess getDefaultContextMenuPlugin()
Gets the plugin that is used as default in the context menu.

Returns:
the default context menu plugin.
Since:
1.1

getTvBrowserSettings

public TvBrowserSettings getTvBrowserSettings()
Returns some settings a plugin may need.

Specified by:
getTvBrowserSettings in interface PluginManager
Returns:
Some settings a plugin may need.

getIconFromTheme

public javax.swing.ImageIcon getIconFromTheme(Plugin plugin,
                                              java.lang.String category,
                                              java.lang.String iconName,
                                              int size)
Returns an icon from the icon-theme-system If your plugin has icons that are not available as icons within an theme, you can add your icons into your jar-file. The directory structure must be like this: [PackageOfYourPlugin]/icons/[size]x[size]/[category]/[icon].png Please try to use the icon naming conventions of the FreeDesktop project: http://cvs.freedesktop.org/[*]checkout[*]/icon-theme/default-icon-theme/spec/icon-naming-spec.xml (please remove the [ ])

Specified by:
getIconFromTheme in interface PluginManager
Parameters:
plugin - Plugin that wants to load an icon
category - Category of the icon (action, etc...)
iconName - icon name without file extension
size - Size of the icon
Returns:
Icon if found, null if not

getIconFromTheme

public javax.swing.ImageIcon getIconFromTheme(Plugin plugin,
                                              ThemeIcon icon)
Returns an Icon from the Icon-Theme-System If your Plugin has Icons that are not available as Icons within an Theme, you can add your Icons into your Jar-File. The Directory-Structure must be like this: [PackageOfYourPlugin]/icons/[Size]x[Size]/[category]/[icon].png Please try to use the FreeDesktop-Icon Naming Conventions http://cvs.freedesktop.org/[*]checkout[*]/icon-theme/default-icon-theme/spec/icon-naming-spec.xml (please remove the [ ])

Specified by:
getIconFromTheme in interface PluginManager
Parameters:
plugin - Plugin that wants to load an Icon
icon - ThemeIcon that represents the Icon
Returns:
Icon if found, null if not

showSettings

public void showSettings(Plugin plugin)
Show the Settings-Dialog for a Plugin

Specified by:
showSettings in interface PluginManager
Parameters:
plugin - Use this Plugin
Since:
2.2

showSettings

public void showSettings(java.lang.String settingsItem)
Show the Settings-Dialog with a Specific SettingsItem

Specified by:
showSettings in interface PluginManager
Parameters:
settingsItem - SettingsItem to show (e.g. SettingsItem.CHANNELS)
Since:
2.2

getMarkedPrograms

public Program[] getMarkedPrograms()
Return all marked programs.

Specified by:
getMarkedPrograms in interface PluginManager
Returns:
The marked programs
Since:
2.2

getReceiveIfs

public ProgramReceiveIf[] getReceiveIfs()
Return all Plugins/Functions that are able to receive programs.

Specified by:
getReceiveIfs in interface PluginManager
Returns:
The ProgramReceiveIfs.
Since:
2.5

getReceiveIfs

public ProgramReceiveIf[] getReceiveIfs(ProgramReceiveIf caller,
                                        ProgramReceiveTarget callerTarget)
Return all Plugins/Functions that are able to receive programs.

Specified by:
getReceiveIfs in interface PluginManager
Parameters:
caller - The caller ProgramReceiveIf.
callerTarget - The target that calls the receive if array.
Returns:
The ProgramReceiveIfs.
Since:
2.5

getReceiceIfForId

public ProgramReceiveIf getReceiceIfForId(java.lang.String id)
Return the ReceiveIfFor given id or null if there is no ReceiveIf for the given id.

Specified by:
getReceiceIfForId in interface PluginManager
Parameters:
id - The id of the ReceiveIf.
Returns:
The ReceiveIf with the given id or null
Since:
2.5

scrollToProgram

public void scrollToProgram(Program program)
Let TV-Browser scroll to the given program.

Specified by:
scrollToProgram in interface PluginManager
Parameters:
program - The program to scroll to.
Since:
2.5

selectProgram

public void selectProgram(Program program)
Description copied from interface: PluginManager
Selects the given program in the program table.

Specified by:
selectProgram in interface PluginManager
Parameters:
program - The program to select.

scrollToTime

public void scrollToTime(int time)
Let TV-Browser scroll to the given time.

Specified by:
scrollToTime in interface PluginManager
Parameters:
time - The time to scroll to in minutes after midnight.
Since:
2.5

scrollToTime

public void scrollToTime(int time,
                         boolean highlight)
Let TV-Browser scroll to the given time.

Specified by:
scrollToTime in interface PluginManager
Parameters:
time - The time to scroll to in minutes after midnight.
highlight - If programs at scroll time should be highlighted (if scroll highlighting is enabled.)
Since:
3.3.3

scrollToChannel

public void scrollToChannel(Channel channel)
Let TV-Browser scroll to the given channel.

Specified by:
scrollToChannel in interface PluginManager
Parameters:
channel - The channel to scroll to.
Since:
2.5

goToDate

public void goToDate(Date date)
Let TV-Browser change the date to the given date.

Specified by:
goToDate in interface PluginManager
Parameters:
date - The date to show the program for.
Since:
2.5

getFilterManager

public FilterManager getFilterManager()
Returns the filter manager of TV-Browser. With the filter manager you get access to the filter system of TV-Browser. You can add or remove filters of your plugin and switch the currently used filter.

Specified by:
getFilterManager in interface PluginManager
Returns:
The filter manager of TV-Browser or null if TV-Browser isn't fully loaded.
Since:
2.5

handleTvBrowserStartFinished

protected void handleTvBrowserStartFinished()

getAvailableGlobalPuginProgramFormatings

public AbstractPluginProgramFormating[] getAvailableGlobalPuginProgramFormatings()
Gets the available global program configurations.

Specified by:
getAvailableGlobalPuginProgramFormatings in interface PluginManager
Returns:
The available global program configurations.
Since:
2.5.1

getCurrentDate

public Date getCurrentDate()
Description copied from interface: PluginManager
Get the date currently shown in the program table.

Specified by:
getCurrentDate in interface PluginManager
Returns:
date currently shown in program table

getAllProgramRatingIfs

public ProgramRatingIf[] getAllProgramRatingIfs()
Gets all ProgramRatingIfs of all plugins. You can get all available ratings for one program.

Specified by:
getAllProgramRatingIfs in interface PluginManager
Returns:
all ProgramRatingIfs of all plugins
Since:
2.7

deleteFileOnNextStart

public void deleteFileOnNextStart(java.lang.String path)
Description copied from interface: PluginManager
adds a file name to the list of files to be deleted on next TV-Browser start

Specified by:
deleteFileOnNextStart in interface PluginManager
Parameters:
path - full file path

isDataAvailable

public boolean isDataAvailable(Date date)
Description copied from interface: PluginManager
check if some TV data is available on the given date

Specified by:
isDataAvailable in interface PluginManager
Returns:
true if at least one channel has data for the date

showBalloonTip

public boolean showBalloonTip(java.lang.String caption,
                              java.lang.String message,
                              java.awt.TrayIcon.MessageType messageType)
Description copied from interface: PluginManager
Shows a balloon tip on the TV-Browser tray icon.

Specified by:
showBalloonTip in interface PluginManager
Parameters:
caption - The caption of the displayed message.
message - The message to display in the balloon tip.
messageType - The java.awt.TrayIcon.MessageType of the displayed balllon tip.
Returns:
If the balloon tip could be shown.

getTVBrowserVersion

public Version getTVBrowserVersion()
Specified by:
getTVBrowserVersion in interface PluginManager
Returns:
The Version of TV-Browser

createRemovedProgramContextMenu

public javax.swing.JPopupMenu createRemovedProgramContextMenu(Program program)
Description copied from interface: PluginManager
Creates a context menu for the given program. It can be used to provide search and scroll function to programs that were removed on data update.

Specified by:
createRemovedProgramContextMenu in interface PluginManager
Parameters:
program - The removed program to create the context menu for
Returns:
A context menu for the given program.

isTvBrowserStartFinished

public boolean isTvBrowserStartFinished()
Description copied from interface: PluginManager
Gets if TV-Browser start was finished.

Specified by:
isTvBrowserStartFinished in interface PluginManager
Returns:
true if TV-Browser start was finished, false otherwise.

TV-Browser 3.3.3 API

TV-Browser 3.3.3, Copyright (C) 2004-2008 TV-Browser Team (dev@tvbrowser.org)