public interface IPluginCustomGUI extends IPluginProcessing, IPluginGenericCustomGUI<IPluginCustomGUIBean>
CONFIG_FILENAME
ATTR_NAME, COL_NAME
ATTR_DISPLAY_NAME
Modifier and Type | Method and Description |
---|---|
String |
getConfigPage()
Deprecated.
Use
getXhtmlView() |
Class<? extends IPluginCustomGUIBean> |
getManagedBean()
Deprecated.
Use
getUnmanagedBeans() , the bean will not be managed, ie. annotations such
as PostConstruct and ManagedProperty will not work. |
default Iterable<Class<? extends IPluginCustomGUIBean>> |
getUnmanagedBeans()
This must return a list of backing bean classes that control the user interface and are required by the
IPluginGenericCustomGUI.getXhtmlView() . |
default URL |
getXhtmlView()
This method must return the path to the XHTML page for the custom user interface.
|
default void |
initCustomGUI()
Deprecated.
If you need to do initialization, do so in the managed bean via
IPluginGenericCustomGUIBean.initialize(de.xima.fc.interfaces.plugin.lifecycle.IPluginInitializeBeanData) . |
execute, isReplacePlaceholders
getDescription, getDescription, getDisplayName, getName, initialize, initPlugin, install, shutdown, shutdown, uninstall
default URL getXhtmlView()
IPluginGenericCustomGUI
jar:file:/...
) like so:
@Override public URL getXhtmlView() { return getClass().getResource("/path/to/view.xhtml"); }
getXhtmlView
in interface IPluginGenericCustomGUI<IPluginCustomGUIBean>
null
. If you do return null
, it will be treated as
an error.default Iterable<Class<? extends IPluginCustomGUIBean>> getUnmanagedBeans()
IPluginGenericCustomGUI
IPluginGenericCustomGUI.getXhtmlView()
. A new instance of the bean will be created automatically when the view is opened. Make
sure each bean has got a no-argument constructor or it cannot be instantiated.
Please note that the beans are unmanaged - functionality specific to managed bean is not
available. This means, for example, that annotations such as PostConstruct
and ManagedProperty
are
not supported and will not work:
PostConstruct
, you can use
IPluginGenericCustomGUIBean.initialize(de.xima.fc.interfaces.plugin.lifecycle.IPluginInitializeBeanData)
ManagedProperty
, you can access beans you need via the current FacesContext etc.
Each bean should be annotated with ManagedBean
and specify a ManagedBean.name()
. If this annotation
is not present or no name is specified, the name defaults to the simple name of the bean class.
Also, each bean needs to be annotated one of the following scopes: RequestScoped
,
ViewScoped
, SessionScoped
or ApplicationScoped
. Note that it depends on the type of plugin
which scopes are actually supported. In case you do not specify a scope, an appropriate scope will be determined
automatically.
Certain features of managed beans may be supported partially, depending on the type of plugin, but may work differently. This includes, but is not limited to:
PostConstruct
and PreDestroy
are called may differ.ManagedProperty
may not work with all values allowed by the Java Beans specification, and may not
perform checks such as the check for circular dependencies. It will also not create new beans when those beans have
not been created yet as part of the current page.getUnmanagedBeans
in interface IPluginGenericCustomGUI<IPluginCustomGUIBean>
Iterable
over the unmanaged bean classes required by the view@Deprecated Class<? extends IPluginCustomGUIBean> getManagedBean()
getUnmanagedBeans()
, the bean will not be managed, ie. annotations such
as PostConstruct
and ManagedProperty
will not work.@Deprecated default void initCustomGUI() throws FCPluginException
IPluginGenericCustomGUIBean.initialize(de.xima.fc.interfaces.plugin.lifecycle.IPluginInitializeBeanData)
.FCPluginException
@Deprecated String getConfigPage()
getXhtmlView()
Copyright © 2020 XIMA MEDIA GmbH. All rights reserved.