This page enumerates the catalog of API that will be released in JSF 1.0 (WTP 2.0). The API is broken into three categories: graduating, provisional and obsolete. Graduating API is framework that was considered provisional in previous releases and is now ready to graduate into full API status. Provisional (new) API is framework which has not been shipped in a release before and so has not had adopter soak time, but which is ready for wider adoption and refinement before being moved fully API. Obsolete API is framework that has been replaced by new framework or is being deprecated out of existence.
Graduating (Fully Public) API
The following lists the API that will graduate from provisional to full in Europa:
Design-Time Type Utilities
Purpose: Provides utility classes for manipulating JDT IType's, primarily as Java Beans.
Model Context Framework
Packages: org.eclipse.jst.jsf.common.context (all except context.symbols and internals)
Purpose: Provides a generic way to describe specific instance contexts within an arbitrary model and derive orthogonal information about that context through related resolvers (for example, your context is an absolute position in an XML file. What project are you in? What is your owning element).
Design-Time Application Framework
Purpose: Simulates certain (currently mainly EL variable/property resolution) JSF runtime behaviours and provides extensibility for adopters to extend this simulation to places where they extend it at runtime (i.e. custom VariableResolver).
Application Configuration Resource File ("faces-config.xml") Model
Packages: org.eclipse.jst.jsf.facesconfig.* (except org.eclipse.jst.jsf.facesconfig.internal.*)
Purpose: Provides programmatic access and manipulation of the standard JSF application configuration resource file (e.g. "faces-config.xml").
The following lists the API that will graduate from internal to provisional API in Europa:
Content Model Type System
Packages: org.eclipse.jst.jsf.core.metadataprocessors.*, org.eclipse.jst.jsf.core.taglibprocessing.*
Purpose: An entensible system for define expected types and valid value ranges on JSF tag attributes for use in end-user features like content assist and validation.
EL Symbol Framework
Purpose: Provides a framework through which to describe EL symbols (model objects, methods, functions, EL variables) at design time in order to analyze EL expression for such purposes as validation and content assist.
Designtime Meta-data Framework
Packages: org.eclipse.jst.jsf.common.metadata.internal.provisional.*, org.eclipse.jst.jsf.common.metadata.traittypes.traittypes.internal.provisional.*
Purpose: Provides a rich, user-extensible repository for design-time metadata. Obsoletes: Meta-data framework for 0.5 as well as Sybase contributed metadata for pagedesigner.
Plugins: org.eclipse.jst.jsf.common (possibly org.eclipse.jst.jsf.core)
Packages: org.eclipse.jst.jsf.common.dom (and possibly parts of org.eclipse.jst.jsf.core.internal.tld)
Plugins: org.eclipse.jst.jsf.common, org.eclipse.jst.jsf.core
Packages: org.eclipse.jst.jsf.common.sets.internal.provisional.*, org.eclipse.jst.jsf.core.sets.internal.provisional.*
Purpose: Extends java.util.Set to provide sets of objects that support mathematically axiomatic operations like union and intersection as well as broader operations like mappings (functions) and constraints. JSF Core implements JSF tag specific sets and operations.
Tag Conversion Framework
Packages: org.eclipse.jst.pagedesigner.dtmanager, including all non-"internal" sub-packages
Purpose: Allows tag developers to contribute information to the Web Page Designer so that custom components can be rendered more faithfully on the design canvas.
Element Edit Framework
Packages: org.eclipse.jst.pagedesigner.elementedit (but not "html" and "jsp" sub-packages)
Purpose: Allows third-party tag contributors to add custom end-user behaviour (i.e. context menus) to Web Page Editor specific to their component's requires.
JSF Library Registry
Purpose: Allows the JSFDeveloper to define named sets of jars on the class and deploy paths. Also allows ToolsDeveloper and ComponentDeveloper to add plugin-contributed named sets of jars.
JSF Library Configuration
Purpose: Allows the ToolsDeveloper to check for JSF Library references on a project.
Application Configuration Manager
Purpose: Aggregates all application configuration models that can be detected as being in the classpath at designtime to provide a unified view of how the a JSF project will be configured at runtime.
Content Model Annotations
Purpose: Provides content model annotation meta-data.
Migration: Use the new Meta-Data Framework.