]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.api.cms/src/org/argeo/api/cms/CmsApp.java
Introduce typed UUIDs.
[lgpl/argeo-commons.git] / org.argeo.api.cms / src / org / argeo / api / cms / CmsApp.java
1 package org.argeo.api.cms;
2
3 import java.util.Set;
4
5 /** An extensible user interface base on the CMS backend. */
6 public interface CmsApp {
7 /**
8 * If {@link CmsUi#setData(String, Object)} is set with this property, it
9 * indicates a different UI (typically with another theming. The {@link CmsApp}
10 * can use this information, but it doesn't have to be set, in which case a
11 * default UI must be provided. The provided value must belong to the values
12 * returned by {@link CmsApp#getUiNames()}.
13 */
14 final static String UI_NAME_PROPERTY = CmsApp.class.getName() + ".ui.name";
15
16 Set<String> getUiNames();
17
18 CmsUi initUi(Object uiParent);
19
20 void refreshUi(CmsUi cmsUi, String state);
21
22 void setState(CmsUi cmsUi, String state);
23
24 CmsTheme getTheme(String uiName);
25
26 boolean allThemesAvailable();
27
28 void addCmsAppListener(CmsAppListener listener);
29
30 void removeCmsAppListener(CmsAppListener listener);
31 }