javax.faces.view

## Class ViewMetadata

- java.lang.Object
- - javax.faces.view.ViewMetadata

-     public abstract class ViewMetadata
      extends Object

  `ViewMetadata` is reponsible for extracting and providing view parameter metadata from VDL views. Because `ViewDeclarationLanguage.getViewMetadata(javax.faces.context.FacesContext, java.lang.String)` is required to return `null` for JSP views and non-`null` for views authored in Facelets for JSF 2, this specification only applys to Facelets for JSF 2.
  Since:
    2.0

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ViewMetadata()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract UIViewRoot` | `createMetadataView(FacesContext context)` Creates a new `UIViewRoot` containing only view parameter metadata.
    `static Collection<UIViewAction>` | `getViewActions(UIViewRoot root)` Utility method to extract view metadata from the provided `UIViewRoot`.
    `abstract String` | `getViewId()`
    `static Collection<UIViewParameter>` | `getViewParameters(UIViewRoot root)` Utility method to extract view metadata from the provided `UIViewRoot`.
    `static boolean` | `hasMetadata(UIViewRoot root)` Utility method to determine if the the provided `UIViewRoot` has metadata.

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

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

- - ### Constructor Detail

    - #### ViewMetadata

          public ViewMetadata()

  - ### Method Detail

    - #### getViewId

          public abstract String getViewId()

      Returns:
        the view ID for which this `ViewMetadata` instance was created

    - #### createMetadataView

          public abstract UIViewRoot createMetadataView(FacesContext context)

      Creates a new `UIViewRoot` containing only view parameter metadata. The processing of building this `UIViewRoot` with metadata should not cause any events to be published to the application. The implementation must call `FacesContext.setProcessingEvents(boolean)` passing `false` as the argument, at the beginning of the method, and pass `true` to the same method at the end. The implementation must ensure that this happens regardless of ant exceptions that may be thrown.

      Parameters:
        `context` - the `FacesContext` for the current request
      Returns:
        a `UIViewRoot` containing only view parameter metadata (if any)

    - #### getViewParameters

          public static Collection<UIViewParameter> getViewParameters(UIViewRoot root)

      Utility method to extract view metadata from the provided `UIViewRoot`.

      Parameters:
        `root` - the `UIViewRoot` from which the metadata will be extracted.
      Returns:
        a `Collection` of `UIViewParameter` instances. If the view has no metadata, the collection will be empty.

    - #### getViewActions

          public static Collection<UIViewAction> getViewActions(UIViewRoot root)

      Utility method to extract view metadata from the provided `UIViewRoot`.

      Parameters:
        `root` - the `UIViewRoot` from which the metadata will be extracted.
      Returns:
        a `Collection` of `UIViewAction` instances. If the view has no metadata, the collection will be empty.

    - #### hasMetadata

          public static boolean hasMetadata(UIViewRoot root)

      Utility method to determine if the the provided `UIViewRoot` has metadata. The default implementation will return true if the provided `UIViewRoot` has a facet named `UIViewRoot.METADATA_FACET_NAME` and that facet has children. It will return false otherwise.

      Parameters:
        `root` - the `UIViewRoot` from which the metadata will be extracted from
      Returns:
        true if the view has metadata, false otherwise.

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