- java.lang.Object
-
- tvbrowser.core.plugin.AbstractPluginProxy
-
- All Implemented Interfaces:
ContextMenuIf
,InfoIf
,Marker
,PluginAccess
,ProgramReceiveIf
,java.lang.Comparable<ProgramReceiveIf>
,ButtonActionIf
,PluginProxy
- Direct Known Subclasses:
BeanShellPluginProxy
,JavaPluginProxy
public abstract class AbstractPluginProxy extends java.lang.Object implements PluginProxy, ContextMenuIf
An abstract implementation of a plugin proxy. Encapsulates all calls to the plugin.This means that
- All RuntimeExceptions thrown by the plugin are catched
- An error message will be shown, if an operation is called on an inactive plugin that is only allowed with active plugins.
- Author:
- Til Schneider, www.murfman.de
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface tvbrowser.core.plugin.PluginProxy
PluginProxy.Comparator
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
DEFAULT_PLUGIN_ICON_NAME
protected static Localizer
mLocalizer
The localizer for this class.-
Fields inherited from interface devplugin.ContextMenuIf
ACTIONKEY_KEYBOARD_EVENT
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractPluginProxy()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
addToArtificialPluginTree(MutableProgram program)
protected void
assertActivatedState()
Checks whether the plugin is activated.boolean
canReceiveProgramsWithTarget()
Gets whether the plugin supports receiving programs from other plugins with target.boolean
canUseProgramTree()
int
compareTo(ProgramReceiveIf other)
protected abstract boolean
doCanReceiveProgramsWithTarget()
Really gets whether the plugin supports receiving programs from other plugins with target.protected abstract boolean
doCanUseProgramTree()
abstract ProgramInfo[]
doGetAddtionalProgramInfoForProgram(Program p, java.lang.String uniqueId)
protected abstract boolean
doGetAllowsArtificialPluginTree()
protected abstract PluginsProgramFilter[]
doGetAvailableFilter()
Really returns the available program filters that the plugin supports.protected abstract java.lang.Class<? extends PluginsFilterComponent>[]
doGetAvailableFilterComponentClasses()
Really gets the available filter component classes.protected abstract ActionMenu
doGetButtonAction()
Really gets the action to use for the main menu and the toolbar.abstract PluginCommunication
doGetCommunicationClass()
protected abstract ActionMenu
doGetContextMenuActions(Channel channel)
Really gets the actions for the context menu of a channel.protected abstract ActionMenu
doGetContextMenuActions(Program program)
Really gets the actions for the context menu of a program.protected abstract ImportanceValue
doGetImportanceValueForProgram(Program p)
Gets the importance value of a program.The importance of all active plugins is used to determinate the opacity of the used colors of a program, therefor a mean value of all values is used.protected abstract PluginInfo
doGetInfo()
Really gets the meta information about the plugin.protected abstract javax.swing.Icon[]
doGetMarkIcons(Program p)
Really gets the icon to use for marking programs in the program table.protected abstract int[]
doGetMarkPrioritiesForProgram(Program p)
Really gets the mark priority for the given Program.protected abstract int
doGetMarkPriorityMaxForProgram(Program p)
Really gets the mark priority for the given Program.protected abstract ProgramReceiveTarget[]
doGetProgramReceiveTargets()
Really return an array of receive target ornull
if there is no targetprotected abstract javax.swing.Icon[]
doGetProgramTableIcons(Program program)
Really gets the icons this Plugin provides for the given program.protected abstract java.lang.String
doGetProgramTableIconText()
Gets the description text for the program table icons provided by this Plugin.protected abstract ToolTipIcon[]
doGetProgramTableToolTipIcons(Program program)
Gets the ToolTipIcons for the program table icons provided by this Plugin.protected abstract SettingsTabProxy
doGetSettingsTab()
Rally gets the SettingsTab object, which is added to the settings-window.protected abstract void
doHandleTvBrowserStartFinished()
protected abstract void
doHandleTvDataAdded(ChannelDayProgram newProg)
This method is automatically called, when TV data was added.protected abstract void
doHandleTvDataAdded(MutableChannelDayProgram newProg)
This method is automatically called, when TV data was added.protected abstract void
doHandleTvDataDeleted(ChannelDayProgram oldProg)
This method is automatically called, when TV data was deleted.protected abstract void
doHandleTvDataTouched(ChannelDayProgram removedDayProgram, ChannelDayProgram addedDayProgram)
This method is automatically called, when TV data was touched.protected abstract void
doHandleTvDataUpdateFinished()
This method is automatically called, when the TV data update is finished.protected abstract boolean
doIsAllowedToDeleteProgramFilter(PluginsProgramFilter programFilter)
Really return if a program filter can be deleted.protected abstract void
doLoadSettings(java.io.File userDirectory)
Really loads the settings for this plugin.protected abstract void
doOnActivation()
protected abstract void
doOnDeactivation()
protected abstract boolean
doReceivePrograms(int type, Program[] programArr, ProgramReceiveTarget receiveTarget)
Really receives a list of programs from another plugin with target.protected abstract boolean
doReceiveValues(int type, java.lang.String[] values, ProgramReceiveTarget receiveTarget)
Really receives a list of Strings from another plugin with a target.protected abstract void
doSaveSettings(java.io.File userDirectory, boolean log)
Really saves the settings for this plugin.ProgramInfo[]
getAddtionalProgramInfoForProgram(Program p, java.lang.String uniqueId)
Gets additional program infos for the given program.PluginTreeNode
getArtificialRootNode()
PluginsProgramFilter[]
getAvailableFilter()
Returns the available program filters that the plugin supports.java.lang.Class<? extends PluginsFilterComponent>[]
getAvailableFilterComponentClasses()
Returns the available plugins filter component classes.ActionMenu
getButtonAction()
Gets the action to use for the main menu and the toolbar.PluginCommunication
getCommunicationClass()
If this Plugin grants access to functions it will provide a communication class for other Plugins to use.ActionMenu
getContextMenuActions(Channel channel)
Gets the actions for the context menu of a channel.ActionMenu
getContextMenuActions(Program program)
Gets the actions for the context menu of a program.ImportanceValue
getImportanceValueForProgram(Program p)
Gets the importance value of a program.The importance of all active plugins is used to determinate the opacity of the used colors of a program, therefor a mean value of all values is used.PluginInfo
getInfo()
Gets the meta information about the plugin.javax.swing.Icon
getMarkIcon()
Gets the icon to use for marking programs in the program table.javax.swing.Icon[]
getMarkIcons(Program p)
Gets the icons to use for marking programs in the program table.int[]
getMarkPrioritiesForProgram(Program p)
int
getMarkPriorityForProgram(Program p)
Deprecated.since 4.2.2int
getMarkPriorityMaxForProgram(Program p)
Gets the mark priority for the given program that this Plugin uses.javax.swing.Icon
getPluginIcon()
get the icon to represent this plugin in the settingsProgramReceiveTarget[]
getProgramReceiveTargets()
Returns an array of receive target ornull
if there is no targetjavax.swing.Icon[]
getProgramTableIcons(Program program)
Gets the icons this Plugin provides for the given program.java.lang.String
getProgramTableIconText()
Gets the description text for the program table icons provided by this Plugin.ToolTipIcon[]
getProgramTableToolTipIcons(Program program)
Gets the ToolTipIcons for the program table icons provided by this Plugin.SettingsTabProxy
getSettingsTab()
Gets the SettingsTab object, which is added to the settings-window.void
handlePluginException(java.lang.Throwable t)
Handles a runtime exception that was caused by the plugin.void
handleTvBrowserStartFinished()
This method is called when the TV-Browser start is complete.void
handleTvDataAdded(ChannelDayProgram newProg)
This method is automatically called, when TV data was added.void
handleTvDataAdded(MutableChannelDayProgram newProg)
This method is automatically called, when TV data was added.void
handleTvDataDeleted(ChannelDayProgram oldProg)
This method is automatically called, when TV data was deleted.void
handleTvDataTouched(ChannelDayProgram removedDayProgram, ChannelDayProgram addedDayProgram)
This method is automatically called, when TV data was touched (that means something was done with it).void
handleTvDataUpdateFinished()
This method is automatically called, when the TV data update is finished.boolean
hasArtificialPluginTree()
boolean
isActivated()
Gets whether the plugin is currently activated.boolean
isAllowedToDeleteProgramFilter(PluginsProgramFilter programFilter)
Is used to track if a program filter be deleted.(package private) void
loadSettings(java.io.File userDirectory)
Loads the settings for this plugin.void
onActivation()
This method is automatically called after activating the plugin (either during the TV-Browser startup phase or after manually activating the disabled plugin in the settings).void
onDeactivation()
This method is automatically called after deactivating the plugin.boolean
receivePrograms(int type, Program[] programArr, ProgramReceiveTarget receiveTarget)
Receives a list of programs from another plugin with a target.boolean
receiveValues(int type, java.lang.String[] values, ProgramReceiveTarget receiveTarget)
Receives a list of Strings from another plugin with a target.void
removeArtificialPluginTree()
(package private) void
saveSettings(java.io.File userDirectory, boolean log)
Saves the settings for this plugin.(package private) void
setActivated(boolean activated)
Sets whether the plugin is currently activated.(package private) abstract void
setParentFrame(java.awt.Frame parent)
Sets the parent frame to the plugin.java.lang.String
toString()
Gets the name of the plugin.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface tvbrowser.core.plugin.ButtonActionIf
getButtonActionDescription
-
Methods inherited from interface devplugin.ContextMenuIf
getId
-
Methods inherited from interface devplugin.InfoIf
getId, getPluginCategory
-
Methods inherited from interface devplugin.PluginAccess
getId
-
Methods inherited from interface tvbrowser.core.plugin.PluginProxy
getAfterDataUpdateInfoPanel, getPluginCenterPanelWrapper, getPluginFileName, getProgramRatingIfs, getRootNode, handleTvBrowserSettingsChanged, handleTvDataUpdateStarted
-
Methods inherited from interface devplugin.ProgramReceiveIf
receivePrograms, receiveValues
-
-
-
-
Field Detail
-
DEFAULT_PLUGIN_ICON_NAME
public static final java.lang.String DEFAULT_PLUGIN_ICON_NAME
- See Also:
- Constant Field Values
-
mLocalizer
protected static final Localizer mLocalizer
The localizer for this class.
-
-
Method Detail
-
isActivated
public final boolean isActivated()
Gets whether the plugin is currently activated.- Specified by:
isActivated
in interfacePluginProxy
- Returns:
- whether the plugin is currently activated.
- See Also:
setActivated(boolean)
,assertActivatedState()
-
setActivated
final void setActivated(boolean activated)
Sets whether the plugin is currently activated.This method may only be called by the
PluginProxyManager
(that's why it is package private).- Parameters:
activated
- Whether the plugin is currently activated.- See Also:
isActivated()
,assertActivatedState()
-
setParentFrame
abstract void setParentFrame(java.awt.Frame parent)
Sets the parent frame to the plugin.- Parameters:
parent
- The parent frame to set.
-
loadSettings
final void loadSettings(java.io.File userDirectory) throws TvBrowserException
Loads the settings for this plugin.- Parameters:
userDirectory
- The directory where the user data is stored.- Throws:
TvBrowserException
- If loading failed.
-
doLoadSettings
protected abstract void doLoadSettings(java.io.File userDirectory) throws TvBrowserException
Really loads the settings for this plugin.- Parameters:
userDirectory
- The directory where the user data is stored.- Throws:
TvBrowserException
- If loading failed.
-
saveSettings
final void saveSettings(java.io.File userDirectory, boolean log) throws TvBrowserException
Saves the settings for this plugin.- Parameters:
userDirectory
- The directory where the user data is stored.log
- If log entries should be written.- Throws:
TvBrowserException
- If saving failed.
-
doSaveSettings
protected abstract void doSaveSettings(java.io.File userDirectory, boolean log) throws TvBrowserException
Really saves the settings for this plugin.- Parameters:
userDirectory
- The directory where the user data is stored.log
- If log entries should be written.- Throws:
TvBrowserException
- If saving failed.
-
getInfo
public final PluginInfo getInfo()
Gets the meta information about the plugin.- Specified by:
getInfo
in interfaceInfoIf
- Specified by:
getInfo
in interfacePluginAccess
- Returns:
- The meta information about the plugin.
-
doGetInfo
protected abstract PluginInfo doGetInfo()
Really gets the meta information about the plugin.- Returns:
- The meta information about the plugin.
-
getSettingsTab
public final SettingsTabProxy getSettingsTab()
Gets the SettingsTab object, which is added to the settings-window.- Specified by:
getSettingsTab
in interfacePluginProxy
- Returns:
- the SettingsTab object or
null
if the plugin does not provide this feature.
-
doGetSettingsTab
protected abstract SettingsTabProxy doGetSettingsTab()
Rally gets the SettingsTab object, which is added to the settings-window.- Returns:
- the SettingsTab object or
null
if the plugin does not provide this feature.
-
getContextMenuActions
public final ActionMenu getContextMenuActions(Program program)
Gets the actions for the context menu of a program.- Specified by:
getContextMenuActions
in interfaceContextMenuIf
- Parameters:
program
- The program the context menu will be shown for.- Returns:
- the actions this plugin provides for the given program or
null
if the plugin does not provide this feature.
-
doGetContextMenuActions
protected abstract ActionMenu doGetContextMenuActions(Program program)
Really gets the actions for the context menu of a program.- Parameters:
program
- The program the context menu will be shown for.- Returns:
- the actions this plugin provides for the given program or
null
if the plugin does not provide this feature. - See Also:
getContextMenuActions(Program)
-
getContextMenuActions
public final ActionMenu getContextMenuActions(Channel channel)
Gets the actions for the context menu of a channel.- Specified by:
getContextMenuActions
in interfacePluginProxy
- Parameters:
channel
- The channel the context menu will be shown for.- Returns:
- the actions this plugin provides for the given channel or
null
if the plugin does not provide this feature.
-
doGetContextMenuActions
protected abstract ActionMenu doGetContextMenuActions(Channel channel)
Really gets the actions for the context menu of a channel.- Parameters:
channel
- The channel the context menu will be shown for.- Returns:
- the actions this plugin provides for the given channel or
null
if the plugin does not provide this feature. - See Also:
getContextMenuActions(Program)
-
getButtonAction
public final ActionMenu getButtonAction()
Gets the action to use for the main menu and the toolbar.- Specified by:
getButtonAction
in interfaceButtonActionIf
- Specified by:
getButtonAction
in interfacePluginProxy
- Returns:
- the action to use for the menu and the toolbar or
null
if the plugin does not provide this feature.
-
doGetButtonAction
protected abstract ActionMenu doGetButtonAction()
Really gets the action to use for the main menu and the toolbar.- Returns:
- the action to use for the menu and the toolbar or
null
if the plugin does not provide this feature. - See Also:
getButtonAction()
-
getMarkIcons
public javax.swing.Icon[] getMarkIcons(Program p)
Gets the icons to use for marking programs in the program table.- Specified by:
getMarkIcons
in interfaceMarker
- Specified by:
getMarkIcons
in interfacePluginAccess
- Parameters:
p
- The program to check.- Returns:
- the icons to use for marking programs in the program table.
-
getMarkIcon
public javax.swing.Icon getMarkIcon()
Gets the icon to use for marking programs in the program table.- Specified by:
getMarkIcon
in interfaceMarker
- Specified by:
getMarkIcon
in interfacePluginAccess
- Returns:
- the icon to use for marking programs in the program table.
-
doGetMarkIcons
protected abstract javax.swing.Icon[] doGetMarkIcons(Program p)
Really gets the icon to use for marking programs in the program table.- Parameters:
p
- The program to get the mark icons for.- Returns:
- the icon to use for marking programs in the program table.
-
getProgramTableIconText
public final java.lang.String getProgramTableIconText()
Gets the description text for the program table icons provided by this Plugin.Return
null
if your plugin does not provide this feature.- Specified by:
getProgramTableIconText
in interfacePluginAccess
- Returns:
- The description text for the program table icons or
null
if the plugin does not provide this feature. - See Also:
getProgramTableIcons(Program)
-
doGetProgramTableIconText
protected abstract java.lang.String doGetProgramTableIconText()
Gets the description text for the program table icons provided by this Plugin.Return
null
if your plugin does not provide this feature.- Returns:
- The description text for the program table icons or
null
if the plugin does not provide this feature. - See Also:
getProgramTableIcons(Program)
-
getProgramTableToolTipIcons
public ToolTipIcon[] getProgramTableToolTipIcons(Program program)
Gets the ToolTipIcons for the program table icons provided by this Plugin.Override this method if your plugin provides icons for the program table (shown below the start time) and you want the icons to be shown in the tooltip.
- Specified by:
getProgramTableToolTipIcons
in interfacePluginAccess
- Parameters:
program
- The program to get the ToolTipIcons for.- Returns:
- The description text for the program table icons or
null
if the plugin does not provide this feature. - Since:
- 3.4.2
- See Also:
getProgramTableIcons(Program)
-
doGetProgramTableToolTipIcons
protected abstract ToolTipIcon[] doGetProgramTableToolTipIcons(Program program)
Gets the ToolTipIcons for the program table icons provided by this Plugin.Override this method if your plugin provides icons for the program table (shown below the start time) and you want the icons to be shown in the tooltip.
- Parameters:
program
- The program to get the ToolTipIcons for.- Returns:
- The description text for the program table icons or
null
if the plugin does not provide this feature. - Since:
- 3.4.2
- See Also:
getProgramTableIcons(Program)
-
getProgramTableIcons
public final javax.swing.Icon[] getProgramTableIcons(Program program)
Gets the icons this Plugin provides for the given program. These icons will be shown in the program table under the start time.Return
null
if your plugin does not provide this feature.- Specified by:
getProgramTableIcons
in interfacePluginAccess
- Parameters:
program
- The programs to get the icons for.- Returns:
- The icons for the given program or
null
. - See Also:
getProgramTableIconText()
-
doGetProgramTableIcons
protected abstract javax.swing.Icon[] doGetProgramTableIcons(Program program)
Really gets the icons this Plugin provides for the given program. These icons will be shown in the program table under the start time.Return
null
if your plugin does not provide this feature.- Parameters:
program
- The programs to get the icons for.- Returns:
- The icons for the given program or
null
. - See Also:
getProgramTableIconText()
-
handleTvDataUpdateFinished
public final void handleTvDataUpdateFinished()
This method is automatically called, when the TV data update is finished.- Specified by:
handleTvDataUpdateFinished
in interfacePluginProxy
- See Also:
handleTvDataAdded(ChannelDayProgram)
,handleTvDataDeleted(ChannelDayProgram)
-
doHandleTvDataUpdateFinished
protected abstract void doHandleTvDataUpdateFinished()
This method is automatically called, when the TV data update is finished.
-
handleTvDataAdded
public void handleTvDataAdded(MutableChannelDayProgram newProg)
This method is automatically called, when TV data was added. (E.g. after an update).The TV data can be modified by the plugin!
Override this method if you want to change/add data. Don't do other things than changing/adding data, use
handleTvDataAdded(ChannelDayProgram)
instead.- Parameters:
newProg
- The new ChannelDayProgram.- See Also:
handleTvDataDeleted(ChannelDayProgram)
,handleTvDataTouched(ChannelDayProgram, ChannelDayProgram)
-
doHandleTvDataAdded
protected abstract void doHandleTvDataAdded(MutableChannelDayProgram newProg)
This method is automatically called, when TV data was added. (E.g. after an update).The TV data can be modified by the plugin!
Override this method if you want to change/add data. Don't do other things than changing/adding data, use
handleTvDataAdded(ChannelDayProgram)
instead.- Parameters:
newProg
- The new ChannelDayProgram.- See Also:
handleTvDataDeleted(ChannelDayProgram)
,handleTvDataTouched(ChannelDayProgram, ChannelDayProgram)
-
handleTvDataAdded
public final void handleTvDataAdded(ChannelDayProgram newProg)
This method is automatically called, when TV data was added. (E.g. after an update).The TV data may be modified by the plugin! So this method must be called before new TV data is saved.
- Specified by:
handleTvDataAdded
in interfacePluginProxy
- Parameters:
newProg
- The new ChannelDayProgram.- See Also:
handleTvDataDeleted(ChannelDayProgram)
,handleTvDataUpdateFinished()
-
doHandleTvDataAdded
protected abstract void doHandleTvDataAdded(ChannelDayProgram newProg)
This method is automatically called, when TV data was added. (E.g. after an update).The TV data may be modified by the plugin! So this method must be called before new TV data is saved.
- Parameters:
newProg
- The new ChannelDayProgram.- See Also:
handleTvDataDeleted(ChannelDayProgram)
,handleTvDataUpdateFinished()
-
handleTvDataDeleted
public final void handleTvDataDeleted(ChannelDayProgram oldProg)
This method is automatically called, when TV data was deleted. (E.g. after an update).- Specified by:
handleTvDataDeleted
in interfacePluginProxy
- Parameters:
oldProg
- The old ChannelDayProgram which was deleted.- See Also:
handleTvDataAdded(ChannelDayProgram)
,handleTvDataUpdateFinished()
-
doHandleTvDataDeleted
protected abstract void doHandleTvDataDeleted(ChannelDayProgram oldProg)
This method is automatically called, when TV data was deleted. (E.g. after an update).- Parameters:
oldProg
- The old ChannelDayProgram which was deleted.- See Also:
handleTvDataAdded(ChannelDayProgram)
,handleTvDataUpdateFinished()
-
handleTvDataTouched
public final void handleTvDataTouched(ChannelDayProgram removedDayProgram, ChannelDayProgram addedDayProgram)
This method is automatically called, when TV data was touched (that means something was done with it). (E.g. after an update).- Specified by:
handleTvDataTouched
in interfacePluginProxy
- Parameters:
removedDayProgram
- The old ChannelDayProgram.addedDayProgram
- The new ChannelDayProgram.- See Also:
handleTvDataAdded(ChannelDayProgram)
,handleTvDataDeleted(ChannelDayProgram)
,handleTvDataUpdateFinished()
-
doHandleTvDataTouched
protected abstract void doHandleTvDataTouched(ChannelDayProgram removedDayProgram, ChannelDayProgram addedDayProgram)
This method is automatically called, when TV data was touched. (E.g. after an update of already existing TV data).The TV data may be modified by the plugin! So this method must be called before new TV data is saved.
- Parameters:
removedDayProgram
- The previous ChannelDayProgram.addedDayProgram
- The new ChannelDayProgram.- See Also:
handleTvDataAdded(ChannelDayProgram)
,handleTvDataDeleted(ChannelDayProgram)
,handleTvDataUpdateFinished()
-
onActivation
public void onActivation()
Description copied from interface:PluginProxy
This method is automatically called after activating the plugin (either during the TV-Browser startup phase or after manually activating the disabled plugin in the settings).- Specified by:
onActivation
in interfacePluginProxy
-
doOnActivation
protected abstract void doOnActivation() throws java.lang.Throwable
- Throws:
java.lang.Throwable
-
onDeactivation
public void onDeactivation()
Description copied from interface:PluginProxy
This method is automatically called after deactivating the plugin.- Specified by:
onDeactivation
in interfacePluginProxy
-
doOnDeactivation
protected abstract void doOnDeactivation() throws java.lang.Throwable
- Throws:
java.lang.Throwable
-
canUseProgramTree
public boolean canUseProgramTree()
- Specified by:
canUseProgramTree
in interfacePluginProxy
- Returns:
- true, if the programs of this plugin are handled by the plugin tree view
-
handleTvBrowserStartFinished
public void handleTvBrowserStartFinished()
This method is called when the TV-Browser start is complete.- Specified by:
handleTvBrowserStartFinished
in interfacePluginProxy
- Since:
- 2.2
-
doHandleTvBrowserStartFinished
protected abstract void doHandleTvBrowserStartFinished()
-
doCanUseProgramTree
protected abstract boolean doCanUseProgramTree()
-
toString
public final java.lang.String toString()
Gets the name of the plugin.This way Plugin objects may be used directly in GUI components like JLists.
- Overrides:
toString
in classjava.lang.Object
- Returns:
- the name of the plugin.
-
handlePluginException
public void handlePluginException(java.lang.Throwable t)
Handles a runtime exception that was caused by the plugin.- Specified by:
handlePluginException
in interfacePluginProxy
- Parameters:
t
- The exception to handle
-
canReceiveProgramsWithTarget
public final boolean canReceiveProgramsWithTarget()
Gets whether the plugin supports receiving programs from other plugins with target.- Specified by:
canReceiveProgramsWithTarget
in interfaceProgramReceiveIf
- Returns:
- Whether the plugin supports receiving programs from other plugins with target.
- Since:
- 2.5
- See Also:
ProgramReceiveIf.receivePrograms(Program[],ProgramReceiveTarget)
-
doCanReceiveProgramsWithTarget
protected abstract boolean doCanReceiveProgramsWithTarget()
Really gets whether the plugin supports receiving programs from other plugins with target.- Returns:
- Whether the plugin supports receiving programs from other plugins with target.
- Since:
- 2.5
- See Also:
ProgramReceiveIf.receivePrograms(Program[],ProgramReceiveTarget)
-
receivePrograms
public final boolean receivePrograms(int type, Program[] programArr, ProgramReceiveTarget receiveTarget)
Receives a list of programs from another plugin with a target.- Specified by:
receivePrograms
in interfaceProgramReceiveIf
- Parameters:
programArr
- The programs passed from the other plugin.receiveTarget
- The target of the programs.- Returns:
true
, if the programs were correctly received and the target really exists.- Since:
- 4.2.2
- See Also:
#getSupportedProgramRecieveType()
-
doReceivePrograms
protected abstract boolean doReceivePrograms(int type, Program[] programArr, ProgramReceiveTarget receiveTarget)
Really receives a list of programs from another plugin with target.- Parameters:
type
- The type set by the sending plugin.programArr
- The programs passed from the other plugin with target.receiveTarget
- The target of the programs.- Returns:
true
If the received programs were successfully processed.- Since:
- 4.2.2
- See Also:
canReceiveProgramsWithTarget()
-
receiveValues
public final boolean receiveValues(int type, java.lang.String[] values, ProgramReceiveTarget receiveTarget)
Receives a list of Strings from another plugin with a target.- Specified by:
receiveValues
in interfaceProgramReceiveIf
- Parameters:
type
- The type set by the sending plugin.values
- The value array passed from the other plugin.receiveTarget
- The receive target of the programs.- Returns:
true
if the value array was handled correct,false
otherwise.- Since:
- 4.2.2
- See Also:
#getSupportedProgramRecieveType()
-
doReceiveValues
protected abstract boolean doReceiveValues(int type, java.lang.String[] values, ProgramReceiveTarget receiveTarget)
Really receives a list of Strings from another plugin with a target.- Parameters:
type
- The type set by the sending plugin.values
- The value array passed from the other plugin.receiveTarget
- The receive target of the programs.- Returns:
true
if the value array was handled correct,false
otherwise.- Since:
- 4.2.2
- See Also:
#getSupportedProgramRecieveType()
-
getProgramReceiveTargets
public final ProgramReceiveTarget[] getProgramReceiveTargets()
Returns an array of receive target ornull
if there is no target- Specified by:
getProgramReceiveTargets
in interfaceProgramReceiveIf
- Returns:
- The supported receive targets.
- Since:
- 2.5
- See Also:
canReceiveProgramsWithTarget()
,ProgramReceiveIf.receivePrograms(Program[],ProgramReceiveTarget)
-
doGetProgramReceiveTargets
protected abstract ProgramReceiveTarget[] doGetProgramReceiveTargets()
Really return an array of receive target ornull
if there is no target- Returns:
- The supported receive targets.
- Since:
- 2.5
- See Also:
canReceiveProgramsWithTarget()
,ProgramReceiveIf.receivePrograms(Program[],ProgramReceiveTarget)
-
getAvailableFilter
public PluginsProgramFilter[] getAvailableFilter()
Returns the available program filters that the plugin supports.- Specified by:
getAvailableFilter
in interfacePluginAccess
- Returns:
- The available program filters that the plugin supports or
null
if it supports no filter. - Since:
- 2.5
-
doGetAvailableFilter
protected abstract PluginsProgramFilter[] doGetAvailableFilter()
Really returns the available program filters that the plugin supports.- Returns:
- The available program filters that the plugin supports or
null
if it supports no filter. - Since:
- 2.5
-
isAllowedToDeleteProgramFilter
public boolean isAllowedToDeleteProgramFilter(PluginsProgramFilter programFilter)
Is used to track if a program filter be deleted. Should be make sure only the plugin itself can delete program filters.- Specified by:
isAllowedToDeleteProgramFilter
in interfacePluginProxy
- Parameters:
programFilter
- The program filter to delete.- Returns:
- True if the program filter component can be deleted.
- Since:
- 2.5
-
doIsAllowedToDeleteProgramFilter
protected abstract boolean doIsAllowedToDeleteProgramFilter(PluginsProgramFilter programFilter)
Really return if a program filter can be deleted.- Parameters:
programFilter
- The program filter to delete.- Returns:
- True if the program filter component can be deleted.
- Since:
- 2.5
-
getAvailableFilterComponentClasses
public java.lang.Class<? extends PluginsFilterComponent>[] getAvailableFilterComponentClasses()
Returns the available plugins filter component classes.
ATTENTON: Use return(Class<? extends PluginsFilterComponent>[]) new Class[] {MyFilterComponent1.class,MyFilterComponent2.class};
because the creation of a class array with generic type didn't work.- Specified by:
getAvailableFilterComponentClasses
in interfacePluginAccess
- Returns:
- The available plugins filter components classes or
null
if no plugins filter components are supported. - Since:
- 2.5
-
doGetAvailableFilterComponentClasses
protected abstract java.lang.Class<? extends PluginsFilterComponent>[] doGetAvailableFilterComponentClasses()
Really gets the available filter component classes.- Returns:
- The available plugins filter components classes or
null
if no plugins filter components are supported. - Since:
- 2.5
-
getMarkPriorityForProgram
@Deprecated(since="4.2.2") public int getMarkPriorityForProgram(Program p)
Deprecated.since 4.2.2Gets the mark priority for the given program that this Plugin uses.The mark priority can be
Program.NO_MARK_PRIORITY
,Program.MIN_MARK_PRIORITY
,Program.LOWER_MEDIUM_MARK_PRIORITY
,Program.MEDIUM_MARK_PRIORITY
,Program.HIGHER_MEDIUM_MARK_PRIORITY
orProgram.MAX_MARK_PRIORITY
.- Specified by:
getMarkPriorityForProgram
in interfaceMarker
- Parameters:
p
- The program to get the mark prioriy for.- Returns:
- The mark priority for the given program for this plugin.
- Since:
- 2.5.1
-
getMarkPriorityMaxForProgram
public int getMarkPriorityMaxForProgram(Program p)
Gets the mark priority for the given program that this Plugin uses.The mark priority can be
Program.NO_MARK_PRIORITY
,Program.MIN_MARK_PRIORITY
,Program.LOWER_MEDIUM_MARK_PRIORITY
,Program.MEDIUM_MARK_PRIORITY
,Program.HIGHER_MEDIUM_MARK_PRIORITY
orProgram.MAX_MARK_PRIORITY
.- Specified by:
getMarkPriorityMaxForProgram
in interfaceMarker
- Parameters:
p
- The program to get the mark prioriy for.- Returns:
- The mark priority for the given program for this plugin.
- Since:
- 4.2.2
-
doGetMarkPriorityMaxForProgram
protected abstract int doGetMarkPriorityMaxForProgram(Program p)
Really gets the mark priority for the given Program.- Parameters:
p
- The program to get the mark priority for.- Returns:
- The mark priority for the given program.
-
getMarkPrioritiesForProgram
public int[] getMarkPrioritiesForProgram(Program p)
- Specified by:
getMarkPrioritiesForProgram
in interfaceMarker
-
doGetMarkPrioritiesForProgram
protected abstract int[] doGetMarkPrioritiesForProgram(Program p)
Really gets the mark priority for the given Program.- Parameters:
p
- The program to get the mark priority for.- Returns:
- The mark priority for the given program.
-
assertActivatedState
protected void assertActivatedState() throws TvBrowserException
Checks whether the plugin is activated. If it is not an error message is shown.- Throws:
TvBrowserException
- If the plugin is not activated
-
getPluginIcon
public javax.swing.Icon getPluginIcon()
Description copied from interface:PluginProxy
get the icon to represent this plugin in the settings- Specified by:
getPluginIcon
in interfacePluginProxy
- Returns:
- icon
-
hasArtificialPluginTree
public final boolean hasArtificialPluginTree()
- Specified by:
hasArtificialPluginTree
in interfacePluginProxy
-
doGetAllowsArtificialPluginTree
protected abstract boolean doGetAllowsArtificialPluginTree()
-
addToArtificialPluginTree
public final void addToArtificialPluginTree(MutableProgram program)
- Specified by:
addToArtificialPluginTree
in interfacePluginProxy
-
getArtificialRootNode
public final PluginTreeNode getArtificialRootNode()
- Specified by:
getArtificialRootNode
in interfacePluginProxy
-
removeArtificialPluginTree
public final void removeArtificialPluginTree()
-
compareTo
public int compareTo(ProgramReceiveIf other)
- Specified by:
compareTo
in interfacejava.lang.Comparable<ProgramReceiveIf>
-
getImportanceValueForProgram
public final ImportanceValue getImportanceValueForProgram(Program p)
Gets the importance value of a program.The importance of all active plugins is used to determinate the opacity of the used colors of a program, therefor a mean value of all values is used.The importance value can be created as a weighted total of the following values.
- Specified by:
getImportanceValueForProgram
in interfacePluginProxy
- Parameters:
p
- The program to get the importance value for.- Returns:
- The importance value for the given program.
- Since:
- 3.0
-
doGetImportanceValueForProgram
protected abstract ImportanceValue doGetImportanceValueForProgram(Program p)
Gets the importance value of a program.The importance of all active plugins is used to determinate the opacity of the used colors of a program, therefor a mean value of all values is used.The importance value can be created as a weighted total of the following values.
- Parameters:
p
- The program to get the importance value for.- Returns:
- The importance value for the given program.
- Since:
- 3.0
-
getCommunicationClass
public PluginCommunication getCommunicationClass()
Description copied from interface:PluginAccess
If this Plugin grants access to functions it will provide a communication class for other Plugins to use.- Specified by:
getCommunicationClass
in interfacePluginAccess
- Returns:
- The communication class of this Plugin or
null
if there is no communication class for this Plugin.
-
doGetCommunicationClass
public abstract PluginCommunication doGetCommunicationClass()
-
getAddtionalProgramInfoForProgram
public ProgramInfo[] getAddtionalProgramInfoForProgram(Program p, java.lang.String uniqueId)
Gets additional program infos for the given program. This method should return an array with all possible infos when called with the TV-Browserexample Program
. Every additional info must have an unique ID, so the name might be changed but the ID never must.- Specified by:
getAddtionalProgramInfoForProgram
in interfacePluginProxy
- Parameters:
p
- The program to get the additional program info for.uniqueId
- If notnull
the id of the program info to get.- Returns:
- An array with the additional program info or
null
if no additional info is available. - Since:
- 3.4.4
-
doGetAddtionalProgramInfoForProgram
public abstract ProgramInfo[] doGetAddtionalProgramInfoForProgram(Program p, java.lang.String uniqueId)
-
-