|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.vaadin.ui.declarative.DesignContext
public class DesignContext
This class contains contextual information that is collected when a component
tree is constructed based on HTML design template. This information includes
mappings from local ids, global ids and captions to components , as well as a
mapping between prefixes and package names (such as "vaadin" ->
"com.vaadin.ui").
Versions prior to 7.6 use "v" as the default prefix. Versions starting with
7.6 support reading designs with either "v" or "vaadin" as the prefix, but
only write "vaadin" by default. Writing with the legacy prefix can be
activated with the property or context parameter
Constants.SERVLET_PARAMETER_LEGACY_DESIGN_PREFIX.
| Nested Class Summary | |
|---|---|
class |
DesignContext.ComponentCreatedEvent
Component creation event that is fired when a component is created in the context |
static interface |
DesignContext.ComponentCreationListener
Interface to be implemented by component creation listeners |
| Field Summary | |
|---|---|
static java.lang.String |
CAPTION_ATTRIBUTE
|
static java.lang.String |
ID_ATTRIBUTE
|
static java.lang.String |
LOCAL_ID_ATTRIBUTE
|
| Constructor Summary | |
|---|---|
DesignContext()
|
|
DesignContext(org.jsoup.nodes.Document doc)
|
|
| Method Summary | ||
|---|---|---|
void |
addComponentCreationListener(DesignContext.ComponentCreationListener listener)
Adds a component creation listener. |
|
void |
addPackagePrefix(java.lang.String prefix,
java.lang.String packageName)
Creates a two-way mapping between a prefix and a package name. |
|
org.jsoup.nodes.Element |
createElement(Component childComponent)
Creates an html tree node corresponding to the given element. |
|
Component |
getComponentByCaption(java.lang.String caption)
Returns a component having the specified caption. |
|
Component |
getComponentById(java.lang.String globalId)
Returns a component having the specified global id. |
|
Component |
getComponentByLocalId(java.lang.String localId)
Returns a component having the specified local id. |
|
java.lang.String |
getComponentLocalId(Component component)
Returns the local id for a component. |
|
|
getDefaultInstance(Component component)
Returns the default instance for the given class. |
|
java.lang.String |
getPackage(java.lang.String prefix)
Gets the package corresponding to the give prefix, or null
no package has been registered for the prefix |
|
java.lang.String |
getPackagePrefix(java.lang.String packageName)
Gets the prefix mapping for a given package, or null if
there is no mapping for the package. |
|
java.util.Collection<java.lang.String> |
getPackagePrefixes()
Gets all registered package prefixes. |
|
Component |
getRootComponent()
Returns the root component of a created component hierarchy. |
|
ShouldWriteDataDelegate |
getShouldWriteDataDelegate()
Gets the delegate that determines whether the container data of a component should be written out. |
|
protected boolean |
isLegacyPrefixEnabled()
Check whether the legacy prefix "v" or the default prefix "vaadin" should be used when writing designs. |
|
Component |
readDesign(org.jsoup.nodes.Element componentDesign)
Reads the given design node and creates the corresponding component tree |
|
void |
readDesign(org.jsoup.nodes.Element componentDesign,
Component component)
Reads the given design node and populates the given component with the corresponding component tree |
|
protected void |
readPackageMappings(org.jsoup.nodes.Document doc)
Reads and stores the mappings from prefixes to package names from meta tags located under in the html document. |
|
void |
removeComponentCreationListener(DesignContext.ComponentCreationListener listener)
Removes a component creation listener. |
|
boolean |
setComponentLocalId(Component component,
java.lang.String localId)
Creates a mapping between the given local id and the component. |
|
void |
setRootComponent(Component rootComponent)
Sets the root component of a created component hierarchy. |
|
void |
setShouldWriteDataDelegate(ShouldWriteDataDelegate shouldWriteDataDelegate)
Sets the delegate that determines whether the container data of a component should be written out. |
|
boolean |
shouldWriteChildren(Component c,
Component defaultC)
Helper method for component write implementors to determine whether their children should be written out or not |
|
boolean |
shouldWriteData(Component component)
Determines whether the container data of a component should be written out by delegating to a ShouldWriteDataDelegate. |
|
void |
writePackageMappings(org.jsoup.nodes.Document doc)
Writes the package mappings (prefix -> package name) of this object to the specified document. |
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.String ID_ATTRIBUTE
public static final java.lang.String CAPTION_ATTRIBUTE
public static final java.lang.String LOCAL_ID_ATTRIBUTE
| Constructor Detail |
|---|
public DesignContext(org.jsoup.nodes.Document doc)
public DesignContext()
| Method Detail |
|---|
public Component getComponentByLocalId(java.lang.String localId)
localId - The local id of the component
public Component getComponentById(java.lang.String globalId)
globalId - The global id of the component
public Component getComponentByCaption(java.lang.String caption)
caption - The caption of the component
public boolean setComponentLocalId(Component component,
java.lang.String localId)
component - The component whose local id is to be set.localId - The new local id of the component.
public java.lang.String getComponentLocalId(Component component)
component - The component whose local id to get.
public void addPackagePrefix(java.lang.String prefix,
java.lang.String packageName)
prefix - the prefix name without an ending dash (for instance, "vaadin"
is by default used for "com.vaadin.ui")packageName - the name of the package corresponding to prefixgetPackagePrefixes(),
getPackagePrefix(String),
getPackage(String)public java.lang.String getPackagePrefix(java.lang.String packageName)
null if
there is no mapping for the package.
packageName - the package name to get a prefix for
null if no prefix is
registeredaddPackagePrefix(String, String),
getPackagePrefixes()public java.util.Collection<java.lang.String> getPackagePrefixes()
getPackage(String)public java.lang.String getPackage(java.lang.String prefix)
null
no package has been registered for the prefix
prefix - the prefix to find a package for
null if no package is
registered for the provided prefixaddPackagePrefix(String, String)public <T> T getDefaultInstance(Component component)
abstractComponent -
protected void readPackageMappings(org.jsoup.nodes.Document doc)
public void writePackageMappings(org.jsoup.nodes.Document doc)
The prefixes are stored as tags under
in the document.
doc - the Jsoup document tree where the package mappings are writtenprotected boolean isLegacyPrefixEnabled()
Constants.SERVLET_PARAMETER_LEGACY_DESIGN_PREFIX can be used to
switch to the legacy prefix.
public org.jsoup.nodes.Element createElement(Component childComponent)
childComponent - The component with state that is written in to the node
public Component readDesign(org.jsoup.nodes.Element componentDesign)
componentDesign - The design element containing the description of the component
to be created.
public void readDesign(org.jsoup.nodes.Element componentDesign,
Component component)
Additionally registers the component id, local id and caption of the given component and all its children in the context
componentDesign - The design element containing the description of the component
to be createdcomponent - The component which corresponds to the design elementpublic Component getRootComponent()
public void setRootComponent(Component rootComponent)
rootComponent - the root component of the hierarchypublic void addComponentCreationListener(DesignContext.ComponentCreationListener listener)
listener - the component creation listener to be addedpublic void removeComponentCreationListener(DesignContext.ComponentCreationListener listener)
listener - the component creation listener to be removed
public boolean shouldWriteChildren(Component c,
Component defaultC)
c - The component being writtendefaultC - The default instance for the component
public boolean shouldWriteData(Component component)
ShouldWriteDataDelegate. The default
delegate assumes that all component data is provided by a data source
connected to a back end system and that the data should thus not be
written.
component - the component to check
true if container data should be written out for the
provided component; otherwise false.setShouldWriteDataDelegate(ShouldWriteDataDelegate)public void setShouldWriteDataDelegate(ShouldWriteDataDelegate shouldWriteDataDelegate)
shouldWriteDataDelegate - the delegate to set, not null
java.lang.IllegalArgumentException - if the provided delegate is nullshouldWriteChildren(Component, Component),
getShouldWriteDataDelegate()public ShouldWriteDataDelegate getShouldWriteDataDelegate()
setShouldWriteDataDelegate(ShouldWriteDataDelegate),
shouldWriteChildren(Component, Component)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||