|
||||||||||
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 "v" -> "com.vaadin.ui").
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. |
|
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, "v" 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 writtenpublic 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 removedpublic 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 null
shouldWriteChildren(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 |