## org.eclipse.jst.jsf.designtime
Class DesignTimeApplicationManager

    java.lang.Object
      org.eclipse.jst.jsf.designtime.DesignTimeApplicationManager

    public final class DesignTimeApplicationManager

extends java.lang.Object

Per-web-application manager that manages design time information for a corresponding project. TODO: migrate to managed singleton

Method Summary
`AbstractDTPropertyResolver` `getDefaultPropertyResolver()` Method is thread-safe and may block the caller.
`java.lang.String` `getExternalContextProvider()` Method is thread-safe and may block the caller.
`DTFacesContext` `getFacesContext(IFile file)` Method is thread-safe and may block the caller.
`static DesignTimeApplicationManager` `getInstance(IProject project)`
`AbstractDTMethodResolver` `getMethodResolver()` Method is thread-safe and may block the caller.
`java.lang.String` `getMethodResolverProvider()` Method is thread-safe and may block the caller.
`AbstractDTPropertyResolver` `getPropertyResolver()` Method is thread-safe and may block the caller.
`java.lang.String` `getPropertyResolverProvider()` Method is thread-safe and may block the caller.
`AbstractDTVariableResolver` `getVariableResolver()` Method is thread-safe and may block the caller.
`java.lang.String` `getVariableResolverProvider()` Method is thread-safe and may block the caller.
`org.eclipse.jst.jsf.designtime.internal.view.IDTViewHandler` `getViewHandler()` Method is thread-safe and may block the caller.
`boolean` `hasDTFacesContext(IFile file)` Method is thread-safe and may block the caller.
`static boolean` `hasJSFDesignTime(IProject project)` The criteria for a project having a JSF design time are: project is non-null.
`void` `setExternalContextProvider(java.lang.String resolverPluginId)` Method is thread-safe and may block the caller.
`void` `setMethodResolverProvider(java.lang.String resolverPluginId)` Method is thread-safe and may block the caller.
`void` `setPropertyResolverProvider(java.lang.String resolverPluginId)` Method is thread-safe and may block the caller.
`void` `setVariableResolverProvider(java.lang.String resolverPluginId)` Method is thread-safe and may block the caller.
`void` `setViewHandlerId(java.lang.String viewHandlerId)` Method is thread-safe and may block the caller.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Method Detail

### getInstance

    public static DesignTimeApplicationManager getInstance(IProject project)

  Parameters:
    `project` -
  Returns:
    the app manager associated with project

### hasJSFDesignTime

    public static boolean hasJSFDesignTime(IProject project)

  The criteria for a project having a JSF design time are:

  - project is non-null.
  - project is accessible (project.isAccessible() == true)
  - project has a JSF facet (this implies that it's dependent facets are also present).

  Parameters:
    `project` -
  Returns:
    true if project can have a JSF DesignTimeApplicationManager associated with it. getInstance(project) uses this determine if should construct an instance for a project.

### getFacesContext

    public DTFacesContext getFacesContext(IFile file)

  Method is thread-safe and may block the caller.

  Parameters:
    `file` - must not be null
  Returns:
    the faces context for the file or null if not found

### hasDTFacesContext

    public boolean hasDTFacesContext(IFile file)

  Method is thread-safe and may block the caller. Only files for which a runtime request context will be generated have a corresponding design time context. This is generally confined to view definition files such as JSP's. General criteria for a file to have a design time faces context are: - the file is non-null and isAccessible() - the file has designtime view handler (getViewHandler(file) != null) and it supports the content type of file. getFacesContext uses this to decide whether to generate a context for an IFile.

  Parameters:
    `file` -
  Returns:
    true if file has a design time faces context

### getViewHandler

    public org.eclipse.jst.jsf.designtime.internal.view.IDTViewHandler getViewHandler()

  Method is thread-safe and may block the caller.

  Returns:
    the design time view handler for this webapp (project).

### setViewHandlerId

    public void setViewHandlerId(java.lang.String viewHandlerId)

  Method is thread-safe and may block the caller. Sets the persistent id on this project that will be used to load the view handler.

  Parameters:
    `viewHandlerId` -

### setExternalContextProvider

    public void setExternalContextProvider(java.lang.String resolverPluginId)
                                    throws CoreException

  Method is thread-safe and may block the caller.

  Parameters:
    `resolverPluginId` -
  Throws:
    `CoreException`

### getExternalContextProvider

    public java.lang.String getExternalContextProvider()

  Method is thread-safe and may block the caller.

  Returns:
    the id of the active design time external context provider

### getVariableResolver

    public AbstractDTVariableResolver getVariableResolver()

  Method is thread-safe and may block the caller.

  Returns:
    the designtime variable resolver for this application

### setVariableResolverProvider

    public void setVariableResolverProvider(java.lang.String resolverPluginId)
                                     throws CoreException

  Method is thread-safe and may block the caller. Sets the plugin used to determine the designtime variable resolver. To reset to the default, pass null.

  Parameters:
    `resolverPluginId` -
  Throws:
    `CoreException` - -- if the setting the new value fails

### getVariableResolverProvider

    public java.lang.String getVariableResolverProvider()

  Method is thread-safe and may block the caller.

  Returns:
    the id of the active design time variable resolver

### getDefaultPropertyResolver

    public AbstractDTPropertyResolver getDefaultPropertyResolver()

  Method is thread-safe and may block the caller.

  Returns:
    the default property resolver that will be used if no other is provided. The default property resolver is intended to match the similar resolver used by the runtime.

### getPropertyResolver

    public AbstractDTPropertyResolver getPropertyResolver()

  Method is thread-safe and may block the caller.

  Returns:
    the designtime property resolver for this application

### setPropertyResolverProvider

    public void setPropertyResolverProvider(java.lang.String resolverPluginId)
                                     throws CoreException

  Method is thread-safe and may block the caller.

  Parameters:
    `resolverPluginId` -
  Throws:
    `CoreException` - -- if setting the provider fails

### getPropertyResolverProvider

    public java.lang.String getPropertyResolverProvider()

  Method is thread-safe and may block the caller.

  Returns:
    the id of the active design time variable resolver

### getMethodResolver

    public AbstractDTMethodResolver getMethodResolver()

  Method is thread-safe and may block the caller.

  Returns:
    the designtime method resolver for this application

### setMethodResolverProvider

    public void setMethodResolverProvider(java.lang.String resolverPluginId)
                                   throws CoreException

  Method is thread-safe and may block the caller.

  Parameters:
    `resolverPluginId` -
  Throws:
    `CoreException` - -- if setting the plugin fails

### getMethodResolverProvider

    public java.lang.String getMethodResolverProvider()

  Method is thread-safe and may block the caller.

  Returns:
    the id of the active design time variable resolver