Class ConcreteViewTemplate
- java.lang.Object
-
- org.soulwing.prospecto.runtime.template.ConcreteViewTemplate
-
- All Implemented Interfaces:
ViewTemplate
,ComposableViewTemplate
public class ConcreteViewTemplate extends Object implements ComposableViewTemplate
AViewTemplate
implementation.- Author:
- Carl Harris
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.soulwing.prospecto.api.ViewTemplate
ViewTemplate.Traversal
-
-
Constructor Summary
Constructors Constructor Description ConcreteViewTemplate(AbstractViewNode root)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AbstractContainerNode
arrayOfObjects(String name, String elementName, String namespace)
Extracts a view node of array-of-objects type from the root of this template for use as a subview in another template.ViewTemplate
arrayOfObjectsTemplate(String name, String elementName, String namespace)
Extracts a view template of array-of-objects type from the root of this template.AbstractContainerNode
arrayOfReferences(String name, String elementName, String namespace)
Extracts a view node of array-of-references type from the root of this template for use as a subview in another template.ViewTemplate
arrayOfReferencesTemplate(String name, String elementName, String namespace)
Extracts a view template of array-of-references type from the root of this template.ViewTemplate.Traversal
breadthFirst()
ViewApplicator
createApplicator(View source, ViewContext context)
ViewApplicator
createApplicator(View source, ViewContext context, String dataKey)
ViewTemplate.Traversal
depthFirst()
View
generateView(Object source, ViewContext context)
AbstractViewNode
getRoot()
AbstractContainerNode
mapOfObjects(String name, String namespace, Class<?> keyType)
Extracts a view node of map-of-objects type from the root of this template for use as a subview in another template.ViewTemplate
mapOfObjectsTemplate(String name, String namespace, Class<?> keyType)
Extracts a view template of map-of-objects type from the root of this template.AbstractContainerNode
mapOfReferences(String name, String namespace, Class<?> keyType)
Extracts a view node of map-of-references type from the root of this template for use as a subview in another template.ViewTemplate
mapOfReferencesTemplate(String name, String namespace, Class<?> keyType)
Extracts a view template of map-of-references type from the root of this template.AbstractContainerNode
object(String name, String namespace)
Extracts a view node of object type from the root of this template for use as a subview in another template.AbstractContainerNode
reference(String name, String namespace)
Extracts a view node of reference type from the root of this template for use as a subview in another template.
-
-
-
Constructor Detail
-
ConcreteViewTemplate
public ConcreteViewTemplate(AbstractViewNode root)
-
-
Method Detail
-
getRoot
public AbstractViewNode getRoot()
-
breadthFirst
public ViewTemplate.Traversal breadthFirst()
- Specified by:
breadthFirst
in interfaceViewTemplate
-
depthFirst
public ViewTemplate.Traversal depthFirst()
- Specified by:
depthFirst
in interfaceViewTemplate
-
generateView
public View generateView(Object source, ViewContext context) throws ViewException
- Specified by:
generateView
in interfaceViewTemplate
- Throws:
ViewException
-
createApplicator
public ViewApplicator createApplicator(View source, ViewContext context)
- Specified by:
createApplicator
in interfaceViewTemplate
-
createApplicator
public ViewApplicator createApplicator(View source, ViewContext context, String dataKey)
- Specified by:
createApplicator
in interfaceViewTemplate
-
object
public AbstractContainerNode object(String name, String namespace)
Description copied from interface:ComposableViewTemplate
Extracts a view node of object type from the root of this template for use as a subview in another template.- Specified by:
object
in interfaceComposableViewTemplate
- Parameters:
name
- name for the node (as it will appear in the calling template)namespace
- namespace forname
andelementName
; used in only some view types (e.g. XML)- Returns:
- new view node containing the children of the root node of this template
- See Also:
ViewTemplateBuilder.object(String, String, ViewTemplate)
-
reference
public AbstractContainerNode reference(String name, String namespace)
Description copied from interface:ComposableViewTemplate
Extracts a view node of reference type from the root of this template for use as a subview in another template.- Specified by:
reference
in interfaceComposableViewTemplate
- Parameters:
name
- name for the node (as it will appear in the calling template)namespace
- namespace forname
andelementName
; used in only some view types (e.g. XML)- Returns:
- new view node containing the children of the root node of this template
- See Also:
ViewTemplateBuilder.reference(String, String, ViewTemplate)
-
arrayOfObjects
public AbstractContainerNode arrayOfObjects(String name, String elementName, String namespace)
Description copied from interface:ComposableViewTemplate
Extracts a view node of array-of-objects type from the root of this template for use as a subview in another template.- Specified by:
arrayOfObjects
in interfaceComposableViewTemplate
- Parameters:
name
- name for the node (as it will appear in the calling template)elementName
- name for the elements in the array; used in only some some view types (e.g. XML)namespace
- namespace forname
andelementName
; used in only some view types (e.g. XML)- Returns:
- new view node containing the children of the root node of this template
- See Also:
ViewTemplateBuilder.arrayOfObjects(String, String, String, ViewTemplate)
-
arrayOfReferences
public AbstractContainerNode arrayOfReferences(String name, String elementName, String namespace)
Description copied from interface:ComposableViewTemplate
Extracts a view node of array-of-references type from the root of this template for use as a subview in another template.- Specified by:
arrayOfReferences
in interfaceComposableViewTemplate
- Parameters:
name
- name for the node (as it will appear in the calling template)elementName
- name for the elements in the array; used in only some some view types (e.g. XML)namespace
- namespace forname
andelementName
; used in only some view types (e.g. XML)- Returns:
- new view node containing the children of the root node of this template
- See Also:
ViewTemplateBuilder.arrayOfReferences(String, String, String, ViewTemplate)
-
arrayOfObjectsTemplate
public ViewTemplate arrayOfObjectsTemplate(String name, String elementName, String namespace)
Description copied from interface:ComposableViewTemplate
Extracts a view template of array-of-objects type from the root of this template.- Specified by:
arrayOfObjectsTemplate
in interfaceComposableViewTemplate
- Parameters:
name
- name for the root (as it will appear in the calling template)elementName
- name for the elements in the array; used in only some some view types (e.g. XML)namespace
- namespace forname
andelementName
; used in only some view types (e.g. XML)- Returns:
- new view template containing the children of the root node of this template
- See Also:
ViewTemplateBuilderProducer.arrayOfObjects(String, String, String, ViewTemplate)
-
arrayOfReferencesTemplate
public ViewTemplate arrayOfReferencesTemplate(String name, String elementName, String namespace)
Description copied from interface:ComposableViewTemplate
Extracts a view template of array-of-references type from the root of this template.- Specified by:
arrayOfReferencesTemplate
in interfaceComposableViewTemplate
- Parameters:
name
- name for the root (as it will appear in the calling template)elementName
- name for the elements in the array; used in only some some view types (e.g. XML)namespace
- namespace forname
andelementName
; used in only some view types (e.g. XML)- Returns:
- new view template containing the children of the root node of this template
- See Also:
ViewTemplateBuilderProducer.arrayOfReferences(String, String, String, ViewTemplate)
-
mapOfObjects
public AbstractContainerNode mapOfObjects(String name, String namespace, Class<?> keyType)
Description copied from interface:ComposableViewTemplate
Extracts a view node of map-of-objects type from the root of this template for use as a subview in another template.- Specified by:
mapOfObjects
in interfaceComposableViewTemplate
- Parameters:
name
- name for the node (as it will appear in the calling template)namespace
- namespace forname
andelementName
; used in only some view types (e.g. XML)- Returns:
- new view node containing the children of the root node of this template
- See Also:
ViewTemplateBuilder.mapOfObjects(String, String, Class, ViewTemplate)
-
mapOfReferences
public AbstractContainerNode mapOfReferences(String name, String namespace, Class<?> keyType)
Description copied from interface:ComposableViewTemplate
Extracts a view node of map-of-references type from the root of this template for use as a subview in another template.- Specified by:
mapOfReferences
in interfaceComposableViewTemplate
- Parameters:
name
- name for the node (as it will appear in the calling template)namespace
- namespace forname
andelementName
; used in only some view types (e.g. XML)- Returns:
- new view node containing the children of the root node of this template
- See Also:
ViewTemplateBuilder.mapOfReferences(String, String, Class, ViewTemplate)
-
mapOfObjectsTemplate
public ViewTemplate mapOfObjectsTemplate(String name, String namespace, Class<?> keyType)
Description copied from interface:ComposableViewTemplate
Extracts a view template of map-of-objects type from the root of this template.- Specified by:
mapOfObjectsTemplate
in interfaceComposableViewTemplate
- Parameters:
name
- name for the root (as it will appear in the calling template)namespace
- namespace forname
andelementName
; used in only some view types (e.g. XML)- Returns:
- new view template containing the children of the root node of this template
- See Also:
ViewTemplateBuilderProducer.mapOfObjects(String, String, Class, ViewTemplate)
-
mapOfReferencesTemplate
public ViewTemplate mapOfReferencesTemplate(String name, String namespace, Class<?> keyType)
Description copied from interface:ComposableViewTemplate
Extracts a view template of map-of-references type from the root of this template.- Specified by:
mapOfReferencesTemplate
in interfaceComposableViewTemplate
- Parameters:
name
- name for the root (as it will appear in the calling template)namespace
- namespace forname
andelementName
; used in only some view types (e.g. XML)- Returns:
- new view template containing the children of the root node of this template
- See Also:
ViewTemplateBuilderProducer.mapOfReferences(String, String, Class, ViewTemplate)
-
-