X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms.ui%2Fsrc%2Forg%2Fargeo%2Fcms%2Fui%2FCmsUiProvider.java;h=00939e154ca2a5df106fb5b150f6dc33e6bc27ac;hb=fea7cd546f9c04c00f961918919dd6307c32cc8e;hp=7e0e4faf3ab304de5fc504684f26c9d3b8dd44c2;hpb=c5fa035468228d1f87ab5431a3fad17403eee1c3;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms.ui/src/org/argeo/cms/ui/CmsUiProvider.java b/org.argeo.cms.ui/src/org/argeo/cms/ui/CmsUiProvider.java index 7e0e4faf3..00939e154 100644 --- a/org.argeo.cms.ui/src/org/argeo/cms/ui/CmsUiProvider.java +++ b/org.argeo.cms.ui/src/org/argeo/cms/ui/CmsUiProvider.java @@ -7,15 +7,23 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; /** Stateless factory building an SWT user interface given a JCR context. */ -public interface CmsUiProvider { +@FunctionalInterface +public interface CmsUiProvider extends MvcProvider { /** * Initialises a user interface. * - * @param parent - * the parent composite - * @param a - * context node or null + * @param parent the parent composite + * @param context a context node (holding the JCR underlying session), or null */ - public Control createUi(Composite parent, Node context) - throws RepositoryException; + Control createUi(Composite parent, Node context) throws RepositoryException; + + @Override + default Control createUiPart(Composite parent, Node context) { + try { + return createUi(parent, context); + } catch (RepositoryException e) { + throw new IllegalStateException("Cannot create UI for context " + context, e); + } + } + }