<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
  <title></title>
</head>
<body text="#000000" bgcolor="#ffffff">
<br>
I believe the intent was to provide a View meta-data API (VAST - View
Abstract State Tree) which abstracted this level of detail w/o tying it
to Facelets.&nbsp; That way frameworks such as Gracelets could write to that
API and work w/ any View technology (not just Facelets).&nbsp; Therefor,
making the Facelets-specific API's part of the implementation makes
sense.<br>
<br>
Not sure where things stand right now, though...<br>
<br>
Ken<br>
<br>
On 03/31/2010 09:34 AM, Leonardo Uribe wrote:
<blockquote
 cite="mid:n2of6c92361003310934ge114c69cmf34d1d40bc28f193@mail.gmail.com"
 type="cite">Hi<br>
  <br>
This message is on behalf of Lewis Gass.<br>
  <br>
I am writing in relation to a particular use case which reveals that
the <br>
current JSF 2.0 public API is defficient. This is in relation the open <br>
source project Gracelets (<a moz-do-not-send="true"
 href="http://gracelets.sourceforge.net/">http://gracelets.sourceforge.net/</a>)

and the new <br>
effort to integrate JSF 2.0 with Groovy. In order for people to use
Groovy <br>
as an alternative View Langauge they need
  <br>
to have access to the all the Facelets tag libraries and participate in
the <br>
Templating framework that Facelets provides. Much of this is tied to
the <br>
TagLibrary and
  <br>
TemplateClient API's. Before, with JSF 1.2, there was a single Facelets
  <br>
"API" and/or implementation. So integrating with it was much simpler,
as is <br>
shown by previous Gracelets
  <br>
versions. With JSF 2.0, part of the Facelets library was divided into
public <br>
API and another as JSF 2.0 specific implementation.
  <br>
  <br>
However, basic concepts such as Templating (TemplateClient and <br>
TemplateManager) are not considered public API, which means that a <br>
technology such as Gracelets
  <br>
must rely on a per JSF implementation integration library which is
volatile <br>
in nature. The FaceletContext class is public API, but implementations
are <br>
not required to support
  <br>
third party implementations of such, and there is no standard way to
access <br>
the TagLibrary used by facelets so that third part View Languages can <br>
harness them.
  <br>
  <br>
Thus this message has the purpose of requesting such parts of the old <br>
Facelets library, namely, the TagLibrary, TemplateClient and the
related <br>
FaceletContext methods (popClient(),
  <br>
pushClient(), extendClient() and applyDefinition()) to be part of the
public <br>
JSF 2.0 API, while at the same time requiring JSF 2.0 implementors to <br>
support third party implementations
  <br>
of the same classes/API's.
  <br>
  <br>
Respectfully,
  <br>
Lewis Gass
  <br>
Gracelets Coder
  <br>
  <a moz-do-not-send="true" href="mailto:sestechllc@gmail.com">sestechllc@gmail.com</a>
  <br>
</blockquote>
</body>
</html>