javax.faces.view.facelets

## Class MetaTagHandler

- java.lang.Object
- - javax.faces.view.facelets.TagHandler
  - - javax.faces.view.facelets.MetaTagHandler

- All Implemented Interfaces:
    FaceletHandler
  Direct Known Subclasses:
    DelegatingMetaTagHandler

      public abstract class MetaTagHandler
      extends TagHandler

  Every kind of markup element in Facelets VDL that has attributes that need to take action on a JSF Java API artifact is associated with an instance of this class. This class is an abstraction to enable a rule based method for directing how different kinds of elements take different kinds of actions in the JSF Java API. For example, consider this markup:

  `

      <h:inputText value="#{user.userid}"
                      valueChangeListener="#{user.newUserId}" />

  `

  This markup element corresponds to an instance of `HtmlInputText` in the view. `HtmlImputText` has a number of attributes that are to be exposed to the page author. `HtmlInputText` also implements `EditableValueHolder`, which extends `ValueHolder`. Each of these interfaces also expose a number of attributes to the page author.

  Facelets employes the strategy pattern to allow the manner in which all possible attributes are handled based on the nature of the JSF Java API artifact associated with the markup element.

  Subclasses override the `createMetaRuleset(java.lang.Class)` method to return a `MetaRuleset` instance encapsulating all the strategies for all the attributes that make sense for this particular markup element. The runtime calls the `setAttributes(FaceletContext, Object)` method to cause those rules to be executed and applied.

  Since:
    2.0

- - ### Field Summary

    - ### Fields inherited from class javax.faces.view.facelets.TagHandler

      `nextHandler, tag, tagId`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MetaTagHandler(TagConfig config)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected abstract MetaRuleset` | `createMetaRuleset(Class type)` Extend this method in order to add your own rules.
    `protected void` | `setAttributes(FaceletContext ctx, Object instance)` Invoking/extending this method will cause the results of the created MetaRuleset to auto-wire state to the passed instance.

    - ### Methods inherited from class javax.faces.view.facelets.TagHandler

      `getAttribute, getRequiredAttribute, toString`

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

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

    - ### Methods inherited from interface javax.faces.view.facelets.FaceletHandler

      `apply`

- - ### Constructor Detail

    - #### MetaTagHandler

          public MetaTagHandler(TagConfig config)

  - ### Method Detail

    - #### createMetaRuleset

          protected abstract MetaRuleset createMetaRuleset(Class type)

      Extend this method in order to add your own rules.
      Parameters:
        `type` -

    - #### setAttributes

          protected void setAttributes(FaceletContext ctx,
                           Object instance)

      Invoking/extending this method will cause the results of the created MetaRuleset to auto-wire state to the passed instance.
      Parameters:
        `ctx` -
        `instance` -

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.