Package org.apache.tapestry5.internal.services

## Class PageElementFactoryImpl

- java.lang.Object
- - org.apache.tapestry5.internal.services.PageElementFactoryImpl

- All Implemented Interfaces:
    `PageElementFactory`

      public class PageElementFactoryImpl
      extends java.lang.Object
      implements PageElementFactory

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `PageElementFactoryImpl​(TypeCoercer typeCoercer, BindingSource bindingSource)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `RenderCommand` | `newAttributeElement​(ComponentResources componentResources, AttributeToken token)` | Creates a RenderCommand for rendering an attribute, when the attribute contains expansions.
    `Binding` | `newBinding​(java.lang.String parameterName, ComponentResources loadingComponentResources, ComponentResources embeddedComponentResources, java.lang.String defaultBindingPrefix, java.lang.String expression, Location location)` | Creates a new binding as with `BindingSource.newBinding(String, ComponentResources, ComponentResources, String, String, Location)`.
    `RenderCommand` | `newExpansionElement​(ComponentResources componentResources, ExpansionToken token)` | Converts an expansion token into a command that renders the expanded value.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### PageElementFactoryImpl

          public PageElementFactoryImpl​(TypeCoercer typeCoercer,
                                        BindingSource bindingSource)

  - ### Method Detail

    - #### newAttributeElement

          public RenderCommand newAttributeElement​(ComponentResources componentResources,
                                                   AttributeToken token)

      Description copied from interface: `PageElementFactory`
      Creates a RenderCommand for rendering an attribute, when the attribute contains expansions.
      Specified by:
        `newAttributeElement` in interface `PageElementFactory`
      Parameters:
        `componentResources` - identifies component
        `token` - token containing value with expansions
      Returns:
        render command to render the text with expansions expanded

    - #### newExpansionElement

          public RenderCommand newExpansionElement​(ComponentResources componentResources,
                                                   ExpansionToken token)

      Description copied from interface: `PageElementFactory`
      Converts an expansion token into a command that renders the expanded value.
      Specified by:
        `newExpansionElement` in interface `PageElementFactory`
      Parameters:
        `componentResources` - identifies the component
        `token` - contains expansion expression
      Returns:
        command to render expansion

    - #### newBinding

          public Binding newBinding​(java.lang.String parameterName,
                                    ComponentResources loadingComponentResources,
                                    ComponentResources embeddedComponentResources,
                                    java.lang.String defaultBindingPrefix,
                                    java.lang.String expression,
                                    Location location)

      Description copied from interface: `PageElementFactory`
      Creates a new binding as with `BindingSource.newBinding(String, ComponentResources, ComponentResources, String, String, Location)`. However, if the binding contains an expansion (i.e., `${...}`), then a binding that returns the fully expanded expression will be returned.
      Specified by:
        `newBinding` in interface `PageElementFactory`