]>
git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.cms.ui/src/org/argeo/cms/ui/CmsUiProvider.java
1 package org
.argeo
.cms
.ui
;
4 import javax
.jcr
.RepositoryException
;
6 import org
.argeo
.node
.MvcProvider
;
7 import org
.eclipse
.swt
.widgets
.Composite
;
8 import org
.eclipse
.swt
.widgets
.Control
;
10 /** Stateless factory building an SWT user interface given a JCR context. */
12 public interface CmsUiProvider
extends MvcProvider
<Composite
, Node
, Control
> {
14 * Initialises a user interface.
16 * @param parent the parent composite
17 * @param context a context node (holding the JCR underlying session), or null
19 public Control
createUi(Composite parent
, Node context
) throws RepositoryException
;
22 public default Control
apply(Composite parent
, Node context
) {
24 return createUi(parent
, context
);
25 } catch (RepositoryException e
) {
26 throw new IllegalStateException("Cannot create UI for context " + context
, e
);