JBoss Rich Faces SVN: r16986 - root/ui-sandbox/tables/trunk/ui/src/test/java/org/richfaces/component.
by richfaces-svn-commits@lists.jboss.org
Author: konstantin.mishin
Date: 2010-05-11 09:54:30 -0400 (Tue, 11 May 2010)
New Revision: 16986
Added:
root/ui-sandbox/tables/trunk/ui/src/test/java/org/richfaces/component/UIExtendedDataTableTest.java
Log:
RF-8480
Added: root/ui-sandbox/tables/trunk/ui/src/test/java/org/richfaces/component/UIExtendedDataTableTest.java
===================================================================
--- root/ui-sandbox/tables/trunk/ui/src/test/java/org/richfaces/component/UIExtendedDataTableTest.java (rev 0)
+++ root/ui-sandbox/tables/trunk/ui/src/test/java/org/richfaces/component/UIExtendedDataTableTest.java 2010-05-11 13:54:30 UTC (rev 16986)
@@ -0,0 +1,129 @@
+/**
+ *
+ */
+package org.richfaces.component;
+
+import javax.faces.context.FacesContext;
+
+import org.ajax4jsf.model.DataVisitResult;
+import org.ajax4jsf.model.DataVisitor;
+import org.ajax4jsf.model.SequenceRange;
+import org.jboss.test.faces.AbstractFacesTest;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * @author Konstantin Mishin
+ *
+ */
+public class UIExtendedDataTableTest extends AbstractFacesTest {
+
+
+ private UIExtendedDataTable table;
+
+ /**
+ * @throws java.lang.Exception
+ */
+ @Before
+ public void setUp() throws Exception {
+ super.setUp();
+ setupFacesRequest();
+ table = new UIExtendedDataTable();
+ table.setValue(new Integer[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9});
+ }
+
+ /**
+ * @throws java.lang.Exception
+ */
+ @After
+ public void tearDown() throws Exception {
+ table = null;
+ super.tearDown();
+ }
+
+ /**
+ * Test method for {@link org.richfaces.component.UIExtendedDataTable#visitDataChildren(javax
+ * .faces.component.visit.VisitContext, javax.faces.component.visit.VisitCallback, boolean)}.
+ */
+ @Test
+ public final void testVisitDataChildren() {
+ //TODO fail("Not yet implemented");
+ }
+
+ /**
+ * Test method for {@link org.richfaces.component.UIExtendedDataTable#getActualFirst()}.
+ */
+ @Test
+ public final void testGetActualFirst() {
+ assertEquals(0, table.getActualFirst());
+ table.setFirst(5);
+ table.setClientFirst(3);
+ assertEquals(8, table.getActualFirst());
+ }
+
+ /**
+ * Test method for {@link org.richfaces.component.UIExtendedDataTable#getActualRows()}.
+ */
+ @Test
+ public final void testGetActualRows() {
+ assertEquals(0, table.getActualRows());
+ table.setRows(5);
+ assertEquals(5, table.getActualRows());
+ table.setClientRows(3);
+ assertEquals(3, table.getActualRows());
+ table.setClientRows(8);
+ assertEquals(5, table.getActualRows());
+ }
+
+ /**
+ * Test method for {@link org.richfaces.component.UIExtendedDataTable#setFirst(int)}.
+ */
+ @Test
+ public final void testSetFirst() {
+ table.setClientFirst(3);
+ assertEquals(3, table.getClientFirst());
+ table.setFirst(3);
+ assertEquals(0, table.getClientFirst());
+ }
+
+ /**
+ * Test method for {@link org.richfaces.component.UIExtendedDataTable#walk(javax.faces.context.FacesContext,
+ * org.ajax4jsf.model.DataVisitor, org.ajax4jsf.model.Range, java.lang.Object)}.
+ */
+ @Test
+ public final void testWalkFacesContextDataVisitorRangeObject() {
+ final StringBuilder builder = new StringBuilder(5);
+ table.walk(facesContext, new DataVisitor() {
+ @Override
+ public DataVisitResult process(FacesContext context, Object rowKey, Object argument) {
+ table.setRowKey(rowKey);
+ builder.append(table.getRowData());
+ return DataVisitResult.CONTINUE;
+ }
+ }, new SequenceRange(2, 5), null);
+ assertEquals("23456", builder.toString());
+ }
+
+ /**
+ * Test method for {@link org.richfaces.component.UIExtendedDataTable#getClientFirst()}
+ * and {@link org.richfaces.component.UIExtendedDataTable#setClientFirst(int)}.
+ */
+ @Test
+ public final void testClientFirst() {
+ assertEquals(0, table.getClientFirst());
+ table.setClientFirst(3);
+ assertEquals(3, table.getClientFirst());
+ }
+
+ /**
+ * Test method for {@link org.richfaces.component.UIExtendedDataTable#getClientRows()}
+ * and {@link org.richfaces.component.UIExtendedDataTable#setClientRows(int)}.
+ */
+ @Test
+ public final void testClientRows() {
+ assertEquals(0, table.getClientRows());
+ table.setClientRows(3);
+ assertEquals(3, table.getClientRows());
+ }
+}
14 years, 5 months
JBoss Rich Faces SVN: r16985 - in root/core/trunk/impl/src: test/resources/javascript and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: pyaschenko
Date: 2010-05-11 09:17:39 -0400 (Tue, 11 May 2010)
New Revision: 16985
Modified:
root/core/trunk/impl/src/main/resources/META-INF/resources/richfaces-queue.js
root/core/trunk/impl/src/test/resources/javascript/richfaces-queue-qunit-clear.js
root/core/trunk/impl/src/test/resources/javascript/richfaces-queue-qunit-getSize.js
root/core/trunk/impl/src/test/resources/javascript/richfaces-queue-qunit-isEmpty.js
root/core/trunk/impl/src/test/resources/javascript/richfaces-queue-qunit-request.js
root/core/trunk/impl/src/test/resources/javascript/richfaces-queue-qunit-submitFirst.js
Log:
queue bug fix and tests fix
Modified: root/core/trunk/impl/src/main/resources/META-INF/resources/richfaces-queue.js
===================================================================
--- root/core/trunk/impl/src/main/resources/META-INF/resources/richfaces-queue.js 2010-05-11 13:04:45 UTC (rev 16984)
+++ root/core/trunk/impl/src/main/resources/META-INF/resources/richfaces-queue.js 2010-05-11 13:17:39 UTC (rev 16985)
@@ -56,16 +56,16 @@
var QueueEntry = function(queue, source, event, options) {
this.queue = queue;
this.source = source;
- this.options = options || {};
+ this.options = $.extend({}, options || {});
this.queueOptions = {}
var id;
// find default options for QueueEntry
- if (options.queueId) {
- if (defaultQueueOptions[options.queueId]) {
- id = options.queueId;
+ if (this.options.queueId) {
+ if (defaultQueueOptions[this.options.queueId]) {
+ id = this.options.queueId;
}
- delete options.queueId;
+ delete this.options.queueId;
} else {
var element = richfaces.getDomElement(source);
var form;
Modified: root/core/trunk/impl/src/test/resources/javascript/richfaces-queue-qunit-clear.js
===================================================================
--- root/core/trunk/impl/src/test/resources/javascript/richfaces-queue-qunit-clear.js 2010-05-11 13:04:45 UTC (rev 16984)
+++ root/core/trunk/impl/src/test/resources/javascript/richfaces-queue-qunit-clear.js 2010-05-11 13:17:39 UTC (rev 16985)
@@ -3,15 +3,17 @@
var element = document.getElementById("testDiv");
var event = {type:"testevent"};
- var options = {requestDelay:1000, param:"value"};
+ var options = {requestDelay:1000};
+ var opts = {queueId:"myQueue", param:"value"};
// queue.clear
test("RichFaces.queue.clear", function() {
expect(3);
+ RichFaces.queue.setQueueOptions(opts.queueId, options);
ok(RichFaces.queue.isEmpty(), "empty");
- jsf.ajax.request(element, event, options);
- jsf.ajax.request(element, event, options);
- jsf.ajax.request(element, event, options);
+ jsf.ajax.request(element, event, opts);
+ jsf.ajax.request(element, event, opts);
+ jsf.ajax.request(element, event, opts);
ok(!RichFaces.queue.isEmpty(), "not empty");
RichFaces.queue.clear();
ok(RichFaces.queue.isEmpty(), "empty");
Modified: root/core/trunk/impl/src/test/resources/javascript/richfaces-queue-qunit-getSize.js
===================================================================
--- root/core/trunk/impl/src/test/resources/javascript/richfaces-queue-qunit-getSize.js 2010-05-11 13:04:45 UTC (rev 16984)
+++ root/core/trunk/impl/src/test/resources/javascript/richfaces-queue-qunit-getSize.js 2010-05-11 13:17:39 UTC (rev 16985)
@@ -3,14 +3,16 @@
var element = document.getElementById("testDiv");
var event = {type:"testevent"};
- var options = {requestDelay:1000, param:"value"};
+ var options = {requestDelay:1000};
+ var opts = {queueId:"myQueue", param:"value"};
// queue.getSize
test("RichFaces.queue.getSize", function() {
expect(2);
+ RichFaces.queue.setQueueOptions(opts.queueId, options);
var size = RichFaces.queue.getSize();
equals(size, 0, "empty queue");
- jsf.ajax.request(element, event, options);
+ jsf.ajax.request(element, event, opts);
size = RichFaces.queue.getSize();
equals(size, 1, "not empty");
});
Modified: root/core/trunk/impl/src/test/resources/javascript/richfaces-queue-qunit-isEmpty.js
===================================================================
--- root/core/trunk/impl/src/test/resources/javascript/richfaces-queue-qunit-isEmpty.js 2010-05-11 13:04:45 UTC (rev 16984)
+++ root/core/trunk/impl/src/test/resources/javascript/richfaces-queue-qunit-isEmpty.js 2010-05-11 13:17:39 UTC (rev 16985)
@@ -3,14 +3,16 @@
var element = document.getElementById("testDiv");
var event = {type:"testevent"};
- var options = {requestDelay:1000, param:"value"};
+ var options = {requestDelay:1000};
+ var opts = {queueId:"myQueue", param:"value"};
// queue.isEmpty
test("RichFaces.queue.isEmpty", function() {
expect(2);
+ RichFaces.queue.setQueueOptions(opts.queueId, options);
var size = RichFaces.queue.isEmpty();
ok(RichFaces.queue.isEmpty(), "empty queue");
- jsf.ajax.request(element, event, options);
+ jsf.ajax.request(element, event, opts);
size = RichFaces.queue.isEmpty();
ok(!RichFaces.queue.isEmpty(), "not empty");
});
Modified: root/core/trunk/impl/src/test/resources/javascript/richfaces-queue-qunit-request.js
===================================================================
--- root/core/trunk/impl/src/test/resources/javascript/richfaces-queue-qunit-request.js 2010-05-11 13:04:45 UTC (rev 16984)
+++ root/core/trunk/impl/src/test/resources/javascript/richfaces-queue-qunit-request.js 2010-05-11 13:17:39 UTC (rev 16985)
@@ -3,7 +3,8 @@
var element = document.getElementById("testDiv");
var event = {type:"testevent"};
- var options = {requestDelay:1000, param:"value"};
+ var options = {requestDelay:1000};
+ var opts = {queueId:"myQueue", param:"value"};
var body = document.getElementsByTagName("body")[0];
@@ -38,6 +39,7 @@
//jsf.ajax.request
test("jsf.ajax.request - ", function() {
expect(2);
+ RichFaces.queue.setQueueOptions(opts.queueId, options);
RichFaces.ajax.jsfRequest = function (source, event, options) {
for (var i=0; i<jsf.ajax.eventHandlers.length;i++) {
Modified: root/core/trunk/impl/src/test/resources/javascript/richfaces-queue-qunit-submitFirst.js
===================================================================
--- root/core/trunk/impl/src/test/resources/javascript/richfaces-queue-qunit-submitFirst.js 2010-05-11 13:04:45 UTC (rev 16984)
+++ root/core/trunk/impl/src/test/resources/javascript/richfaces-queue-qunit-submitFirst.js 2010-05-11 13:17:39 UTC (rev 16985)
@@ -3,12 +3,14 @@
var element = document.getElementById("testDiv");
var event = {type:"testevent"};
- var options = {requestDelay: 1000, param:"value"};
+ var options = {requestDelay: 1000};
+ var opts = {queueId:"myQueue", param:"value"};
// queue.submitFirst
test("RichFaces.queue.submitFirst", function() {
expect(2);
- jsf.ajax.request(element, event, options);
+ RichFaces.queue.setQueueOptions(opts.queueId, options);
+ jsf.ajax.request(element, event, opts);
equals(RichFaces.queue.getSize(), 1, "one queueEntry is waiting");
RichFaces.queue.submitFirst();
equals(RichFaces.queue.getSize(), 0, "empty after submitFirst()");
14 years, 5 months
JBoss Rich Faces SVN: r16984 - in root: ui/core/trunk/api/src/main/config and 2 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: Alex.Kolonitsky
Date: 2010-05-11 09:04:45 -0400 (Tue, 11 May 2010)
New Revision: 16984
Removed:
root/ui/core/trunk/api/src/main/config/faces-config.xml
root/ui/core/trunk/api/src/main/resources/META-INF/a4j.taglib.xml
Modified:
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/RendererAdapter.java
root/ui/core/trunk/api/src/main/java/org/richfaces/component/AbstractPush.java
Log:
fix core-ui generation
1) push tag handler
2) absence render class in faces-config.xml
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/RendererAdapter.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/RendererAdapter.java 2010-05-11 13:04:39 UTC (rev 16983)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/RendererAdapter.java 2010-05-11 13:04:45 UTC (rev 16984)
@@ -23,8 +23,10 @@
package org.richfaces.cdk.xmlconfig.model;
+import org.richfaces.cdk.model.ClassName;
import org.richfaces.cdk.model.RendererModel;
import org.richfaces.cdk.model.RendererModel.Type;
+import org.richfaces.cdk.util.Strings;
/**
* <p class="changed_added_4_0">
@@ -46,8 +48,17 @@
@Override
protected void postMarshal(RendererModel model, RendererBean bean) {
+ ClassName baseClass = model.getBaseClass();
+ ClassName rendererClass = model.getRendererClass();
+ if (!model.isGenerate() && !isEmpty(baseClass) && isEmpty(rendererClass)) {
+ bean.setRendererClass(baseClass);
+ }
}
+ private static boolean isEmpty(ClassName className) {
+ return className == null || Strings.isEmpty(className.getName());
+ }
+
@Override
protected void postUnmarshal(RendererBean bean, RendererModel model) {
// Copy type.
Deleted: root/ui/core/trunk/api/src/main/config/faces-config.xml
===================================================================
--- root/ui/core/trunk/api/src/main/config/faces-config.xml 2010-05-11 13:04:39 UTC (rev 16983)
+++ root/ui/core/trunk/api/src/main/config/faces-config.xml 2010-05-11 13:04:45 UTC (rev 16984)
@@ -1,104 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-
-<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
- version="2.0">
-
- <component>
- <component-type>org.richfaces.Function</component-type>
- <component-class>org.richfaces.component.html.HtmlAjaxFunction</component-class>
- <component-extension>
- <cdk:generate xmlns:cdk="http://richfaces.org/cdk/extensions" >true</cdk:generate>
- </component-extension>
- </component>
- <component>
- <component-type>org.richfaces.Status</component-type>
- <component-class>org.richfaces.component.html.HtmlAjaxStatus</component-class>
- <component-extension>
- <cdk:generate xmlns:cdk="http://richfaces.org/cdk/extensions" >true</cdk:generate>
- </component-extension>
- </component>
- <component>
- <component-type>org.richfaces.Queue</component-type>
- <component-class>org.richfaces.component.html.HtmlQueue</component-class>
- <component-extension>
- <cdk:generate xmlns:cdk="http://richfaces.org/cdk/extensions" >true</cdk:generate>
- </component-extension>
- </component>
- <component>
- <component-type>org.richfaces.CommandLink</component-type>
- <component-class>org.richfaces.component.html.HtmlCommandLink</component-class>
- <component-extension>
- <cdk:generate xmlns:cdk="http://richfaces.org/cdk/extensions" >true</cdk:generate>
- </component-extension>
- </component>
- <component>
- <component-type>org.richfaces.CommandButton</component-type>
- <component-class>org.richfaces.component.html.HtmlCommandButton</component-class>
- <component-extension>
- <cdk:generate xmlns:cdk="http://richfaces.org/cdk/extensions" >true</cdk:generate>
- </component-extension>
- </component>
- <component>
- <component-type>org.richfaces.MediaOutput</component-type>
- <component-class>org.richfaces.component.html.HtmlMediaOutput</component-class>
- <component-extension>
- <cdk:generate xmlns:cdk="http://richfaces.org/cdk/extensions" >true</cdk:generate>
- </component-extension>
- </component>
- <component>
- <component-type>org.richfaces.Push</component-type>
- <component-class>org.richfaces.component.html.HtmlPush</component-class>
- <component-extension>
- <cdk:generate xmlns:cdk="http://richfaces.org/cdk/extensions" >true</cdk:generate>
- </component-extension>
- </component>
- <component>
- <component-type>org.richfaces.OutputPanel</component-type>
- <component-class>org.richfaces.component.html.HtmlOutputPanel</component-class>
- <component-extension>
- <cdk:generate xmlns:cdk="http://richfaces.org/cdk/extensions" >true</cdk:generate>
- </component-extension>
- </component>
-
- <component>
- <component-type>org.richfaces.AjaxLog</component-type>
- <component-class>org.richfaces.component.html.HtmlAjaxLog</component-class>
- <component-extension>
- <cdk:generate xmlns:cdk="http://richfaces.org/cdk/extensions" >true</cdk:generate>
- </component-extension>
- </component>
-
- <render-kit>
- <render-kit-id>HTML_BASIC</render-kit-id>
- <renderer>
- <component-family>org.richfaces.Push</component-family>
- <renderer-type>org.richfaces.PushRenderer</renderer-type>
- <renderer-class>org.richfaces.renderkit.html.AjaxPushRenderer</renderer-class>
- </renderer>
- <renderer>
- <component-family>org.richfaces.MediaOutput</component-family>
- <renderer-type>org.richfaces.MediaOutputRenderer</renderer-type>
- <renderer-class>org.richfaces.renderkit.html.MediaOutputRenderer</renderer-class>
- </renderer>
- <renderer>
- <component-family>javax.faces.Panel</component-family>
- <renderer-type>org.richfaces.OutputPanelRenderer</renderer-type>
- <renderer-class>org.richfaces.renderkit.html.AjaxOutputPanelRenderer</renderer-class>
- </renderer>
- <renderer>
- <component-family>org.richfaces.Status</component-family>
- <renderer-type>org.richfaces.StatusRenderer</renderer-type>
- <renderer-class>org.richfaces.renderkit.html.AjaxStatusRenderer</renderer-class>
- </renderer>
- <renderer>
- <component-family>org.richfaces.Queue</component-family>
- <renderer-type>org.richfaces.QueueRenderer</renderer-type>
- <renderer-class>org.richfaces.renderkit.html.QueueRenderer</renderer-class>
- </renderer>
- <renderer>
- <component-family>javax.faces.Data</component-family>
- <renderer-type>org.richfaces.RepeatRenderer</renderer-type>
- <renderer-class>org.richfaces.renderkit.html.RepeatRenderer</renderer-class>
- </renderer>
- </render-kit>
-</faces-config>
\ No newline at end of file
Modified: root/ui/core/trunk/api/src/main/java/org/richfaces/component/AbstractPush.java
===================================================================
--- root/ui/core/trunk/api/src/main/java/org/richfaces/component/AbstractPush.java 2010-05-11 13:04:39 UTC (rev 16983)
+++ root/ui/core/trunk/api/src/main/java/org/richfaces/component/AbstractPush.java 2010-05-11 13:04:45 UTC (rev 16984)
@@ -39,6 +39,7 @@
import org.richfaces.cdk.annotations.JsfComponent;
import org.richfaces.cdk.annotations.Signature;
import org.richfaces.cdk.annotations.Tag;
+import org.richfaces.cdk.annotations.TagType;
/**
* Component for periodically call AJAX events on server ( poll actions )
@@ -46,7 +47,7 @@
*
*/
@JsfComponent(
- tag = @Tag(generate = true, handler = "org.richfaces.view.facelets.html.AjaxPushHandler")
+ tag = @Tag(generate = true, handler = "org.richfaces.view.facelets.html.AjaxPushHandler", type = TagType.Facelets)
)
public abstract class AbstractPush extends UICommand {
Deleted: root/ui/core/trunk/api/src/main/resources/META-INF/a4j.taglib.xml
===================================================================
--- root/ui/core/trunk/api/src/main/resources/META-INF/a4j.taglib.xml 2010-05-11 13:04:39 UTC (rev 16983)
+++ root/ui/core/trunk/api/src/main/resources/META-INF/a4j.taglib.xml 2010-05-11 13:04:45 UTC (rev 16984)
@@ -1,99 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<facelet-taglib xmlns="http://java.sun.com/xml/ns/javaee" version="2.0" id="a4j">
- <namespace>http://richfaces.org/a4j</namespace>
- <tag>
- <tag-name>jsFunction</tag-name>
- <component>
- <component-type>org.richfaces.Function</component-type>
- <renderer-type>org.richfaces.FunctionRenderer</renderer-type>
- </component>
-
- </tag>
- <tag>
- <tag-name>status</tag-name>
- <component>
- <component-type>org.richfaces.Status</component-type>
- <renderer-type>org.richfaces.StatusRenderer</renderer-type>
- </component>
- </tag>
- <tag>
- <tag-name>queue</tag-name>
- <component>
- <component-type>org.richfaces.Queue</component-type>
- <renderer-type>org.richfaces.QueueRenderer</renderer-type>
- </component>
- </tag>
- <tag>
- <tag-name>commandLink</tag-name>
- <component>
- <component-type>org.richfaces.CommandLink</component-type>
- <renderer-type>org.richfaces.CommandLinkRenderer</renderer-type>
- </component>
- </tag>
- <tag>
- <tag-name>commandButton</tag-name>
- <component>
- <component-type>org.richfaces.CommandButton</component-type>
- <renderer-type>org.richfaces.CommandButtonRenderer</renderer-type>
- </component>
- </tag>
- <tag>
- <tag-name>repeat</tag-name>
- <component>
- <component-type>org.richfaces.Repeat</component-type>
- <renderer-type>org.richfaces.RepeatRenderer</renderer-type>
- </component>
- </tag>
- <tag>
- <tag-name>mediaOutput</tag-name>
- <component>
- <component-type>org.richfaces.MediaOutput</component-type>
- <renderer-type>org.richfaces.MediaOutputRenderer</renderer-type>
- <handler-class>org.richfaces.view.facelets.html.MediaOutputHandler</handler-class>
- </component>
-
- </tag>
- <tag>
- <tag-name>log</tag-name>
- <component>
- <component-type>org.richfaces.AjaxLog</component-type>
- <renderer-type>org.richfaces.AjaxLogRenderer</renderer-type>
- </component>
- </tag>
- <tag>
- <tag-name>push</tag-name>
- <component>
- <component-type>org.richfaces.Push</component-type>
- <renderer-type>org.richfaces.PushRenderer</renderer-type>
- <handler-class>org.richfaces.view.facelets.html.AjaxPushHandler</handler-class>
- </component>
- </tag>
- <tag>
- <tag-name>outputPanel</tag-name>
- <component>
- <component-type>org.richfaces.OutputPanel</component-type>
- <renderer-type>org.richfaces.OutputPanelRenderer</renderer-type>
- </component>
- </tag>
- <tag>
- <tag-name>region</tag-name>
- <component>
- <component-type>org.richfaces.Region</component-type>
- </component>
- </tag>
- <tag>
- <tag-name>ajax</tag-name>
- <behavior>
- <behavior-id>org.ajax4jsf.behavior.Ajax</behavior-id>
- <handler-class>org.richfaces.view.facelets.html.AjaxHandler</handler-class>
- </behavior>
- </tag>
- <tag>
- <tag-name>attachQueue</tag-name>
- <component>
- <component-type>org.richfaces.AttachQueue</component-type>
- <handler-class>org.richfaces.view.facelets.html.AttachQueueHandler</handler-class>
- </component>
- </tag>
-</facelet-taglib>
14 years, 5 months
JBoss Rich Faces SVN: r16983 - root/ui-sandbox/tables/trunk/ui/src/main/resources/META-INF/resources.
by richfaces-svn-commits@lists.jboss.org
Author: abelevich
Date: 2010-05-11 09:04:39 -0400 (Tue, 11 May 2010)
New Revision: 16983
Modified:
root/ui-sandbox/tables/trunk/ui/src/main/resources/META-INF/resources/datatable.js
Log:
fix func def
Modified: root/ui-sandbox/tables/trunk/ui/src/main/resources/META-INF/resources/datatable.js
===================================================================
--- root/ui-sandbox/tables/trunk/ui/src/main/resources/META-INF/resources/datatable.js 2010-05-11 11:48:04 UTC (rev 16982)
+++ root/ui-sandbox/tables/trunk/ui/src/main/resources/META-INF/resources/datatable.js 2010-05-11 13:04:39 UTC (rev 16983)
@@ -58,7 +58,7 @@
},
- collapseAllSubTables: function {
+ collapseAllSubTables: function() {
}
}
14 years, 5 months
JBoss Rich Faces SVN: r16982 - root.
by richfaces-svn-commits@lists.jboss.org
Author: Alex.Kolonitsky
Date: 2010-05-11 07:48:04 -0400 (Tue, 11 May 2010)
New Revision: 16982
Modified:
root/pom.xml
Log:
change richfaces build structure
https://community.jboss.org/wiki/RichFaces40BuildDirectoryStructure
restructured ui-sandbox
Modified: root/pom.xml
===================================================================
--- root/pom.xml 2010-05-11 00:02:58 UTC (rev 16981)
+++ root/pom.xml 2010-05-11 11:48:04 UTC (rev 16982)
@@ -72,7 +72,7 @@
<profile>
<id>sandbox</id>
<modules>
- <module>ui-sandbox/${ui-sandbox.svn.dir}</module>
+ <module>ui-sandbox</module>
<module>examples-sandbox/${examples-sandbox.svn.dir}</module>
</modules>
</profile>
14 years, 5 months
JBoss Rich Faces SVN: r16981 - root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model.
by richfaces-svn-commits@lists.jboss.org
Author: alexsmirnov
Date: 2010-05-10 20:02:58 -0400 (Mon, 10 May 2010)
New Revision: 16981
Removed:
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/TagLibrary.java
Modified:
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/ComponentLibrary.java
Log:
CODING IN PROGRESS - issue RF-7736: Library model verifier.
https://jira.jboss.org/jira/browse/RF-7736
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/ComponentLibrary.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/ComponentLibrary.java 2010-05-10 23:48:39 UTC (rev 16980)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/ComponentLibrary.java 2010-05-11 00:02:58 UTC (rev 16981)
@@ -91,18 +91,10 @@
/**
* <p class="changed_added_4_0">
- * Tag library with references of all used tags
* </p>
- */
- private final TagLibrary tagLibrary;
-
- /**
- * <p class="changed_added_4_0">
- * </p>
*
*/
public ComponentLibrary() {
- this.tagLibrary = new TagLibrary();
}
public void accept(Visitor visitor) {
@@ -286,18 +278,6 @@
* <p class="changed_added_4_0">
* </p>
*
- * @return the tagLibrary
- */
- public TagLibrary getTagLibrary() {
- return tagLibrary;
- }
-
- // Utility methods.
-
- /**
- * <p class="changed_added_4_0">
- * </p>
- *
* @return the extension
*/
public ConfigExtension getExtension() {
Deleted: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/TagLibrary.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/TagLibrary.java 2010-05-10 23:48:39 UTC (rev 16980)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/TagLibrary.java 2010-05-11 00:02:58 UTC (rev 16981)
@@ -1,84 +0,0 @@
-/*
- * $Id$
- *
- * License Agreement.
- *
- * Rich Faces - Natural Ajax for Java Server Faces (JSF)
- *
- * Copyright (C) 2007 Exadel, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1 as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-package org.richfaces.cdk.model;
-
-import java.io.Serializable;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * <p class="changed_added_4_0">That bean represents whole tag library.</p>
- *
- * @author asmirnov(a)exadel.com
- */
-public class TagLibrary implements Serializable {
-
- private static final long serialVersionUID = -3508492744326729833L;
-
- /**
- * <p class="changed_added_4_0">Collection of tags associated with that library</p>
- */
- private final List<TagModel> tags = new ArrayList<TagModel>();
-
- private String shortName;
-
- private URI uri;
- /**
- * <p class="changed_added_4_0"></p>
- *
- * @return the tags
- */
- public List<TagModel> getTags() {
- return tags;
- }
- /**
- * <p class="changed_added_4_0"></p>
- * @return the shortName
- */
- public String getShortName() {
- return this.shortName;
- }
- /**
- * <p class="changed_added_4_0"></p>
- * @param shortName the shortName to set
- */
- public void setShortName(String shortName) {
- this.shortName = shortName;
- }
- /**
- * <p class="changed_added_4_0"></p>
- * @return the uri
- */
- public URI getUri() {
- return this.uri;
- }
- /**
- * <p class="changed_added_4_0"></p>
- * @param uri the uri to set
- */
- public void setUri(URI uri) {
- this.uri = uri;
- }
-}
14 years, 5 months
JBoss Rich Faces SVN: r16980 - in root/cdk/trunk/plugins: generator/src/main/java/org/richfaces/cdk and 8 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: alexsmirnov
Date: 2010-05-10 19:48:39 -0400 (Mon, 10 May 2010)
New Revision: 16980
Removed:
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/MapEntry.java
Modified:
root/cdk/trunk/plugins/annotations/src/main/java/org/richfaces/cdk/annotations/Tag.java
root/cdk/trunk/plugins/annotations/src/main/java/org/richfaces/cdk/annotations/TagType.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/NamingConventions.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/RichFacesConventions.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/processors/ProcessorBase.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/ComponentLibrary.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/RenderKitModel.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/validator/ValidatorImpl.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/templatecompiler/RendererClassGenerator.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/FacesConfigParser.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/AdapterBase.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/FacesConfigAdapter.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/FacesConfigBean.java
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/RenderKitBean.java
root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/templatecompiler/RendererTemplateParserTest.java
root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/xmlconfig/FacesConfigTest.java
Log:
CODING IN PROGRESS - issue RF-7736: Library model verifier.
https://jira.jboss.org/jira/browse/RF-7736
Modified: root/cdk/trunk/plugins/annotations/src/main/java/org/richfaces/cdk/annotations/Tag.java
===================================================================
--- root/cdk/trunk/plugins/annotations/src/main/java/org/richfaces/cdk/annotations/Tag.java 2010-05-10 19:40:53 UTC (rev 16979)
+++ root/cdk/trunk/plugins/annotations/src/main/java/org/richfaces/cdk/annotations/Tag.java 2010-05-10 23:48:39 UTC (rev 16980)
@@ -46,7 +46,7 @@
*/
public String name() default "";
- public TagType type() default TagType.All;
+ public TagType type() default TagType.None;
public String handler() default "";
Modified: root/cdk/trunk/plugins/annotations/src/main/java/org/richfaces/cdk/annotations/TagType.java
===================================================================
--- root/cdk/trunk/plugins/annotations/src/main/java/org/richfaces/cdk/annotations/TagType.java 2010-05-10 19:40:53 UTC (rev 16979)
+++ root/cdk/trunk/plugins/annotations/src/main/java/org/richfaces/cdk/annotations/TagType.java 2010-05-10 23:48:39 UTC (rev 16980)
@@ -27,5 +27,17 @@
* @since Feb 11, 2010
*/
public enum TagType {
- Jsp, Facelets, All
+ /**
+ * <p class="changed_added_4_0">Do not generate any tags, this is default value for {@link Tag#type()} annotation.</p>
+ */
+ None, /**
+ * <p class="changed_added_4_0">Defines JSP tag.</p>
+ */
+ Jsp, /**
+ * <p class="changed_added_4_0">Defines Facelets tag.</p>
+ */
+ Facelets, /**
+ * <p class="changed_added_4_0">Enforces tag annotation to generate all known tag types</p>
+ */
+ All
}
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/NamingConventions.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/NamingConventions.java 2010-05-10 19:40:53 UTC (rev 16979)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/NamingConventions.java 2010-05-10 23:48:39 UTC (rev 16980)
@@ -53,7 +53,6 @@
*/
public FacesId inferComponentType(ClassName componentClass) throws InvalidNameException;
- public FacesId inferComponentType(String componentFamily) throws InvalidNameException;
/**
* <p class="changed_added_4_0">Calculates concrete component class from explicit value or type.</p>
@@ -77,6 +76,13 @@
*/
public String inferUIComponentFamily(FacesId componentType) throws InvalidNameException;
+ /**
+ * <p class="changed_added_4_0"></p>
+ * @param componentType
+ * @param markup
+ * @return
+ * @throws InvalidNameException
+ */
public ClassName inferTagHandlerClass(FacesId componentType, String markup) throws InvalidNameException;
public String inferTagName(FacesId componentType) throws InvalidNameException;
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/RichFacesConventions.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/RichFacesConventions.java 2010-05-10 19:40:53 UTC (rev 16979)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/RichFacesConventions.java 2010-05-10 23:48:39 UTC (rev 16980)
@@ -78,11 +78,6 @@
}
@Override
- public FacesId inferComponentType(String componentFamily) throws InvalidNameException {
- return new FacesId(componentFamily);
- }
-
- @Override
public ClassName inferUIComponentClass(FacesId componentType) throws InvalidNameException {
if (null == componentType) {
throw new IllegalArgumentException();
@@ -98,10 +93,6 @@
return new ClassName(name.toString());
}
- private boolean isAbstract(String baseClass, boolean baseClassIsAbstract) {
- return baseClassIsAbstract || baseClass.startsWith(ABSTRACT) || baseClass.endsWith(BASE);
- }
-
@Override
public String inferUIComponentFamily(FacesId componentType) {
if (null == componentType) {
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/processors/ProcessorBase.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/processors/ProcessorBase.java 2010-05-10 19:40:53 UTC (rev 16979)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/apt/processors/ProcessorBase.java 2010-05-10 23:48:39 UTC (rev 16980)
@@ -4,6 +4,7 @@
import com.google.inject.Provider;
import org.richfaces.cdk.annotations.Description;
import org.richfaces.cdk.annotations.Tag;
+import org.richfaces.cdk.annotations.TagType;
import org.richfaces.cdk.apt.SourceUtils;
import org.richfaces.cdk.model.BehaviorModel;
import org.richfaces.cdk.model.ClassName;
@@ -49,19 +50,22 @@
protected void setTagInfo(Tag tag, ModelElementBase model) {
TagModel tagModel = new TagModel();
- String name = tag.name();
- if (Strings.isEmpty(name)) {
- name = getNamingConventions().inferTagName(model.getId());
+ if (!TagType.None.equals(tag.type())) {
+ String name = tag.name();
+ if (Strings.isEmpty(name)) {
+ name = getNamingConventions().inferTagName(model.getId());
+ }
+ tagModel.setName(name);
+ tagModel.setType(tag.type());
+ tagModel.setTargetClass(ClassName.parseName(tag.handler()));
+ tagModel.setBaseClass(ClassName.parseName(getBaseClass(tag, model)));
+ tagModel.setGenerate(tag.generate());
+
+ // TODO - move refference integrity to model.
+ tagModel.setModel(model);
+ model.getTags().add(tagModel);
+
}
- tagModel.setName(name);
- tagModel.setType(tag.type());
- tagModel.setTargetClass(ClassName.parseName(tag.handler()));
- tagModel.setBaseClass(ClassName.parseName(getBaseClass(tag, model)));
- tagModel.setGenerate(tag.generate());
-
- // TODO - move refference integrity to model.
- tagModel.setModel(model);
- model.getTags().add(tagModel);
}
private String getBaseClass(Tag tag, ModelElementBase model) {
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/ComponentLibrary.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/ComponentLibrary.java 2010-05-10 19:40:53 UTC (rev 16979)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/ComponentLibrary.java 2010-05-10 23:48:39 UTC (rev 16980)
@@ -21,37 +21,33 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
-
package org.richfaces.cdk.model;
-import com.google.inject.Singleton;
-import org.richfaces.cdk.model.RenderKitModel.Id;
-import org.richfaces.cdk.util.Strings;
-
import java.beans.IntrospectionException;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.io.Serializable;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
-import java.util.Map;
import java.util.NoSuchElementException;
-import java.util.ArrayList;
+import org.richfaces.cdk.util.Strings;
+
+import com.google.inject.Singleton;
+
/**
* <p class="changed_added_4_0">
* That class contains model of all JSF components asscoiated with that project
* </p>
* <p>
- * To keep consistence of library references, only library methods are allowed
- * to components manipulations.
+ * To keep consistence of library references, only library methods are allowed to components manipulations.
* </p>
- *
+ *
* @author asmirnov(a)exadel.com
- *
+ *
*/
@Singleton
public class ComponentLibrary implements Serializable, Extensible<ConfigExtension>, Trackable, Visitable {
@@ -63,20 +59,20 @@
"http://java.sun.com/xml/ns/javaee/web-facelettaglibrary_2_0.xsd";
private static final long serialVersionUID = -6055670836731899832L;
- private final ModelCollection<ComponentModel> components = ModelCollection.<ComponentModel>create();
+ private final ModelCollection<ComponentModel> components = ModelCollection.<ComponentModel> create();
/**
* <p class="changed_added_4_0">
* JSF renderer associated with that library
* </p>
*/
- private final ModelMap<RenderKitModel.Id, RenderKitModel> renderKits = ModelMap.<RenderKitModel.Id, RenderKitModel>create();
+ private final ModelCollection<RenderKitModel> renderKits = ModelCollection.<RenderKitModel> create();
- private final ModelCollection<ConverterModel> converters = ModelCollection.<ConverterModel>create();
+ private final ModelCollection<ConverterModel> converters = ModelCollection.<ConverterModel> create();
- private final ModelCollection<ValidatorModel> validators = ModelCollection.<ValidatorModel>create();
+ private final ModelCollection<ValidatorModel> validators = ModelCollection.<ValidatorModel> create();
- private final ModelCollection<ListenerModel> listeners = ModelCollection.<ListenerModel>create();
+ private final ModelCollection<ListenerModel> listeners = ModelCollection.<ListenerModel> create();
private long lastModified = Long.MIN_VALUE;
@@ -85,12 +81,12 @@
* Application level events fired by the component
* </p>
*/
- private final ModelCollection<EventModel> events = ModelCollection.<EventModel>create();
+ private final ModelCollection<EventModel> events = ModelCollection.<EventModel> create();
- private final ModelCollection<BehaviorModel> behaviors = ModelCollection.<BehaviorModel>create();
+ private final ModelCollection<BehaviorModel> behaviors = ModelCollection.<BehaviorModel> create();
private ConfigExtension extension;
-
+
private boolean metadataComplete;
/**
@@ -101,8 +97,9 @@
private final TagLibrary tagLibrary;
/**
- * <p class="changed_added_4_0"></p>
- *
+ * <p class="changed_added_4_0">
+ * </p>
+ *
*/
public ComponentLibrary() {
this.tagLibrary = new TagLibrary();
@@ -111,7 +108,7 @@
public void accept(Visitor visitor) {
visitor.visitComponentLibrary(this);
- visitMap(visitor, renderKits);
+ renderKits.accept(visitor);
components.accept(visitor);
converters.accept(visitor);
validators.accept(visitor);
@@ -120,27 +117,27 @@
behaviors.accept(visitor);
}
- private void visitMap(Visitor visitor, ModelMap<Id, RenderKitModel> modelMap) {
- for (RenderKitModel renderKit : modelMap.values()) {
- renderKit.accept(visitor);
- }
- }
-
/**
* <p class="changed_added_4_0">
* </p>
- *
+ *
* @param renderKitId
* @return
*/
public RenderKitModel addRenderKit(String renderKitId) {
RenderKitModel.Id renderKitType = new RenderKitModel.Id(renderKitId);
- RenderKitModel renderKit = renderKits.get(renderKitType);
+ RenderKitModel renderKit = addRenderKit(renderKitType);
+ return renderKit;
+ }
+ public RenderKitModel addRenderKit(RenderKitModel.Id renderKitType) {
+ RenderKitModel renderKit = getRenderKit(renderKitType);
+
if (null == renderKit) {
renderKit = new RenderKitModel();
- renderKits.put(renderKitType, renderKit);
+ renderKit.setId(renderKitType);
+ renderKits.add(renderKit);
}
return renderKit;
}
@@ -148,7 +145,7 @@
/**
* <p class="changed_added_4_0">
* </p>
- *
+ *
* @return the components
*/
public Collection<ComponentModel> getComponents() {
@@ -171,23 +168,26 @@
/**
* <p class="changed_added_4_0">
* </p>
- *
+ *
* @return the renderKits
*/
- public Map<Id, RenderKitModel> getRenderKits() {
+ public Collection<RenderKitModel> getRenderKits() {
return renderKits;
}
public RenderKitModel getRenderKit(RenderKitModel.Id id) {
- return renderKits.get(id);
+ if (null != id) {
+ for (RenderKitModel renderKit : renderKits) {
+ if (id.equals(renderKit.getId())) {
+ return renderKit;
+ }
+ }
+ }
+ return null;
}
public void addRenderer(RenderKitModel.Id renderKitId, RendererModel rendererModel) {
- RenderKitModel renderKit = this.renderKits.get(renderKitId);
- if (renderKit == null) {
- renderKit = new RenderKitModel();
- this.renderKits.put(renderKitId, renderKit);
- }
+ RenderKitModel renderKit = addRenderKit(renderKitId);
renderKit.getRenderers().add(rendererModel);
}
@@ -202,7 +202,7 @@
}
List<RendererModel> res = new ArrayList<RendererModel>();
- for (RenderKitModel renderKitModel : renderKits.values()) {
+ for (RenderKitModel renderKitModel : renderKits) {
for (RendererModel rendererModel : renderKitModel.getRenderers()) {
if (componentFamily.equals(rendererModel.getFamily())) {
res.add(rendererModel);
@@ -235,7 +235,7 @@
/**
* <p class="changed_added_4_0">
* </p>
- *
+ *
* @return the converters
*/
public Collection<ConverterModel> getConverters() {
@@ -245,7 +245,7 @@
/**
* <p class="changed_added_4_0">
* </p>
- *
+ *
* @return the validators
*/
public Collection<ValidatorModel> getValidators() {
@@ -255,7 +255,7 @@
/**
* <p class="changed_added_4_0">
* </p>
- *
+ *
* @return the behaviors
*/
public Collection<BehaviorModel> getBehaviors() {
@@ -265,7 +265,7 @@
/**
* <p class="changed_added_4_0">
* </p>
- *
+ *
* @return the listeners
*/
public Collection<ListenerModel> getListeners() {
@@ -273,7 +273,9 @@
}
/**
- * <p class="changed_added_4_0"></p>
+ * <p class="changed_added_4_0">
+ * </p>
+ *
* @return the events
*/
public Collection<EventModel> getEvents() {
@@ -283,18 +285,19 @@
/**
* <p class="changed_added_4_0">
* </p>
- *
+ *
* @return the tagLibrary
*/
public TagLibrary getTagLibrary() {
return tagLibrary;
}
-
// Utility methods.
/**
- * <p class="changed_added_4_0"></p>
+ * <p class="changed_added_4_0">
+ * </p>
+ *
* @return the extension
*/
public ConfigExtension getExtension() {
@@ -302,15 +305,20 @@
}
/**
- * <p class="changed_added_4_0"></p>
- * @param extension the extension to set
+ * <p class="changed_added_4_0">
+ * </p>
+ *
+ * @param extension
+ * the extension to set
*/
public void setExtension(ConfigExtension extension) {
this.extension = extension;
}
/**
- * <p class="changed_added_4_0"></p>
+ * <p class="changed_added_4_0">
+ * </p>
+ *
* @return the metadataComplete
*/
public boolean isMetadataComplete() {
@@ -318,8 +326,11 @@
}
/**
- * <p class="changed_added_4_0"></p>
- * @param metadataComplete the metadataComplete to set
+ * <p class="changed_added_4_0">
+ * </p>
+ *
+ * @param metadataComplete
+ * the metadataComplete to set
*/
public void setMetadataComplete(boolean metadataComplete) {
this.metadataComplete = metadataComplete;
@@ -336,7 +347,7 @@
try {
// TODO - lookup for equivalent element in target collection.
- // find(target, element.getKey());
+ // find(target, element.getKey());
} catch (NoSuchElementException e) {
// TODO: handle exception
}
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/RenderKitModel.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/RenderKitModel.java 2010-05-10 19:40:53 UTC (rev 16979)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/RenderKitModel.java 2010-05-10 23:48:39 UTC (rev 16980)
@@ -25,9 +25,10 @@
package org.richfaces.cdk.model;
-import javax.faces.render.RenderKitFactory;
import java.util.Collection;
+import javax.faces.render.RenderKitFactory;
+
/**
* <p class="changed_added_4_0"></p>
* @author asmirnov(a)exadel.com
@@ -40,12 +41,30 @@
private final ModelCollection<BehaviorRenderer> behaviorRenderers = ModelCollection.<BehaviorRenderer>create();
private ClassName renderKitClass;
+
+ private Id id;
public RenderKitModel() {
}
/**
* <p class="changed_added_4_0"></p>
+ * @return the id
+ */
+ public Id getId() {
+ return this.id;
+ }
+
+ /**
+ * <p class="changed_added_4_0"></p>
+ * @param id the id to set
+ */
+ public void setId(Id id) {
+ this.id = id;
+ }
+
+ /**
+ * <p class="changed_added_4_0"></p>
* @return the renderKitClass
*/
@Merge
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/validator/ValidatorImpl.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/validator/ValidatorImpl.java 2010-05-10 19:40:53 UTC (rev 16979)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/model/validator/ValidatorImpl.java 2010-05-10 23:48:39 UTC (rev 16980)
@@ -128,9 +128,8 @@
protected void verifyRenderers(ComponentLibrary library) {
- for (RenderKitModel.Id renderKitId : library.getRenderKits().keySet()) {
+ for (RenderKitModel renderKit : library.getRenderKits()) {
// Check render kit name and class.
- RenderKitModel renderKit = library.getRenderKits().get(renderKitId);
for (RendererModel renderer : renderKit.getRenderers()) {
vefifyRenderer(library, renderer);
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/templatecompiler/RendererClassGenerator.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/templatecompiler/RendererClassGenerator.java 2010-05-10 19:40:53 UTC (rev 16979)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/templatecompiler/RendererClassGenerator.java 2010-05-10 23:48:39 UTC (rev 16980)
@@ -88,7 +88,7 @@
*/
@Override
public void render() throws CdkException {
- for (RenderKitModel renderKit : library.getRenderKits().values()) {
+ for (RenderKitModel renderKit : library.getRenderKits()) {
for (RendererModel renderer : renderKit.getRenderers()) {
Template template = renderer.getTemplate();
if (null != template) {
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/FacesConfigParser.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/FacesConfigParser.java 2010-05-10 19:40:53 UTC (rev 16979)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/FacesConfigParser.java 2010-05-10 23:48:39 UTC (rev 16980)
@@ -69,7 +69,7 @@
if (null != unmarshal) {
ComponentLibrary facesConfig = ADAPTER.unmarshal(unmarshal);
library.getComponents().addAll(facesConfig.getComponents());
- library.getRenderKits().putAll(facesConfig.getRenderKits());
+ library.getRenderKits().addAll(facesConfig.getRenderKits());
library.getConverters().addAll(facesConfig.getConverters());
// TODO - merge changes into library.
// library.getRenderers().addAll(unmarshal.getRenderers());
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/AdapterBase.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/AdapterBase.java 2010-05-10 19:40:53 UTC (rev 16979)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/AdapterBase.java 2010-05-10 23:48:39 UTC (rev 16980)
@@ -23,19 +23,15 @@
package org.richfaces.cdk.xmlconfig.model;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
+import java.lang.reflect.Method;
+
+import javax.xml.bind.annotation.adapters.XmlAdapter;
+
import org.richfaces.cdk.CdkException;
import org.richfaces.cdk.model.ConfigExtension;
import org.richfaces.cdk.model.Extensible;
-import org.richfaces.cdk.model.ModelElement;
import org.richfaces.cdk.util.JavaUtils;
-import javax.xml.bind.annotation.adapters.XmlAdapter;
-import java.lang.reflect.Method;
-import java.util.List;
-import java.util.Map;
-
/**
* <p class="changed_added_4_0"></p>
*
@@ -69,6 +65,7 @@
*
* @throws org.richfaces.cdk.CdkException
*/
+ @SuppressWarnings("unchecked")
public Bean createBean(Class<? extends Bean> beanClass, Model model) throws CdkException {
try {
Bean bean = beanClass.newInstance();
@@ -87,10 +84,20 @@
}
}
+ /**
+ * <p class="changed_added_4_0">Template method to copy non bean attributes.</p>
+ * @param model
+ * @param bean
+ */
protected void postMarshal(Model model, Bean bean) {
// template method to perform additional conversations
}
+ /**
+ * <p class="changed_added_4_0">Returns concrete bean class.</p>
+ * @param model
+ * @return
+ */
protected abstract Class<? extends Bean> getBeanClass(Model model);
@Override
@@ -100,6 +107,7 @@
return model;
}
+ @SuppressWarnings("unchecked")
protected <D, E extends ConfigExtension> E createExtension(D destination)
throws NoSuchMethodException, InstantiationException, IllegalAccessException {
@@ -107,7 +115,7 @@
return ((Class<E>) method.getReturnType()).newInstance();
}
- private void copyExtensions(Extensible source, Extensible<ConfigExtension> destination, Boolean fromModel) {
+ private void copyExtensions(Extensible<ConfigExtension> source, Extensible<ConfigExtension> destination, Boolean fromModel) {
try {
ConfigExtension sourceExtension = source.getExtension();
@@ -134,6 +142,7 @@
}
}
+ @SuppressWarnings("unchecked")
protected Model createModelElement(Class<? extends Model> modelClass, Bean adapter) {
try {
@@ -151,45 +160,20 @@
}
}
+ /**
+ * <p class="changed_added_4_0">Template method to copy non bean attributes</p>
+ * @param bean
+ * @param model
+ */
protected void postUnmarshal(Bean bean, Model model) {
// template method to perform additional conversations
}
- protected abstract Class<? extends Model> getModelClass(Bean bean);
-
/**
- *
- * @param map
- * @param adapter
- *
+ * <p class="changed_added_4_0">Returns concrete model class</p>
+ * @param bean
* @return
- *
- * */
- protected <K, B extends MapEntry<K>, M extends ModelElement<? super M> & Extensible> List<B> marshalMap(Map<K, M> map,
- AdapterBase<B, M> adapter) throws CdkException {
-
- List<B> result = Lists.newArrayList();
- if (null != map && map.size() > 0) {
- for (Map.Entry<K, M> entry : map.entrySet()) {
- B bean = adapter.marshal(entry.getValue());
- bean.setKey(entry.getKey());
- result.add(bean);
- }
- }
- return result;
- }
+ */
+ protected abstract Class<? extends Model> getModelClass(Bean bean);
- protected <K, B extends MapEntry<K>, M extends ModelElement<? super M> & Extensible> Map<K, M> unmarshalMap(
- List<B> list, AdapterBase<B, M> adapter) throws CdkException {
-
- Map<K, M> map = Maps.newHashMap();
- if (null != list && list.size() > 0) {
- for (B bean : list) {
- M model = adapter.unmarshal(bean);
- map.put(bean.getKey(), model);
- }
- }
- return map;
- }
-
}
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/FacesConfigAdapter.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/FacesConfigAdapter.java 2010-05-10 19:40:53 UTC (rev 16979)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/FacesConfigAdapter.java 2010-05-10 23:48:39 UTC (rev 16980)
@@ -24,7 +24,6 @@
package org.richfaces.cdk.xmlconfig.model;
import org.richfaces.cdk.model.ComponentLibrary;
-import org.richfaces.cdk.model.RenderKitModel;
/**
* <p class="changed_added_4_0"></p>
@@ -33,7 +32,6 @@
*/
public class FacesConfigAdapter extends AdapterBase<FacesConfigBean, ComponentLibrary> {
- private static final RenderKitAdapter ADAPTER = new RenderKitAdapter();
@Override
protected Class<? extends FacesConfigBean> getBeanClass(ComponentLibrary model) {
@@ -45,13 +43,4 @@
return ComponentLibrary.class;
}
- @Override
- protected void postMarshal(ComponentLibrary model, FacesConfigBean bean) {
- bean.setRenderKits(marshalMap(model.getRenderKits(), ADAPTER));
- }
-
- @Override
- protected void postUnmarshal(FacesConfigBean bean, ComponentLibrary model) {
- model.getRenderKits().putAll(this.<RenderKitModel.Id, RenderKitBean, RenderKitModel>unmarshalMap(bean.getRenderKits(), ADAPTER));
- }
}
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/FacesConfigBean.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/FacesConfigBean.java 2010-05-10 19:40:53 UTC (rev 16979)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/FacesConfigBean.java 2010-05-10 23:48:39 UTC (rev 16980)
@@ -38,6 +38,7 @@
import org.richfaces.cdk.model.ConverterModel;
import org.richfaces.cdk.model.EventModel;
import org.richfaces.cdk.model.Extensible;
+import org.richfaces.cdk.model.RenderKitModel;
import org.richfaces.cdk.model.ValidatorModel;
import com.google.common.collect.Lists;
@@ -55,7 +56,8 @@
private List<ComponentModel> components = Lists.newArrayList();
@XmlElement(name = "render-kit", namespace = ComponentLibrary.FACES_CONFIG_NAMESPACE)
- private List<RenderKitBean> renderKits = Lists.newArrayList();
+ @XmlJavaTypeAdapter(RenderKitAdapter.class)
+ private List<RenderKitModel> renderKits = Lists.newArrayList();
@XmlElement(name = "converter", namespace = ComponentLibrary.FACES_CONFIG_NAMESPACE)
@XmlJavaTypeAdapter(ConverterAdapter.class)
@@ -135,7 +137,7 @@
*
* @return the renderKits
*/
- public List<RenderKitBean> getRenderKits() {
+ public List<RenderKitModel> getRenderKits() {
return renderKits;
}
@@ -144,7 +146,7 @@
*
* @param renderKits the renderKits to set
*/
- public void setRenderKits(List<RenderKitBean> renderKits) {
+ public void setRenderKits(List<RenderKitModel> renderKits) {
this.renderKits = renderKits;
}
Deleted: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/MapEntry.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/MapEntry.java 2010-05-10 19:40:53 UTC (rev 16979)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/MapEntry.java 2010-05-10 23:48:39 UTC (rev 16980)
@@ -1,37 +0,0 @@
-/*
- * $Id$
- *
- * License Agreement.
- *
- * Rich Faces - Natural Ajax for Java Server Faces (JSF)
- *
- * Copyright (C) 2007 Exadel, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1 as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-package org.richfaces.cdk.xmlconfig.model;
-
-/**
- * <p class="changed_added_4_0"></p>
- * @author asmirnov(a)exadel.com
- *
- */
-public interface MapEntry<T> {
-
- public T getKey();
-
- public void setKey(T key);
-
-}
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/RenderKitBean.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/RenderKitBean.java 2010-05-10 19:40:53 UTC (rev 16979)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/xmlconfig/model/RenderKitBean.java 2010-05-10 23:48:39 UTC (rev 16980)
@@ -34,7 +34,6 @@
import org.richfaces.cdk.model.ClassName;
import org.richfaces.cdk.model.ComponentLibrary;
import org.richfaces.cdk.model.ConfigExtension;
-import org.richfaces.cdk.model.RenderKitModel;
import org.richfaces.cdk.model.RendererModel;
import org.richfaces.cdk.model.RenderKitModel.Id;
@@ -48,8 +47,8 @@
@XmlType(
name = "faces-config-render-kitType",
namespace = ComponentLibrary.FACES_CONFIG_NAMESPACE,
- propOrder = {"key", "renderkitClass", "renderers", "behaviorRenderers", "extension"})
-public class RenderKitBean extends ExtensibleBean<RenderKitBean.RenderKitExtension> implements MapEntry<RenderKitModel.Id> {
+ propOrder = {"id", "renderkitClass", "renderers", "behaviorRenderers", "extension"})
+public class RenderKitBean extends ExtensibleBean<RenderKitBean.RenderKitExtension> {
private List<RendererModel> renderers = Lists.newArrayList();
private List<BehaviorRenderer> behaviorRenderers = Lists.newArrayList();
@@ -57,15 +56,13 @@
private Id key = new Id(RenderKitFactory.HTML_BASIC_RENDER_KIT);
- @Override
@XmlElement(name = "render-kit-id", namespace = ComponentLibrary.FACES_CONFIG_NAMESPACE)
@XmlJavaTypeAdapter(RenderKitIdAdapter.class)
- public Id getKey() {
+ public Id getId() {
return key;
}
- @Override
- public void setKey(Id key) {
+ public void setId(Id key) {
this.key = key;
}
Modified: root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/templatecompiler/RendererTemplateParserTest.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/templatecompiler/RendererTemplateParserTest.java 2010-05-10 19:40:53 UTC (rev 16979)
+++ root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/templatecompiler/RendererTemplateParserTest.java 2010-05-10 23:48:39 UTC (rev 16980)
@@ -93,10 +93,7 @@
private FileManager templatesSource;
private RenderKitModel getRenderkitFromModel(String renderkitId) {
- Map<Id, RenderKitModel> renderKits = library.getRenderKits();
- assertNotNull(renderKits);
-
- RenderKitModel renderKit = renderKits.get(new RenderKitModel.Id(renderkitId));
+ RenderKitModel renderKit = library.getRenderKit(new RenderKitModel.Id(renderkitId));
assertNotNull(renderKit);
return renderKit;
Modified: root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/xmlconfig/FacesConfigTest.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/xmlconfig/FacesConfigTest.java 2010-05-10 19:40:53 UTC (rev 16979)
+++ root/cdk/trunk/plugins/generator/src/test/java/org/richfaces/cdk/xmlconfig/FacesConfigTest.java 2010-05-10 23:48:39 UTC (rev 16980)
@@ -120,13 +120,13 @@
FacesConfigBean library =
jaxbBinding.unmarshal("urn:resource:org/richfaces/cdk/xmlconfig/renderkit.xml",
ComponentLibrary.FACES_CONFIG_SCHEMA_LOCATION, FacesConfigBean.class);
- List<RenderKitBean> renderKits = library.getRenderKits();
+ List<RenderKitModel> renderKits = library.getRenderKits();
assertEquals(2, renderKits.size());
- RenderKitBean renderKit = renderKits.get(0);
- assertEquals(new RenderKitModel.Id("HTML_BASIC"), renderKit.getKey());
+ RenderKitModel renderKit = renderKits.get(0);
+ assertEquals(new RenderKitModel.Id("HTML_BASIC"), renderKit.getId());
assertEquals(1, renderKit.getRenderers().size());
- assertEquals(new RenderKitModel.Id("RDFa"), renderKits.get(1).getKey());
+ assertEquals(new RenderKitModel.Id("RDFa"), renderKits.get(1).getId());
}
}
14 years, 5 months
JBoss Rich Faces SVN: r16979 - root/ui/core/trunk/api/src/main/templates/org/ajax4jsf/renderkit/html.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2010-05-10 15:40:53 -0400 (Mon, 10 May 2010)
New Revision: 16979
Modified:
root/ui/core/trunk/api/src/main/templates/org/ajax4jsf/renderkit/html/link.template.xml
Log:
https://jira.jboss.org/jira/browse/RF-7624
Modified: root/ui/core/trunk/api/src/main/templates/org/ajax4jsf/renderkit/html/link.template.xml
===================================================================
--- root/ui/core/trunk/api/src/main/templates/org/ajax4jsf/renderkit/html/link.template.xml 2010-05-10 19:29:51 UTC (rev 16978)
+++ root/ui/core/trunk/api/src/main/templates/org/ajax4jsf/renderkit/html/link.template.xml 2010-05-10 19:40:53 UTC (rev 16979)
@@ -9,18 +9,27 @@
<cdk:superclass>org.richfaces.renderkit.AjaxCommandRendererBase</cdk:superclass>
<cdk:component-family>javax.faces.Command</cdk:component-family>
<cdk:renderer-type>org.richfaces.CommandLinkRenderer</cdk:renderer-type>
+ <cdk:renders-children>true</cdk:renders-children>
</cc:interface>
<cc:implementation>
- <a id="#{clientId}" name="#{clientId}"
- cdk:passThroughWithExclusions="value" onclick="#{this.getOnClick(facesContext, component)}"
- href="#">
- #{component.attributes['value']}
- <cdk:body>
- <cdk:call expression="renderChildren(facesContext, component);" />
- </cdk:body>
- </a>
- <div></div>
+ <c:choose>
+ <c:when test="#{not component.attributes['disabled']}">
+ <a id="#{clientId}" name="#{clientId}"
+ cdk:passThroughWithExclusions="value" onclick="#{this.getOnClick(facesContext, component)}"
+ href="#">
+ #{component.attributes['value']}
+ <cdk:call expression="renderChildren(facesContext, component)" />
+ </a>
+ </c:when>
+ <c:otherwise>
+ <span id="#{clientId}" cdk:passThroughWithExclusions="value">
+ #{component.attributes['value']}
+ <cdk:call expression="renderChildren(facesContext, component)" />
+ </span>
+ </c:otherwise>
+ </c:choose>
+
</cc:implementation>
</cdk:root>
14 years, 5 months
JBoss Rich Faces SVN: r16978 - in root/cdk/trunk/plugins: generator/src/main/resources/META-INF/templates/java and 2 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2010-05-10 15:29:51 -0400 (Mon, 10 May 2010)
New Revision: 16978
Added:
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/templatecompiler/ConstantReturnMethodBodyStatement.java
root/cdk/trunk/plugins/generator/src/main/resources/META-INF/templates/java/constant-return.ftl
root/cdk/trunk/plugins/maven-cdk-plugin/src/it/renderer-template-test/src/main/templates/renders-children-default.template.xml
root/cdk/trunk/plugins/maven-cdk-plugin/src/it/renderer-template-test/src/main/templates/renders-children.template.xml
root/cdk/trunk/plugins/maven-cdk-plugin/src/it/renderer-template-test/src/test/java/org/richfaces/cdk/RendersChildrenTest.java
Modified:
root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/templatecompiler/RendererClassVisitor.java
Log:
Support for cdk:renders-children element added
Added: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/templatecompiler/ConstantReturnMethodBodyStatement.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/templatecompiler/ConstantReturnMethodBodyStatement.java (rev 0)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/templatecompiler/ConstantReturnMethodBodyStatement.java 2010-05-10 19:29:51 UTC (rev 16978)
@@ -0,0 +1,41 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.richfaces.cdk.templatecompiler;
+
+/**
+ * @author Nick Belaevski
+ *
+ */
+public class ConstantReturnMethodBodyStatement extends BaseTemplateMethodBodyStatement {
+
+ private String returnValue;
+
+ public ConstantReturnMethodBodyStatement(String returnValue) {
+ super("constant-return");
+
+ this.returnValue = returnValue;
+ }
+
+ public String getReturnValue() {
+ return returnValue;
+ }
+}
Modified: root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/templatecompiler/RendererClassVisitor.java
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/templatecompiler/RendererClassVisitor.java 2010-05-10 18:37:59 UTC (rev 16977)
+++ root/cdk/trunk/plugins/generator/src/main/java/org/richfaces/cdk/templatecompiler/RendererClassVisitor.java 2010-05-10 19:29:51 UTC (rev 16978)
@@ -23,10 +23,28 @@
package org.richfaces.cdk.templatecompiler;
-import com.google.common.base.Function;
-import com.google.common.collect.Collections2;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Lists;
+import static org.richfaces.cdk.templatecompiler.QNameComparator.QNAME_COMPARATOR;
+import static org.richfaces.cdk.util.JavaUtils.getEscapedString;
+import static org.richfaces.cdk.util.JavaUtils.getEscapedStringsArray;
+
+import java.io.IOException;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.EnumMap;
+import java.util.EnumSet;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeMap;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.context.ResponseWriter;
+import javax.faces.render.Renderer;
+import javax.xml.namespace.QName;
+
import org.richfaces.cdk.CdkException;
import org.richfaces.cdk.Logger;
import org.richfaces.cdk.attributes.Attribute;
@@ -64,27 +82,11 @@
import org.richfaces.cdk.util.Strings;
import org.richfaces.cdk.xmlconfig.JAXB;
-import javax.faces.component.UIComponent;
-import javax.faces.context.FacesContext;
-import javax.faces.context.ResponseWriter;
-import javax.faces.render.Renderer;
-import javax.xml.namespace.QName;
-import java.io.IOException;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.EnumMap;
-import java.util.EnumSet;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeMap;
+import com.google.common.base.Function;
+import com.google.common.collect.Collections2;
+import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.Lists;
-import static org.richfaces.cdk.templatecompiler.QNameComparator.QNAME_COMPARATOR;
-import static org.richfaces.cdk.util.JavaUtils.getEscapedString;
-import static org.richfaces.cdk.util.JavaUtils.getEscapedStringsArray;
-
/**
* <p class="changed_added_4_0">
* </p>
@@ -412,6 +414,23 @@
localsTypesMap.put(name, type);
}
+ private void createRendersChildrenMethod() {
+ Boolean rendersChildren = compositeInterface.getRendersChildren();
+ if (rendersChildren != null) {
+ JavaMethod rendersChildrenMethod = new JavaMethod("getRendersChildren", Boolean.TYPE);
+ rendersChildrenMethod.addModifier(JavaModifier.PUBLIC);
+ rendersChildrenMethod.addAnnotation(Override.class);
+
+ MethodBody methodBody = new MethodBody();
+ rendersChildrenMethod.setMethodBody(methodBody);
+
+ generatedClass.addMethod(rendersChildrenMethod);
+
+ methodBody.addStatement(
+ new ConstantReturnMethodBodyStatement(Boolean.toString(compositeInterface.getRendersChildren())));
+ }
+ }
+
protected void pushStatement(MethodBodyStatementsContainer container) {
currentStatement.addStatement(container);
statements.push(currentStatement);
@@ -778,6 +797,7 @@
*/
public void postProcess(CompositeImplementation impl) {
flushToEncodeMethod("encodeEnd");
+ createRendersChildrenMethod();
}
public static void clearCaches() {
Added: root/cdk/trunk/plugins/generator/src/main/resources/META-INF/templates/java/constant-return.ftl
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/resources/META-INF/templates/java/constant-return.ftl (rev 0)
+++ root/cdk/trunk/plugins/generator/src/main/resources/META-INF/templates/java/constant-return.ftl 2010-05-10 19:29:51 UTC (rev 16978)
@@ -0,0 +1 @@
+return ${modelItem.returnValue};
\ No newline at end of file
Added: root/cdk/trunk/plugins/maven-cdk-plugin/src/it/renderer-template-test/src/main/templates/renders-children-default.template.xml
===================================================================
--- root/cdk/trunk/plugins/maven-cdk-plugin/src/it/renderer-template-test/src/main/templates/renders-children-default.template.xml (rev 0)
+++ root/cdk/trunk/plugins/maven-cdk-plugin/src/it/renderer-template-test/src/main/templates/renders-children-default.template.xml 2010-05-10 19:29:51 UTC (rev 16978)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<cdk:root xmlns="http://richfaces.org/cdk/xhtml-el" xmlns:cdk="http://richfaces.org/cdk/core"
+ xmlns:c="http://richfaces.org/cdk/jstl/core" xmlns:cc="http://richfaces.org/cdk/jsf/composite"
+ xmlns:javaee="http://java.sun.com/xml/ns/javaee">
+
+ <cc:interface>
+ <cdk:class>org.richfaces.cdk.renderkit.html.RendersChildrenDefaultRenderer</cdk:class>
+ <cdk:component-family>org.richfaces.cdk.RendersChildrenDefaultComponent</cdk:component-family>
+ <cdk:renderer-type>org.richfaces.cdk.RendersChildrenDefaultRenderer</cdk:renderer-type>
+ </cc:interface>
+
+ <cc:implementation>
+ </cc:implementation>
+</cdk:root>
Added: root/cdk/trunk/plugins/maven-cdk-plugin/src/it/renderer-template-test/src/main/templates/renders-children.template.xml
===================================================================
--- root/cdk/trunk/plugins/maven-cdk-plugin/src/it/renderer-template-test/src/main/templates/renders-children.template.xml (rev 0)
+++ root/cdk/trunk/plugins/maven-cdk-plugin/src/it/renderer-template-test/src/main/templates/renders-children.template.xml 2010-05-10 19:29:51 UTC (rev 16978)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<cdk:root xmlns="http://richfaces.org/cdk/xhtml-el" xmlns:cdk="http://richfaces.org/cdk/core"
+ xmlns:c="http://richfaces.org/cdk/jstl/core" xmlns:cc="http://richfaces.org/cdk/jsf/composite"
+ xmlns:javaee="http://java.sun.com/xml/ns/javaee">
+
+ <cc:interface>
+ <cdk:class>org.richfaces.cdk.renderkit.html.RendersChildrenRenderer</cdk:class>
+ <cdk:component-family>org.richfaces.cdk.RendersChildrenComponent</cdk:component-family>
+ <cdk:renderer-type>org.richfaces.cdk.RendersChildrenRenderer</cdk:renderer-type>
+ <cdk:renders-children>true</cdk:renders-children>
+ </cc:interface>
+
+ <cc:implementation>
+ </cc:implementation>
+</cdk:root>
Added: root/cdk/trunk/plugins/maven-cdk-plugin/src/it/renderer-template-test/src/test/java/org/richfaces/cdk/RendersChildrenTest.java
===================================================================
--- root/cdk/trunk/plugins/maven-cdk-plugin/src/it/renderer-template-test/src/test/java/org/richfaces/cdk/RendersChildrenTest.java (rev 0)
+++ root/cdk/trunk/plugins/maven-cdk-plugin/src/it/renderer-template-test/src/test/java/org/richfaces/cdk/RendersChildrenTest.java 2010-05-10 19:29:51 UTC (rev 16978)
@@ -0,0 +1,49 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.richfaces.cdk;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+import org.richfaces.cdk.renderkit.html.RendersChildrenDefaultRenderer;
+import org.richfaces.cdk.renderkit.html.RendersChildrenRenderer;
+
+
+/**
+ * @author Nick Belaevski
+ *
+ */
+public class RendersChildrenTest {
+
+ @Test
+ public void testRendersChildrenTrue() throws Exception {
+ RendersChildrenRenderer renderer = new RendersChildrenRenderer();
+ assertTrue(renderer.getRendersChildren());
+ }
+
+ @Test
+ public void testRendersChildrenDefault() throws Exception {
+ RendersChildrenDefaultRenderer renderer = new RendersChildrenDefaultRenderer();
+ assertFalse(renderer.getRendersChildren());
+ }
+}
14 years, 5 months
JBoss Rich Faces SVN: r16977 - root/cdk/trunk/plugins/generator/src/main/resources/META-INF/schema.
by richfaces-svn-commits@lists.jboss.org
Author: alexsmirnov
Date: 2010-05-10 14:37:59 -0400 (Mon, 10 May 2010)
New Revision: 16977
Added:
root/cdk/trunk/plugins/generator/src/main/resources/META-INF/schema/web-facesconfig_2_0.xsd
Removed:
root/cdk/trunk/plugins/generator/src/main/resources/META-INF/schema/web-facesconfig_2_0.xsd
Log:
update faces-config schema to the 2.0 release version
Deleted: root/cdk/trunk/plugins/generator/src/main/resources/META-INF/schema/web-facesconfig_2_0.xsd
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/resources/META-INF/schema/web-facesconfig_2_0.xsd 2010-05-10 18:06:43 UTC (rev 16976)
+++ root/cdk/trunk/plugins/generator/src/main/resources/META-INF/schema/web-facesconfig_2_0.xsd 2010-05-10 18:37:59 UTC (rev 16977)
@@ -1,2729 +0,0 @@
-<?xml version = "1.0" encoding = "UTF-8"?>
-
-<!--
- DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
-
- Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
-
- The contents of this file are subject to the terms of either the GNU
- General Public License Version 2 only ("GPL") or the Common Development
- and Distribution License("CDDL") (collectively, the "License"). You
- may not use this file except in compliance with the License. You can obtain
- a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html
- or glassfish/bootstrap/legal/LICENSE.txt. See the License for the specific
- language governing permissions and limitations under the License.
-
- When distributing the software, include this License Header Notice in each
- file and include the License file at glassfish/bootstrap/legal/LICENSE.txt.
- Sun designates this particular file as subject to the "Classpath" exception
- as provided by Sun in the GPL Version 2 section of the License file that
- accompanied this code. If applicable, add the following below the License
- Header, with the fields enclosed by brackets [] replaced by your own
- identifying information: "Portions Copyrighted [year]
- [name of copyright owner]"
-
- Contributor(s):
-
- If you wish your version of this file to be governed by only the CDDL or
- only the GPL Version 2, indicate your decision by adding "[Contributor]
- elects to include this software in this distribution under the [CDDL or GPL
- Version 2] license." If you don't indicate a single choice of license, a
- recipient has the option to distribute your version of this file under
- either the CDDL, the GPL Version 2 or to extend the choice of license to
- its licensees as provided above. However, if you add GPL Version 2 code
- and therefore, elected the GPL Version 2 license, then the option applies
- only if the new code is made subject to such option by the copyright
- holder.
--->
-
-
-<xsd:schema
- targetNamespace="http://java.sun.com/xml/ns/javaee"
- xmlns:javaee="http://java.sun.com/xml/ns/javaee"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xml="http://www.w3.org/XML/1998/namespace"
- elementFormDefault="qualified"
- attributeFormDefault="unqualified"
- version="2.0">
-
- <xsd:annotation>
- <xsd:documentation>
- $Id$
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:annotation>
- <xsd:documentation>
-
- Copyright 2007 Sun Microsystems, Inc.,
- 901 San Antonio Road,
- Palo Alto, California 94303, U.S.A.
- All rights reserved.
-
- Sun Microsystems, Inc. has intellectual property
- rights relating to technology described in this document. In
- particular, and without limitation, these intellectual
- property rights may include one or more of the U.S. patents
- listed at http://www.sun.com/patents and one or more
- additional patents or pending patent applications in the
- U.S. and other countries.
-
- This document and the technology which it describes are
- distributed under licenses restricting their use, copying,
- distribution, and decompilation. No part of this document
- may be reproduced in any form by any means without prior
- written authorization of Sun and its licensors, if any.
-
- Third-party software, including font technology, is
- copyrighted and licensed from Sun suppliers.
-
- Sun, Sun Microsystems, the Sun logo, Solaris, Java, Java EE,
- JavaServer Pages, Enterprise JavaBeans and the Java Coffee
- Cup logo are trademarks or registered trademarks of Sun
- Microsystems, Inc. in the U.S. and other countries.
-
- Federal Acquisitions: Commercial Software - Government Users
- Subject to Standard License Terms and Conditions.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:annotation>
- <xsd:documentation>
-
- <![CDATA[
-
- The XML Schema for the JavaServer Faces Application
- Configuration File (Version 2.0).
-
- All JavaServer Faces configuration files must indicate
- the JavaServer Faces schema by indicating the JavaServer
- Faces namespace:
-
- http://java.sun.com/xml/ns/javaee
-
- and by indicating the version of the schema by
- using the version element as shown below:
-
- <faces-config xmlns="http://java.sun.com/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="..."
- version="2.0">
- ...
- </faces-config>
-
- The instance documents may indicate the published
- version of the schema using xsi:schemaLocation attribute
- for javaee namespace with the following location:
-
- http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd
-
- ]]>
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:include schemaLocation="javaee_5.xsd"/>
-
- <!-- **************************************************** -->
-
- <xsd:element name = "faces-config" type="javaee:faces-configType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "faces-config" element is the root of the configuration
- information hierarchy, and contains nested elements for all
- of the other configuration settings.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:unique name="faces-config-behavior-ID-uniqueness">
- <xsd:annotation>
- <xsd:documentation>
-
- Behavior IDs must be unique within a document.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:selector xpath="javaee:behavior"/>
- <xsd:field xpath="javaee:behavior-id"/>
- </xsd:unique>
-
- <xsd:unique name="faces-config-converter-ID-uniqueness">
- <xsd:annotation>
- <xsd:documentation>
-
- Converter IDs must be unique within a document.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:selector xpath="javaee:converter"/>
- <xsd:field xpath="javaee:converter-id"/>
- </xsd:unique>
-
- <xsd:unique name="faces-config-converter-for-class-uniqueness">
- <xsd:annotation>
- <xsd:documentation>
-
- 'converter-for-class' element values must be unique
- within a document.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:selector xpath="javaee:converter"/>
- <xsd:field xpath="javaee:converter-for-class"/>
- </xsd:unique>
-
- <xsd:unique name="faces-config-validator-ID-uniqueness">
- <xsd:annotation>
- <xsd:documentation>
-
- Validator IDs must be unique within a document.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:selector xpath="javaee:validator"/>
- <xsd:field xpath="javaee:validator-id"/>
- </xsd:unique>
-
- <xsd:unique name="faces-config-managed-bean-name-uniqueness">
- <xsd:annotation>
- <xsd:documentation>
-
- Managed bean names must be unique within a document.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:selector xpath="javaee:managed-bean"/>
- <xsd:field xpath="javaee:managed-bean-name"/>
- </xsd:unique>
- </xsd:element>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-configType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "faces-config" element is the root of the configuration
- information hierarchy, and contains nested elements for all
- of the other configuration settings.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:choice minOccurs="0" maxOccurs="unbounded">
- <xsd:element name="application"
- type="javaee:faces-config-applicationType"/>
- <xsd:element name="ordering"
- type="javaee:faces-config-orderingType"/>
- <xsd:element name="absolute-ordering"
- type="javaee:faces-config-absoluteOrderingType"
- minOccurs="0"
- maxOccurs="1"/>
- <xsd:element name="factory"
- type="javaee:faces-config-factoryType"/>
- <xsd:element name="component"
- type="javaee:faces-config-componentType"/>
- <xsd:element name="converter"
- type="javaee:faces-config-converterType"/>
- <xsd:element name="managed-bean"
- type="javaee:faces-config-managed-beanType"/>
- <xsd:element name="name"
- type="javaee:java-identifierType"
- minOccurs="0"
- maxOccurs="1">
- <xsd:annotation>
- <xsd:documentation>
-
- The "name" element within the top level "faces-config"
- element declares the name of this application
- configuration resource. Such names are used
- in the document ordering scheme specified in section
- JSF.11.4.6.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
-
- <xsd:element name="navigation-rule"
- type="javaee:faces-config-navigation-ruleType"/>
- <xsd:element name="referenced-bean"
- type="javaee:faces-config-referenced-beanType"/>
- <xsd:element name="render-kit"
- type="javaee:faces-config-render-kitType"/>
- <xsd:element name="lifecycle"
- type="javaee:faces-config-lifecycleType"/>
- <xsd:element name="validator"
- type="javaee:faces-config-validatorType"/>
- <xsd:element name="behavior"
- type="javaee:faces-config-behaviorType"/>
- <xsd:element name="faces-config-extension"
- type="javaee:faces-config-extensionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
- </xsd:choice>
- <xsd:attribute name="metadata-complete"
- type="xsd:boolean"
- use="optional">
- <xsd:annotation>
- <xsd:documentation>
-
- The metadata-complete attribute defines whether this
- JavaServer Faces application is complete, or whether
- the class files available to this module and packaged with
- this application should be examined for annotations
- that specify configuration information.
-
- This attribute is only inspected on the application
- configuration resource file located at "WEB-INF/faces-config.xml".
- The presence of this attribute on any application configuration
- resource other than the one located at "WEB-INF/faces-config.xml",
- including any files named using the javax.faces.CONFIG_FILES
- attribute, must be ignored.
-
- If metadata-complete is set to "true", the JavaServer Faces
- runtime must ignore any annotations that specify configuration
- information, which might be present in the class files
- of the application.
-
- If metadata-complete is not specified or is set to
- "false", the JavaServer Faces runtime must examine the class
- files of the application for annotations, as specified by
- the specification.
-
- If "WEB-INF/faces-config.xml" is not present, the JavaServer
- Faces runtime will assume metadata-complete to be "false".
-
- The value of this attribute will have no impact on
- runtime annotations such as @ResourceDependency or
- @ListenerFor.
- </xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="id" type="xsd:ID" />
- <xsd:attribute name="version"
- type="javaee:faces-config-versionType"
- use="required"/>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name = "faces-config-extensionType">
- <xsd:annotation>
- <xsd:documentation>
-
- Extension element for faces-config. It may contain
- implementation specific content.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:sequence>
- <xsd:any namespace="##any"
- processContents="lax"
- minOccurs="0"
- maxOccurs="unbounded" />
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
-
-
- <!-- **************************************************** -->
-
-
- <xsd:complexType name="faces-config-orderingType">
- <xsd:annotation>
- <xsd:documentation>
-
- Please see section JSF.11.4.6 for the specification of this element.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element name="after"
- type="javaee:faces-config-ordering-orderingType"
- minOccurs="0"
- maxOccurs="1"/>
- <xsd:element name="before"
- type="javaee:faces-config-ordering-orderingType"
- minOccurs="0"
- maxOccurs="1"/>
- </xsd:sequence>
- </xsd:complexType>
-
- <xsd:complexType name="faces-config-ordering-orderingType">
- <xsd:annotation>
- <xsd:documentation>
-
- This element contains a sequence of "id" elements, each of which
- refers to an application configuration resource by the "id"
- declared on its faces-config element. This element can also contain
- a single "others" element which specifies that this document comes
- before or after other documents within the application.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element name="name" type="javaee:java-identifierType" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="others" type="javaee:faces-config-ordering-othersType" minOccurs="0" maxOccurs="1" />
- </xsd:sequence>
- </xsd:complexType>
-
- <xsd:complexType name="faces-config-ordering-othersType">
- <xsd:annotation>
- <xsd:documentation>
-
- This element indicates that the ordering sub-element in which
- it was placed should take special action regarding the ordering
- of this application resource relative to other
- application configuration resources. See section JSF.11.4.6
- for the complete specification.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
-
-
- <!-- **************************************************** -->
-
-
- <xsd:complexType name="faces-config-absoluteOrderingType">
- <xsd:annotation>
- <xsd:documentation>
-
- Only relevant if this is placed within the /WEB-INF/faces-config.xml.
- Please see section JSF.11.4.6 for the specification for details.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:choice minOccurs="0" maxOccurs="unbounded">
- <xsd:element name="name" type="javaee:java-identifierType" minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="others" type="javaee:faces-config-ordering-othersType" minOccurs="0" maxOccurs="1" />
- </xsd:choice>
- </xsd:complexType>
-
-
- <!-- **************************************************** -->
-
-
- <xsd:complexType name="faces-config-applicationType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "application" element provides a mechanism to define the
- various per-application-singleton implementation artifacts for
- a particular web application that is utilizing
- JavaServer Faces. For nested elements that are not specified,
- the JSF implementation must provide a suitable default.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:choice minOccurs="0" maxOccurs="unbounded">
- <xsd:element name="action-listener"
- type="javaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "action-listener" element contains the fully
- qualified class name of the concrete
- ActionListener implementation class that will be
- called during the Invoke Application phase of the
- request processing lifecycle.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="default-render-kit-id"
- type="javaee:string">
- <xsd:annotation>
- <xsd:documentation>
-
- The "default-render-kit-id" element allows the
- application to define a renderkit to be used other
- than the standard one.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="message-bundle"
- type="javaee:string">
- <xsd:annotation>
- <xsd:documentation>
-
- The base name of a resource bundle representing
- the message resources for this application. See
- the JavaDocs for the "java.util.ResourceBundle"
- class for more information on the syntax of
- resource bundle names.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="navigation-handler"
- type="javaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "navigation-handler" element contains the
- fully qualified class name of the concrete
- NavigationHandler implementation class that will
- be called during the Invoke Application phase
- of the request processing lifecycle, if the
- default ActionListener (provided by the JSF
- implementation) is used.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="view-handler"
- type="javaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "view-handler" element contains the fully
- qualified class name of the concrete ViewHandler
- implementation class that will be called during
- the Restore View and Render Response phases of the
- request processing lifecycle. The faces
- implementation must provide a default
- implementation of this class.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="state-manager"
- type="javaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "state-manager" element contains the fully
- qualified class name of the concrete StateManager
- implementation class that will be called during
- the Restore View and Render Response phases of the
- request processing lifecycle. The faces
- implementation must provide a default
- implementation of this class.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="el-resolver"
- type="javaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "el-resolver" element contains the fully
- qualified class name of the concrete
- javax.el.ELResolver implementation class
- that will be used during the processing of
- EL expressions.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="property-resolver"
- type="javaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "property-resolver" element contains the fully
- qualified class name of the concrete
- PropertyResolver implementation class that will
- be used during the processing of value binding
- expressions.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="variable-resolver"
- type="javaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "variable-resolver" element contains the fully
- qualified class name of the concrete
- VariableResolver implementation class that will
- be used during the processing of value binding
- expressions.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="resource-handler"
- type="javaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
- <![CDATA[
-
- The "resource-handler" element contains the
- fully qualified class name of the concrete
- ResourceHandler implementation class that
- will be used during rendering and decoding
- of resource requests The standard
- constructor based decorator pattern used for
- other application singletons will be
- honored.
-
- ]]>
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="system-event-listener"
- type="javaee:faces-config-system-event-listenerType"
- minOccurs="0"
- maxOccurs="unbounded">
- </xsd:element>
- <xsd:element
- name="locale-config"
- type="javaee:faces-config-locale-configType"/>
- <xsd:element
- name="resource-bundle"
- type="javaee:faces-config-application-resource-bundleType"/>
- <xsd:element name="application-extension"
- type="javaee:faces-config-application-extensionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
- <xsd:element
- name="default-validators"
- type="javaee:faces-config-default-validatorsType"/>
- </xsd:choice>
- <xsd:attribute name = "id" type = "xsd:ID"/>
- </xsd:complexType>
-
- <xsd:complexType name="faces-config-application-resource-bundleType">
- <xsd:annotation>
- <xsd:documentation>
-
- The resource-bundle element inside the application element
- references a java.util.ResourceBundle instance by name
- using the var element. ResourceBundles referenced in this
- manner may be returned by a call to
- Application.getResourceBundle() passing the current
- FacesContext for this request and the value of the var
- element below.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:sequence>
- <xsd:group ref="javaee:descriptionGroup"/>
- <xsd:element name="base-name"
- type="javaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
-
- The fully qualified class name of the
- java.util.ResourceBundle instance.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="var"
- type="javaee:string">
- <xsd:annotation>
- <xsd:documentation>
-
- The name by which this ResourceBundle instance
- is retrieved by a call to
- Application.getResourceBundle().
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name = "faces-config-application-extensionType">
- <xsd:annotation>
- <xsd:documentation>
-
- Extension element for application. It may contain
- implementation specific content.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:sequence>
- <xsd:any namespace="##any"
- processContents="lax"
- minOccurs="0"
- maxOccurs="unbounded" />
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
-
-
- <!-- **************************************************** -->
-
- <xsd:complexType name = "faces-config-factoryType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "factory" element provides a mechanism to define the
- various Factories that comprise parts of the implementation
- of JavaServer Faces. For nested elements that are not
- specified, the JSF implementation must provide a suitable
- default.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:choice minOccurs="0" maxOccurs="unbounded">
- <xsd:element name="application-factory"
- type="javaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "application-factory" element contains the
- fully qualified class name of the concrete
- ApplicationFactory implementation class that will
- be called when
- FactoryFinder.getFactory(APPLICATION_FACTORY) is
- called.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="exception-handler-factory"
- type="javaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "exception-handler-factory" element contains the
- fully qualified class name of the concrete
- ExceptionHandlerFactory implementation class that will
- be called when
- FactoryFinder.getFactory(EXCEPTION_HANDLER_FACTORY)
- is called.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="external-context-factory"
- type="javaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "external-context-factory" element contains the
- fully qualified class name of the concrete
- ExternalContextFactory implementation class that will
- be called when
- FactoryFinder.getFactory(EXTERNAL_CONTEXT_FACTORY)
- is called.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
-
- <xsd:element name="faces-context-factory"
- type="javaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "faces-context-factory" element contains the
- fully qualified class name of the concrete
- FacesContextFactory implementation class that will
- be called when
- FactoryFinder.getFactory(FACES_CONTEXT_FACTORY)
- is called.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
-
- <xsd:element name="partial-view-context-factory"
- type="javaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "partial-view-context-factory" element contains the
- fully qualified class name of the concrete
- PartialViewContextFactory implementation class that will
- be called when FactoryFinder.getFactory
- (FactoryFinder.PARTIAL_VIEW_CONTEXT_FACTORY) is called.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
-
- <xsd:element name="lifecycle-factory"
- type="javaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "lifecycle-factory" element contains the fully
- qualified class name of the concrete LifecycleFactory
- implementation class that will be called when
- FactoryFinder.getFactory(LIFECYCLE_FACTORY) is called.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="view-declaration-language-factory"
- type="javaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "view-declaration-language-factory" element contains
- the fully qualified class name of the concrete
- ViewDeclarationLanguageFactory
- implementation class that will be called when
- FactoryFinder.getFactory(VIEW_DECLARATION_FACTORY) is called.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="tag-handler-delegate-factory"
- type="javaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "tag-handler-delegate-factory" element contains
- the fully qualified class name of the concrete
- ViewDeclarationLanguageFactory
- implementation class that will be called when
- FactoryFinder.getFactory(TAG_HANDLER_DELEGATE_FACTORY) is called.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="render-kit-factory"
- type="javaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "render-kit-factory" element contains the fully
- qualified class name of the concrete RenderKitFactory
- implementation class that will be called when
- FactoryFinder.getFactory(RENDER_KIT_FACTORY) is
- called.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="visit-context-factory"
- type="javaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "visit-context-factory" element contains the fully
- qualified class name of the concrete VisitContextFactory
- implementation class that will be called when
- FactoryFinder.getFactory(VISIT_CONTEXT_FACTORY) is
- called.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="factory-extension"
- type="javaee:faces-config-factory-extensionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
- </xsd:choice>
- <xsd:attribute name = "id" type = "xsd:ID"/>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name = "faces-config-factory-extensionType">
- <xsd:annotation>
- <xsd:documentation>
-
- Extension element for factory. It may contain
- implementation specific content.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:sequence>
- <xsd:any namespace="##any"
- processContents="lax"
- minOccurs="0"
- maxOccurs="unbounded" />
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
-
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-attributeType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "attribute" element represents a named, typed, value
- associated with the parent UIComponent via the generic
- attributes mechanism.
-
- Attribute names must be unique within the scope of the parent
- (or related) component.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:sequence>
- <xsd:group ref="javaee:descriptionGroup"/>
- <xsd:element name="attribute-name"
- type="javaee:string">
- <xsd:annotation>
- <xsd:documentation>
-
- The "attribute-name" element represents the name under
- which the corresponding value will be stored, in the
- generic attributes of the UIComponent we are related
- to.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="attribute-class"
- type="javaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "attribute-class" element represents the Java type
- of the value associated with this attribute name.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="default-value"
- type="javaee:faces-config-default-valueType"
- minOccurs="0"/>
- <xsd:element name="suggested-value"
- type="javaee:faces-config-suggested-valueType"
- minOccurs="0"/>
- <xsd:element name="attribute-extension"
- type="javaee:faces-config-attribute-extensionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name = "id" type = "xsd:ID"/>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name = "faces-config-attribute-extensionType">
- <xsd:annotation>
- <xsd:documentation>
-
- Extension element for attribute. It may contain
- implementation specific content.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:sequence>
- <xsd:any namespace="##any"
- processContents="lax"
- minOccurs="0"
- maxOccurs="unbounded" />
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-componentType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "component" element represents a concrete UIComponent
- implementation class that should be registered under the
- specified type identifier, along with its associated
- properties and attributes. Component types must be unique
- within the entire web application.
-
- Nested "attribute" elements identify generic attributes that
- are recognized by the implementation logic of this component.
- Nested "property" elements identify JavaBeans properties of
- the component class that may be exposed for manipulation
- via tools.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:sequence>
- <xsd:group ref="javaee:descriptionGroup"/>
- <xsd:element name="component-type"
- type="javaee:string">
- <xsd:annotation>
- <xsd:documentation>
-
- The "component-type" element represents the name under
- which the corresponding UIComponent class should be
- registered.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="component-class"
- type="javaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "component-class" element represents the fully
- qualified class name of a concrete UIComponent
- implementation class.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="facet"
- type="javaee:faces-config-facetType"
- minOccurs="0"
- maxOccurs="unbounded"/>
- <xsd:element name="attribute"
- type="javaee:faces-config-attributeType"
- minOccurs="0"
- maxOccurs="unbounded"/>
- <xsd:element name="property"
- type="javaee:faces-config-propertyType"
- minOccurs="0"
- maxOccurs="unbounded"/>
- <xsd:element name="component-extension"
- type="javaee:faces-config-component-extensionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-component-extensionType">
- <xsd:annotation>
- <xsd:documentation>
- Extension element for component. It may contain
- implementation specific content.
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:sequence>
- <xsd:any namespace="##any"
- processContents="lax"
- minOccurs="0"
- maxOccurs="unbounded" />
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-default-localeType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "default-locale" element declares the default locale
- for this application instance.
-
- It must be specified as :language:[_:country:[_:variant:]]
- without the colons, for example "ja_JP_SJIS". The
- separators between the segments may be '-' or '_'.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:simpleContent>
- <xsd:extension base="javaee:faces-config-localeType">
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:extension>
- </xsd:simpleContent>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
-
- <xsd:complexType name="faces-config-default-valueType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "default-value" contains the value for the property or
- attribute in which this element resides. This value differs
- from the "suggested-value" in that the property or attribute
- must take the value, whereas in "suggested-value" taking the
- value is optional.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:simpleContent>
- <xsd:restriction base="javaee:string"/>
- </xsd:simpleContent>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:simpleType name="faces-config-el-expressionType">
- <xsd:annotation>
- <xsd:documentation>
-
- EL expressions present within a faces config file
- must start with the character sequence of '#{' and
- end with '}'.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:restriction base="xsd:string">
- <xsd:pattern value="#\{.*\}"/>
- </xsd:restriction>
- </xsd:simpleType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-facetType">
- <xsd:annotation>
- <xsd:documentation>
-
- Define the name and other design-time information for a facet
- that is associated with a renderer or a component.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:sequence>
- <xsd:group ref="javaee:descriptionGroup"/>
- <xsd:element name="facet-name"
- type="javaee:java-identifierType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "facet-name" element represents the facet name
- under which a UIComponent will be added to its parent.
- It must be of type "Identifier".
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="facet-extension"
- type="javaee:faces-config-facet-extensionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-facet-extensionType">
- <xsd:annotation>
- <xsd:documentation>
-
- Extension element for facet. It may contain implementation
- specific content.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:sequence>
- <xsd:any namespace="##any"
- processContents="lax"
- minOccurs="0"
- maxOccurs="unbounded" />
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-from-view-idType">
- <xsd:annotation>
- <xsd:documentation>
-
- The value of from-view-id must contain one of the following
- values:
-
- - The exact match for a view identifier that is recognized
- by the the ViewHandler implementation being used (such as
- "/index.jsp" if you are using the default ViewHandler).
-
- - A proper prefix of a view identifier, plus a trailing
- "*" character. This pattern indicates that all view
- identifiers that match the portion of the pattern up to
- the asterisk will match the surrounding rule. When more
- than one match exists, the match with the longest pattern
- is selected.
-
- - An "*" character, which means that this pattern applies
- to all view identifiers.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:simpleContent>
- <xsd:restriction base="javaee:string"/>
- </xsd:simpleContent>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-from-actionType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "from-action" element contains an action reference
- expression that must have been executed (by the default
- ActionListener for handling application level events)
- in order to select the navigation rule. If not specified,
- this rule will be relevant no matter which action reference
- was executed (or if no action reference was executed).
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:simpleContent>
- <xsd:extension base="javaee:faces-config-el-expressionType">
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:extension>
- </xsd:simpleContent>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-ifType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "if" element defines a condition that must resolve
- to true in order for the navigation case on which it is
- defined to be matched, with the existing match criteria
- (action method and outcome) as a prerequiste, if present.
- The condition is defined declaratively using a value
- expression in the body of this element. The expression is
- evaluated at the time the navigation case is being matched.
- If the "from-outcome" is omitted and this element is
- present, the navigation handler will match a null outcome
- and use the condition return value to determine if the
- case should be considered a match.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:simpleContent>
- <xsd:extension base="javaee:faces-config-el-expressionType">
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:extension>
- </xsd:simpleContent>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-converterType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "converter" element represents a concrete Converter
- implementation class that should be registered under the
- specified converter identifier. Converter identifiers must
- be unique within the entire web application.
-
- Nested "attribute" elements identify generic attributes that
- may be configured on the corresponding UIComponent in order
- to affect the operation of the Converter. Nested "property"
- elements identify JavaBeans properties of the Converter
- implementation class that may be configured to affect the
- operation of the Converter. "attribute" and "property"
- elements are intended to allow component developers to
- more completely describe their components to tools and users.
- These elements have no required runtime semantics.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:sequence>
- <xsd:group ref="javaee:descriptionGroup"/>
- <xsd:choice>
- <xsd:element name="converter-id"
- type="javaee:string">
- <xsd:annotation>
- <xsd:documentation>
-
- The "converter-id" element represents the
- identifier under which the corresponding
- Converter class should be registered.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
-
- <xsd:element name="converter-for-class"
- type="javaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "converter-for-class" element represents the
- fully qualified class name for which a Converter
- class will be registered.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- </xsd:choice>
-
- <xsd:element name="converter-class"
- type="javaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "converter-class" element represents the fully
- qualified class name of a concrete Converter
- implementation class.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="attribute"
- type="javaee:faces-config-attributeType"
- minOccurs="0"
- maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>
-
- Nested "attribute" elements identify generic
- attributes that may be configured on the
- corresponding UIComponent in order to affect the
- operation of the Converter. This attribute is
- primarily for design-time tools and is not
- specified to have any meaning at runtime.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="property"
- type="javaee:faces-config-propertyType"
- minOccurs="0"
- maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>
-
- Nested "property" elements identify JavaBeans
- properties of the Converter implementation class
- that may be configured to affect the operation of
- the Converter. This attribute is primarily for
- design-time tools and is not specified to have
- any meaning at runtime.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="converter-extension"
- type="javaee:faces-config-converter-extensionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name = "faces-config-converter-extensionType">
- <xsd:annotation>
- <xsd:documentation>
-
- Extension element for converter. It may contain
- implementation specific content.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:sequence>
- <xsd:any namespace="##any"
- processContents="lax"
- minOccurs="0"
- maxOccurs="unbounded" />
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
-
-
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-lifecycleType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "lifecycle" element provides a mechanism to specify
- modifications to the behaviour of the default Lifecycle
- implementation for this web application.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:sequence>
- <xsd:element name="phase-listener"
- type="javaee:fully-qualified-classType"
- minOccurs="0"
- maxOccurs="unbounded">
-
- <xsd:annotation>
- <xsd:documentation>
-
- The "phase-listener" element contains the fully
- qualified class name of the concrete PhaseListener
- implementation class that will be registered on
- the Lifecycle.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="lifecycle-extension"
- type="javaee:faces-config-lifecycle-extensionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
-
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
-
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name = "faces-config-lifecycle-extensionType">
- <xsd:annotation>
- <xsd:documentation>
-
- Extension element for lifecycle. It may contain
- implementation specific content.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:sequence>
- <xsd:any namespace="##any"
- processContents="lax"
- minOccurs="0"
- maxOccurs="unbounded" />
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
-
-
- <!-- **************************************************** -->
-
- <xsd:simpleType name="faces-config-localeType">
- <xsd:annotation>
- <xsd:documentation>
-
- The localeType defines valid locale defined by ISO-639-1
- and ISO-3166.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:restriction base="xsd:string">
- <xsd:pattern value="([a-z]{2})[_|\-]?([\p{L}]{2})?[_|\-]?(\w+)?"/>
- </xsd:restriction>
- </xsd:simpleType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-locale-configType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "locale-config" element allows the app developer to
- declare the supported locales for this application.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:sequence>
- <xsd:element name="default-locale"
- type="javaee:faces-config-default-localeType"
- minOccurs="0">
- </xsd:element>
- <xsd:element name="supported-locale"
- type="javaee:faces-config-supported-localeType"
- minOccurs="0"
- maxOccurs="unbounded">
- </xsd:element>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-default-validatorsType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "default-validators" element allows the app developer to
- register a set of validators, referenced by identifier, that
- are automatically assigned to any EditableValueHolder component
- in the application, unless overridden or disabled locally.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:sequence>
- <xsd:element name="validator-id"
- type="javaee:string"
- minOccurs="0"
- maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>
-
- The "validator-id" element represents the identifier
- of a registered validator.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-managed-beanType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "managed-bean" element represents a JavaBean, of a
- particular class, that will be dynamically instantiated
- at runtime (by the default VariableResolver implementation)
- if it is referenced as the first element of a value binding
- expression, and no corresponding bean can be identified in
- any scope. In addition to the creation of the managed bean,
- and the optional storing of it into the specified scope,
- the nested managed-property elements can be used to
- initialize the contents of settable JavaBeans properties of
- the created instance.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:sequence>
- <xsd:group ref="javaee:descriptionGroup"/>
- <xsd:element name="managed-bean-name"
- type="javaee:java-identifierType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "managed-bean-name" element represents the
- attribute name under which a managed bean will
- be searched for, as well as stored (unless the
- "managed-bean-scope" value is "none").
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="managed-bean-class"
- type="javaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "managed-bean-class" element represents the fully
- qualified class name of the Java class that will be
- used`to instantiate a new instance if creation of the
- specified`managed bean is requested.
-
- The specified class must conform to standard JavaBeans
- conventions. In particular, it must have a public
- zero-arguments constructor, and zero or more public
- property setters.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element
- name="managed-bean-scope"
- type="javaee:faces-config-managed-bean-scopeOrNoneType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "managed-bean-scope" element represents the scope
- into which a newly created instance of the specified
- managed bean will be stored (unless the value is
- "none").
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:choice>
- <xsd:element name="managed-property"
- type="javaee:faces-config-managed-propertyType"
- minOccurs="0"
- maxOccurs="unbounded"/>
- <xsd:element name="map-entries"
- type="javaee:faces-config-map-entriesType"/>
- <xsd:element name="list-entries"
- type="javaee:faces-config-list-entriesType"/>
- </xsd:choice>
- <xsd:element name="managed-bean-extension"
- type="javaee:faces-config-managed-bean-extensionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name="eager"
- type="xsd:boolean"
- use="optional">
- <xsd:annotation>
- <xsd:documentation>
-
- This attribute is only considered when associated with
- an application-scoped managed bean. If the value of the eager
- attribute is true the runtime must instantiate this class
- and store the instance within the application scope when the
- application starts.
-
- If eager is unspecified or is false, the default "lazy"
- instantiation and scoped storage of the managed bean
- will occur.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name = "faces-config-managed-bean-extensionType">
- <xsd:annotation>
- <xsd:documentation>
-
- Extension element for managed-bean. It may contain
- implementation specific content.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:sequence>
- <xsd:any namespace="##any"
- processContents="lax"
- minOccurs="0"
- maxOccurs="unbounded" />
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
-
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-managed-bean-scopeOrNoneType">
- <xsd:annotation>
- <xsd:documentation>
-
- <![CDATA[
- Defines the legal values for the <managed-bean-scope>
- element's body content, which includes all of the scopes
- normally used in a web application, plus the "none" value
- indicating that a created bean should not be stored into
- any scope. Alternatively, an EL expression may be used
- as the value of this element. The result of evaluating this
- expression must by of type java.util.Map.
- ]]>
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:simpleContent>
- <xsd:restriction base="javaee:string">
- <xsd:pattern value="view|request|session|application|none|#\{.*\}"/>
- </xsd:restriction>
- </xsd:simpleContent>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-managed-propertyType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "managed-property" element represents an individual
- property of a managed bean that will be configured to the
- specified value (or value set) if the corresponding
- managed bean is automatically created.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:group ref="javaee:descriptionGroup"/>
- <xsd:element name="property-name"
- type="javaee:string">
- <xsd:annotation>
- <xsd:documentation>
-
- The "property-name" element represents the JavaBeans
- property name under which the corresponding value may
- be stored.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="property-class"
- type="javaee:java-typeType"
- minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>
-
- The "property-class" element represents the Java type
- of the value associated with this property name.
- If not specified, it can be inferred from existing
- classes; however, this element should be specified
- if the configuration file is going to be the source
- for generating the corresponding classes.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:choice>
- <xsd:element name="map-entries"
- type="javaee:faces-config-map-entriesType"/>
- <xsd:element name="null-value"
- type="javaee:faces-config-null-valueType">
- </xsd:element>
- <xsd:element name="value"
- type="javaee:faces-config-valueType"/>
- <xsd:element name="list-entries"
- type="javaee:faces-config-list-entriesType"/>
- </xsd:choice>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-map-entryType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "map-entry" element reprsents a single key-entry pair
- that will be added to the computed value of a managed
- property of type java.util.Map.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element name="key"
- type="javaee:string">
- <xsd:annotation>
- <xsd:documentation>
-
- The "key" element is the String representation of a
- map key that will be stored in a managed property of
- type java.util.Map.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:choice>
- <xsd:element name="null-value"
- type="javaee:faces-config-null-valueType"/>
- <xsd:element name="value"
- type="javaee:faces-config-valueType"/>
- </xsd:choice>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-map-entriesType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "map-entries' element represents a set of key-entry pairs
- that will be added to the computed value of a managed property
- of type java.util.Map. In addition, the Java class types
- of the key and entry values may be optionally declared.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:sequence>
- <xsd:element name="key-class"
- type="javaee:fully-qualified-classType"
- minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>
-
- The "key-class" element defines the Java type to which
- each "key" element in a set of "map-entry" elements
- will be converted to. If omitted, "java.lang.String"
- is assumed.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="value-class"
- type="javaee:faces-config-value-classType"
- minOccurs="0"/>
- <xsd:element name="map-entry"
- type="javaee:faces-config-map-entryType"
- minOccurs="0"
- maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-navigation-caseType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "navigation-case" element describes a particular
- combination of conditions that must match for this case to
- be executed, and the view id of the component tree that
- should be selected next.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:group ref="javaee:descriptionGroup"/>
- <xsd:element name="from-action"
- type="javaee:faces-config-from-actionType"
- minOccurs="0">
- </xsd:element>
- <xsd:element name="from-outcome"
- type="javaee:string" minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>
-
- The "from-outcome" element contains a logical outcome
- string returned by the execution of an application
- action method selected via an "actionRef" property
- (or a literal value specified by an "action" property)
- of a UICommand component. If specified, this rule
- will be relevant only if the outcome value matches
- this element's value. If not specified, this rule
- will be relevant if the outcome value is non-null
- or, if the "if" element is present, will be relevant
- for any outcome value, with the assumption that the
- condition specified in the "if" element ultimately
- determines if this rule is a match.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="if"
- type="javaee:faces-config-ifType"
- minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>
-
- Please see section JSF.7.4.2 for the specification of this element.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="to-view-id"
- type="javaee:faces-config-valueType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "to-view-id" element contains the view identifier
- of the next view that should be displayed if this
- navigation rule is matched. If the contents is a
- value expression, it should be resolved by the
- navigation handler to obtain the view identifier.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element
- name="redirect"
- type="javaee:faces-config-redirectType" minOccurs="0"/>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-navigation-ruleType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "navigation-rule" element represents an individual
- decision rule that will be utilized by the default
- NavigationHandler implementation to make decisions on
- what view should be displayed next, based on the
- view id being processed.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:group ref="javaee:descriptionGroup"/>
- <xsd:element name="from-view-id"
- type="javaee:faces-config-from-view-idType"
- minOccurs="0"/>
- <xsd:element name="navigation-case"
- type="javaee:faces-config-navigation-caseType"
- minOccurs="0"
- maxOccurs="unbounded"/>
- <xsd:element
- name="navigation-rule-extension"
- type="javaee:faces-config-navigation-rule-extensionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name = "faces-config-navigation-rule-extensionType">
- <xsd:annotation>
- <xsd:documentation>
-
- Extension element for navigation-rule. It may contain
- implementation specific content.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:sequence>
- <xsd:any namespace="##any"
- processContents="lax"
- minOccurs="0"
- maxOccurs="unbounded" />
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
-
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-null-valueType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "null-value" element indicates that the managed
- property in which we are nested will be explicitly
- set to null if our managed bean is automatically
- created. This is different from omitting the managed
- property element entirely, which will cause no
- property setter to be called for this property.
-
- The "null-value" element can only be used when the
- associated "property-class" identifies a Java class,
- not a Java primitive.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-propertyType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "property" element represents a JavaBean property of the
- Java class represented by our parent element.
-
- Property names must be unique within the scope of the Java
- class that is represented by the parent element, and must
- correspond to property names that will be recognized when
- performing introspection against that class via
- java.beans.Introspector.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:group ref="javaee:descriptionGroup"/>
- <xsd:element name="property-name"
- type="javaee:string">
- <xsd:annotation>
- <xsd:documentation>
-
- The "property-name" element represents the JavaBeans
- property name under which the corresponding value
- may be stored.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="property-class"
- type="javaee:java-typeType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "property-class" element represents the Java type
- of the value associated with this property name.
- If not specified, it can be inferred from existing
- classes; however, this element should be specified if
- the configuration file is going to be the source for
- generating the corresponding classes.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="default-value"
- type="javaee:faces-config-default-valueType"
- minOccurs="0"/>
- <xsd:element name="suggested-value"
- type="javaee:faces-config-suggested-valueType"
- minOccurs="0"/>
- <xsd:element name="property-extension"
- type="javaee:faces-config-property-extensionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
-
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-property-extensionType">
- <xsd:annotation>
- <xsd:documentation>
-
- Extension element for property. It may contain
- implementation specific content.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:sequence>
- <xsd:any namespace="##any"
- processContents="lax"
- minOccurs="0"
- maxOccurs="unbounded" />
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-redirectType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "redirect" element indicates that navigation to the
- specified "to-view-id" should be accomplished by
- performing an HTTP redirect rather than the usual
- ViewHandler mechanisms.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element name="view-param"
- type="javaee:faces-config-redirect-viewParamType"
- minOccurs="0" maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- <xsd:attribute name="include-view-params" type="xsd:boolean" use="optional"/>
-
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-redirect-viewParamType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "view-param" element, only valid within
- a "redirect" element, contains child "name"
- and "value" elements that must be included in the
- redirect url when the redirect is performed.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element name="name"
- type="javaee:string"
- minOccurs="1" maxOccurs="1"/>
- <xsd:element name="value"
- type="javaee:string"
- minOccurs="1" maxOccurs="1"/>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
-
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-referenced-beanType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "referenced-bean" element represents at design time the
- promise that a Java object of the specified type will exist at
- runtime in some scope, under the specified key. This can be
- used by design time tools to construct user interface dialogs
- based on the properties of the specified class. The presence
- or absence of a referenced bean element has no impact on the
- JavaServer Faces runtime environment inside a web application.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:group ref="javaee:descriptionGroup"/>
- <xsd:element name="referenced-bean-name"
- type="javaee:java-identifierType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "referenced-bean-name" element represents the
- attribute name under which the corresponding
- referenced bean may be assumed to be stored, in one
- of 'request', 'session', 'view', 'application'
- or a custom scope.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="referenced-bean-class"
- type="javaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "referenced-bean-class" element represents the
- fully qualified class name of the Java class
- (either abstract or concrete) or Java interface
- implemented by the corresponding referenced bean.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-render-kitType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "render-kit" element represents a concrete RenderKit
- implementation that should be registered under the specified
- render-kit-id. If no render-kit-id is specified, the
- identifier of the default RenderKit
- (RenderKitFactory.DEFAULT_RENDER_KIT) is assumed.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:sequence>
- <xsd:group ref="javaee:descriptionGroup"/>
- <xsd:element name="render-kit-id"
- type="javaee:string"
- minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>
-
- The "render-kit-id" element represents an identifier
- for the RenderKit represented by the parent
- "render-kit" element.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="render-kit-class"
- type="javaee:fully-qualified-classType"
- minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>
-
- The "render-kit-class" element represents the fully
- qualified class name of a concrete RenderKit
- implementation class.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="renderer"
- type="javaee:faces-config-rendererType"
- minOccurs="0"
- maxOccurs="unbounded"/>
- <xsd:element name="client-behavior-renderer"
- type="javaee:faces-config-client-behavior-rendererType"
- minOccurs="0"
- maxOccurs="unbounded"/>
- <xsd:element name="render-kit-extension"
- type="javaee:faces-config-render-kit-extensionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-client-behavior-rendererType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "client-behavior-renderer" element represents a concrete
- ClientBehaviorRenderer implementation class that should be
- registered under the specified behavior renderer type identifier,
- in the RenderKit associated with the parent "render-kit"
- element. Client Behavior renderer type must be unique within the RenderKit
- associated with the parent "render-kit" element.
-
- Nested "attribute" elements identify generic component
- attributes that are recognized by this renderer.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:sequence>
- <xsd:element name="client-behavior-renderer-type"
- type="javaee:string">
- <xsd:annotation>
- <xsd:documentation>
-
- The "client-behavior-renderer-type" element represents a renderer type
- identifier for the Client Behavior Renderer represented by the parent
- "client-behavior-renderer" element.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="client-behavior-renderer-class"
- type="javaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "client-behavior-renderer-class" element represents the fully
- qualified class name of a concrete Client Behavior Renderer
- implementation class.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- </xsd:sequence>
- </xsd:complexType>
-
- <xsd:complexType name="faces-config-rendererType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "renderer" element represents a concrete Renderer
- implementation class that should be registered under the
- specified component family and renderer type identifiers,
- in the RenderKit associated with the parent "render-kit"
- element. Combinations of component family and
- renderer type must be unique within the RenderKit
- associated with the parent "render-kit" element.
-
- Nested "attribute" elements identify generic component
- attributes that are recognized by this renderer.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:sequence>
- <xsd:group ref="javaee:descriptionGroup"/>
- <xsd:element name="component-family"
- type="javaee:string">
- <xsd:annotation>
- <xsd:documentation>
-
- The "component-family" element represents the
- component family for which the Renderer represented
- by the parent "renderer" element will be used.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="renderer-type"
- type="javaee:string">
- <xsd:annotation>
- <xsd:documentation>
-
- The "renderer-type" element represents a renderer type
- identifier for the Renderer represented by the parent
- "renderer" element.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="renderer-class"
- type="javaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "renderer-class" element represents the fully
- qualified class name of a concrete Renderer
- implementation class.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="facet"
- type="javaee:faces-config-facetType"
- minOccurs="0"
- maxOccurs="unbounded"/>
- <xsd:element name="attribute"
- type="javaee:faces-config-attributeType"
- minOccurs="0"
- maxOccurs="unbounded"/>
- <xsd:element name="renderer-extension"
- type="javaee:faces-config-renderer-extensionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-renderer-extensionType">
- <xsd:annotation>
- <xsd:documentation>
-
- Extension element for renderer. It may contain implementation
- specific content.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:sequence>
- <xsd:any namespace="##any"
- processContents="lax"
- minOccurs="0"
- maxOccurs="unbounded" />
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-render-kit-extensionType">
- <xsd:annotation>
- <xsd:documentation>
-
- Extension element for render-kit. It may contain
- implementation specific content.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:sequence>
- <xsd:any namespace="##any"
- processContents="lax"
- minOccurs="0"
- maxOccurs="unbounded" />
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
-
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-suggested-valueType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "suggested-value" contains the value for the property or
- attribute in which this element resides. This value is
- advisory only and is intended for tools to use when
- populating pallettes.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:simpleContent>
- <xsd:restriction base="javaee:string"/>
- </xsd:simpleContent>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-supported-localeType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "supported-locale" element allows authors to declare
- which locales are supported in this application instance.
-
- It must be specified as :language:[_:country:[_:variant:]]
- without the colons, for example "ja_JP_SJIS". The
- separators between the segments may be '-' or '_'.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:simpleContent>
- <xsd:extension base="javaee:faces-config-localeType">
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:extension>
- </xsd:simpleContent>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-behaviorType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "behavior" element represents a concrete Behavior
- implementation class that should be registered under the
- specified behavior identifier. Behavior identifiers must
- be unique within the entire web application.
-
- Nested "attribute" elements identify generic attributes that
- may be configured on the corresponding UIComponent in order
- to affect the operation of the Behavior. Nested "property"
- elements identify JavaBeans properties of the Behavior
- implementation class that may be configured to affect the
- operation of the Behavior. "attribute" and "property"
- elements are intended to allow component developers to
- more completely describe their components to tools and users.
- These elements have no required runtime semantics.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:group ref="javaee:descriptionGroup"/>
- <xsd:element name="behavior-id"
- type="javaee:string">
- <xsd:annotation>
- <xsd:documentation>
-
- The "behavior-id" element represents the identifier
- under which the corresponding Behavior class should
- be registered.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="behavior-class"
- type="javaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "behavior-class" element represents the fully
- qualified class name of a concrete Behavior
- implementation class.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="attribute"
- type="javaee:faces-config-attributeType"
- minOccurs="0"
- maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>
-
- Nested "attribute" elements identify generic
- attributes that may be configured on the
- corresponding UIComponent in order to affect the
- operation of the Behavior. This attribute is
- primarily for design-time tools and is not
- specified to have any meaning at runtime.
-
- </xsd:documentation>
- </xsd:annotation>
-
- </xsd:element>
- <xsd:element name="property"
- type="javaee:faces-config-propertyType"
- minOccurs="0"
- maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>
-
- Nested "property" elements identify JavaBeans
- properties of the Behavior implementation class
- that may be configured to affect the operation of
- the Behavior. This attribute is primarily for
- design-time tools and is not specified to have
- any meaning at runtime.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="behavior-extension"
- type="javaee:faces-config-behavior-extensionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
- </xsd:sequence>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name = "faces-config-behavior-extensionType">
- <xsd:annotation>
- <xsd:documentation>
-
- Extension element for behavior. It may contain
- implementation specific content.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:sequence>
- <xsd:any namespace="##any"
- processContents="lax"
- minOccurs="0"
- maxOccurs="unbounded" />
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-validatorType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "validator" element represents a concrete Validator
- implementation class that should be registered under the
- specified validator identifier. Validator identifiers must
- be unique within the entire web application.
-
- Nested "attribute" elements identify generic attributes that
- may be configured on the corresponding UIComponent in order
- to affect the operation of the Validator. Nested "property"
- elements identify JavaBeans properties of the Validator
- implementation class that may be configured to affect the
- operation of the Validator. "attribute" and "property"
- elements are intended to allow component developers to
- more completely describe their components to tools and users.
- These elements have no required runtime semantics.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:group ref="javaee:descriptionGroup"/>
- <xsd:element name="validator-id"
- type="javaee:string">
- <xsd:annotation>
- <xsd:documentation>
-
- The "validator-id" element represents the identifier
- under which the corresponding Validator class should
- be registered.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="validator-class"
- type="javaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "validator-class" element represents the fully
- qualified class name of a concrete Validator
- implementation class.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="attribute"
- type="javaee:faces-config-attributeType"
- minOccurs="0"
- maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>
-
- Nested "attribute" elements identify generic
- attributes that may be configured on the
- corresponding UIComponent in order to affect the
- operation of the Validator. This attribute is
- primarily for design-time tools and is not
- specified to have any meaning at runtime.
-
- </xsd:documentation>
- </xsd:annotation>
-
- </xsd:element>
- <xsd:element name="property"
- type="javaee:faces-config-propertyType"
- minOccurs="0"
- maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>
-
- Nested "property" elements identify JavaBeans
- properties of the Validator implementation class
- that may be configured to affect the operation of
- the Validator. This attribute is primarily for
- design-time tools and is not specified to have
- any meaning at runtime.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="validator-extension"
- type="javaee:faces-config-validator-extensionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name = "faces-config-validator-extensionType">
- <xsd:annotation>
- <xsd:documentation>
-
- Extension element for validator. It may contain
- implementation specific content.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:sequence>
- <xsd:any namespace="##any"
- processContents="lax"
- minOccurs="0"
- maxOccurs="unbounded" />
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:simpleType name="faces-config-valueType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "value" element is the String representation of
- a literal value to which a scalar managed property
- will be set, or a value binding expression ("#{...}")
- that will be used to calculate the required value.
- It will be converted as specified for the actual
- property type.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:union
- memberTypes="javaee:faces-config-el-expressionType xsd:string"/>
- </xsd:simpleType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-value-classType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "value-class" element defines the Java type to which each
- "value" element's value will be converted to, prior to adding
- it to the "list-entries" list for a managed property that is
- a java.util.List, or a "map-entries" map for a managed
- property that is a java.util.Map.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:simpleContent>
- <xsd:restriction base="javaee:fully-qualified-classType"/>
- </xsd:simpleContent>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-list-entriesType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "list-entries" element represents a set of initialization
- elements for a managed property that is a java.util.List or an
- array. In the former case, the "value-class" element can
- optionally be used to declare the Java type to which each
- value should be converted before adding it to the Collection.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element name="value-class"
- type="javaee:faces-config-value-classType"
- minOccurs="0"/>
- <xsd:choice minOccurs="0" maxOccurs="unbounded">
- <xsd:element name="null-value"
- type="javaee:faces-config-null-valueType"/>
- <xsd:element name="value"
- type="javaee:faces-config-valueType"/>
- </xsd:choice>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:complexType name="faces-config-system-event-listenerType">
- <xsd:annotation>
- <xsd:documentation>
-
- The presence of this element within the "application" element in
- an application configuration resource file indicates the
- developer wants to add an SystemEventListener to this
- application instance. Elements nested within this element allow
- selecting the kinds of events that will be delivered to the
- listener instance, and allow selecting the kinds of classes that
- can be the source of events that are delivered to the listener
- instance.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:sequence>
- <xsd:element name="system-event-listener-class"
- type="javaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "system-event-listener-class" element contains
- the fully qualified class name of the concrete
- SystemEventListener implementation class that will be
- called when events of the type specified by the
- "system-event-class" are sent by the runtime.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="system-event-class"
- type="javaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "system-event-class" element contains the fully
- qualified class name of the SystemEvent subclass for
- which events will be delivered to the class whose fully
- qualified class name is given by the
- "system-event-listener-class" element.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="source-class" minOccurs="0"
- type="javaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
-
- The "source-class" element, if present, contains the
- fully qualified class name of the class that will be the
- source for the event to be delivered to the class whose
- fully qualified class name is given by the
- "system-event-listener-class" element.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- </xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
- </xsd:complexType>
-
- <!-- **************************************************** -->
-
- <xsd:simpleType name="faces-config-versionType">
- <xsd:annotation>
- <xsd:documentation>
-
- This type contains the recognized versions of
- faces-config supported.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:restriction base="xsd:token">
- <xsd:enumeration value="2.0"/>
- </xsd:restriction>
- </xsd:simpleType>
-
- <!-- **************************************************** -->
-
-</xsd:schema>
Added: root/cdk/trunk/plugins/generator/src/main/resources/META-INF/schema/web-facesconfig_2_0.xsd
===================================================================
--- root/cdk/trunk/plugins/generator/src/main/resources/META-INF/schema/web-facesconfig_2_0.xsd (rev 0)
+++ root/cdk/trunk/plugins/generator/src/main/resources/META-INF/schema/web-facesconfig_2_0.xsd 2010-05-10 18:37:59 UTC (rev 16977)
@@ -0,0 +1,2726 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+
+
+<xsd:schema
+ targetNamespace="http://java.sun.com/xml/ns/javaee"
+ xmlns:javaee="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:xml="http://www.w3.org/XML/1998/namespace"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified"
+ version="2.0">
+
+ <xsd:annotation>
+ <xsd:documentation>
+
+ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
+
+ Copyright 2003-2009 Sun Microsystems, Inc. All rights reserved.
+
+ The contents of this file are subject to the terms of either the
+ GNU General Public License Version 2 only ("GPL") or the Common
+ Development and Distribution License("CDDL") (collectively, the
+ "License"). You may not use this file except in compliance with
+ the License. You can obtain a copy of the License at
+ https://glassfish.dev.java.net/public/CDDL+GPL.html or
+ glassfish/bootstrap/legal/LICENSE.txt. See the License for the
+ specific language governing permissions and limitations under the
+ License.
+
+ When distributing the software, include this License Header
+ Notice in each file and include the License file at
+ glassfish/bootstrap/legal/LICENSE.txt. Sun designates this
+ particular file as subject to the "Classpath" exception as
+ provided by Sun in the GPL Version 2 section of the License file
+ that accompanied this code. If applicable, add the following
+ below the License Header, with the fields enclosed by brackets []
+ replaced by your own identifying information:
+ "Portions Copyrighted [year] [name of copyright owner]"
+
+ Contributor(s):
+
+ If you wish your version of this file to be governed by only the
+ CDDL or only the GPL Version 2, indicate your decision by adding
+ "[Contributor] elects to include this software in this
+ distribution under the [CDDL or GPL Version 2] license." If you
+ don't indicate a single choice of license, a recipient has the
+ option to distribute your version of this file under either the
+ CDDL, the GPL Version 2 or to extend the choice of license to its
+ licensees as provided above. However, if you add GPL Version 2
+ code and therefore, elected the GPL Version 2 license, then the
+ option applies only if the new code is made subject to such
+ option by the copyright holder.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:annotation>
+ <xsd:documentation>
+
+ <![CDATA[
+
+ The XML Schema for the JavaServer Faces Application
+ Configuration File (Version 2.0).
+
+ All JavaServer Faces configuration files must indicate
+ the JavaServer Faces schema by indicating the JavaServer
+ Faces namespace:
+
+ http://java.sun.com/xml/ns/javaee
+
+ and by indicating the version of the schema by
+ using the version element as shown below:
+
+ <faces-config xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="..."
+ version="2.0">
+ ...
+ </faces-config>
+
+ The instance documents may indicate the published
+ version of the schema using xsi:schemaLocation attribute
+ for javaee namespace with the following location:
+
+ http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd
+
+ ]]>
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:include schemaLocation="javaee_5.xsd"/>
+
+ <!-- **************************************************** -->
+
+ <xsd:element name = "faces-config" type="javaee:faces-configType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "faces-config" element is the root of the configuration
+ information hierarchy, and contains nested elements for all
+ of the other configuration settings.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:unique name="faces-config-behavior-ID-uniqueness">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Behavior IDs must be unique within a document.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:selector xpath="javaee:behavior"/>
+ <xsd:field xpath="javaee:behavior-id"/>
+ </xsd:unique>
+
+ <xsd:unique name="faces-config-converter-ID-uniqueness">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Converter IDs must be unique within a document.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:selector xpath="javaee:converter"/>
+ <xsd:field xpath="javaee:converter-id"/>
+ </xsd:unique>
+
+ <xsd:unique name="faces-config-converter-for-class-uniqueness">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ 'converter-for-class' element values must be unique
+ within a document.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:selector xpath="javaee:converter"/>
+ <xsd:field xpath="javaee:converter-for-class"/>
+ </xsd:unique>
+
+ <xsd:unique name="faces-config-validator-ID-uniqueness">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Validator IDs must be unique within a document.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:selector xpath="javaee:validator"/>
+ <xsd:field xpath="javaee:validator-id"/>
+ </xsd:unique>
+
+ <xsd:unique name="faces-config-managed-bean-name-uniqueness">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Managed bean names must be unique within a document.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:selector xpath="javaee:managed-bean"/>
+ <xsd:field xpath="javaee:managed-bean-name"/>
+ </xsd:unique>
+ </xsd:element>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-configType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "faces-config" element is the root of the configuration
+ information hierarchy, and contains nested elements for all
+ of the other configuration settings.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="application"
+ type="javaee:faces-config-applicationType"/>
+ <xsd:element name="ordering"
+ type="javaee:faces-config-orderingType"/>
+ <xsd:element name="absolute-ordering"
+ type="javaee:faces-config-absoluteOrderingType"
+ minOccurs="0"
+ maxOccurs="1"/>
+ <xsd:element name="factory"
+ type="javaee:faces-config-factoryType"/>
+ <xsd:element name="component"
+ type="javaee:faces-config-componentType"/>
+ <xsd:element name="converter"
+ type="javaee:faces-config-converterType"/>
+ <xsd:element name="managed-bean"
+ type="javaee:faces-config-managed-beanType"/>
+ <xsd:element name="name"
+ type="javaee:java-identifierType"
+ minOccurs="0"
+ maxOccurs="1">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "name" element within the top level "faces-config"
+ element declares the name of this application
+ configuration resource. Such names are used
+ in the document ordering scheme specified in section
+ JSF.11.4.6.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:element name="navigation-rule"
+ type="javaee:faces-config-navigation-ruleType"/>
+ <xsd:element name="referenced-bean"
+ type="javaee:faces-config-referenced-beanType"/>
+ <xsd:element name="render-kit"
+ type="javaee:faces-config-render-kitType"/>
+ <xsd:element name="lifecycle"
+ type="javaee:faces-config-lifecycleType"/>
+ <xsd:element name="validator"
+ type="javaee:faces-config-validatorType"/>
+ <xsd:element name="behavior"
+ type="javaee:faces-config-behaviorType"/>
+ <xsd:element name="faces-config-extension"
+ type="javaee:faces-config-extensionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xsd:choice>
+ <xsd:attribute name="metadata-complete"
+ type="xsd:boolean"
+ use="optional">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The metadata-complete attribute defines whether this
+ JavaServer Faces application is complete, or whether
+ the class files available to this module and packaged with
+ this application should be examined for annotations
+ that specify configuration information.
+
+ This attribute is only inspected on the application
+ configuration resource file located at "WEB-INF/faces-config.xml".
+ The presence of this attribute on any application configuration
+ resource other than the one located at "WEB-INF/faces-config.xml",
+ including any files named using the javax.faces.CONFIG_FILES
+ attribute, must be ignored.
+
+ If metadata-complete is set to "true", the JavaServer Faces
+ runtime must ignore any annotations that specify configuration
+ information, which might be present in the class files
+ of the application.
+
+ If metadata-complete is not specified or is set to
+ "false", the JavaServer Faces runtime must examine the class
+ files of the application for annotations, as specified by
+ the specification.
+
+ If "WEB-INF/faces-config.xml" is not present, the JavaServer
+ Faces runtime will assume metadata-complete to be "false".
+
+ The value of this attribute will have no impact on
+ runtime annotations such as @ResourceDependency or
+ @ListenerFor.
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="id" type="xsd:ID" />
+ <xsd:attribute name="version"
+ type="javaee:faces-config-versionType"
+ use="required"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name = "faces-config-extensionType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Extension element for faces-config. It may contain
+ implementation specific content.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:sequence>
+ <xsd:any namespace="##any"
+ processContents="lax"
+ minOccurs="0"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+
+ <!-- **************************************************** -->
+
+
+ <xsd:complexType name="faces-config-orderingType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Please see section JSF.11.4.6 for the specification of this element.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="after"
+ type="javaee:faces-config-ordering-orderingType"
+ minOccurs="0"
+ maxOccurs="1"/>
+ <xsd:element name="before"
+ type="javaee:faces-config-ordering-orderingType"
+ minOccurs="0"
+ maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="faces-config-ordering-orderingType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ This element contains a sequence of "id" elements, each of which
+ refers to an application configuration resource by the "id"
+ declared on its faces-config element. This element can also contain
+ a single "others" element which specifies that this document comes
+ before or after other documents within the application.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="name" type="javaee:java-identifierType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="others" type="javaee:faces-config-ordering-othersType" minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="faces-config-ordering-othersType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ This element indicates that the ordering sub-element in which
+ it was placed should take special action regarding the ordering
+ of this application resource relative to other
+ application configuration resources. See section JSF.11.4.6
+ for the complete specification.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+
+ <!-- **************************************************** -->
+
+
+ <xsd:complexType name="faces-config-absoluteOrderingType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Only relevant if this is placed within the /WEB-INF/faces-config.xml.
+ Please see section JSF.11.4.6 for the specification for details.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="name" type="javaee:java-identifierType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="others" type="javaee:faces-config-ordering-othersType" minOccurs="0" maxOccurs="1" />
+ </xsd:choice>
+ </xsd:complexType>
+
+
+ <!-- **************************************************** -->
+
+
+ <xsd:complexType name="faces-config-applicationType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "application" element provides a mechanism to define the
+ various per-application-singleton implementation artifacts for
+ a particular web application that is utilizing
+ JavaServer Faces. For nested elements that are not specified,
+ the JSF implementation must provide a suitable default.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="action-listener"
+ type="javaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "action-listener" element contains the fully
+ qualified class name of the concrete
+ ActionListener implementation class that will be
+ called during the Invoke Application phase of the
+ request processing lifecycle.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="default-render-kit-id"
+ type="javaee:string">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "default-render-kit-id" element allows the
+ application to define a renderkit to be used other
+ than the standard one.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="message-bundle"
+ type="javaee:string">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The base name of a resource bundle representing
+ the message resources for this application. See
+ the JavaDocs for the "java.util.ResourceBundle"
+ class for more information on the syntax of
+ resource bundle names.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="navigation-handler"
+ type="javaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "navigation-handler" element contains the
+ fully qualified class name of the concrete
+ NavigationHandler implementation class that will
+ be called during the Invoke Application phase
+ of the request processing lifecycle, if the
+ default ActionListener (provided by the JSF
+ implementation) is used.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="view-handler"
+ type="javaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "view-handler" element contains the fully
+ qualified class name of the concrete ViewHandler
+ implementation class that will be called during
+ the Restore View and Render Response phases of the
+ request processing lifecycle. The faces
+ implementation must provide a default
+ implementation of this class.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="state-manager"
+ type="javaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "state-manager" element contains the fully
+ qualified class name of the concrete StateManager
+ implementation class that will be called during
+ the Restore View and Render Response phases of the
+ request processing lifecycle. The faces
+ implementation must provide a default
+ implementation of this class.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="el-resolver"
+ type="javaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "el-resolver" element contains the fully
+ qualified class name of the concrete
+ javax.el.ELResolver implementation class
+ that will be used during the processing of
+ EL expressions.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="property-resolver"
+ type="javaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "property-resolver" element contains the fully
+ qualified class name of the concrete
+ PropertyResolver implementation class that will
+ be used during the processing of value binding
+ expressions.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="variable-resolver"
+ type="javaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "variable-resolver" element contains the fully
+ qualified class name of the concrete
+ VariableResolver implementation class that will
+ be used during the processing of value binding
+ expressions.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="resource-handler"
+ type="javaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+
+ The "resource-handler" element contains the
+ fully qualified class name of the concrete
+ ResourceHandler implementation class that
+ will be used during rendering and decoding
+ of resource requests The standard
+ constructor based decorator pattern used for
+ other application singletons will be
+ honored.
+
+ ]]>
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="system-event-listener"
+ type="javaee:faces-config-system-event-listenerType"
+ minOccurs="0"
+ maxOccurs="unbounded">
+ </xsd:element>
+ <xsd:element
+ name="locale-config"
+ type="javaee:faces-config-locale-configType"/>
+ <xsd:element
+ name="resource-bundle"
+ type="javaee:faces-config-application-resource-bundleType"/>
+ <xsd:element name="application-extension"
+ type="javaee:faces-config-application-extensionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element
+ name="default-validators"
+ type="javaee:faces-config-default-validatorsType"/>
+ </xsd:choice>
+ <xsd:attribute name = "id" type = "xsd:ID"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="faces-config-application-resource-bundleType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The resource-bundle element inside the application element
+ references a java.util.ResourceBundle instance by name
+ using the var element. ResourceBundles referenced in this
+ manner may be returned by a call to
+ Application.getResourceBundle() passing the current
+ FacesContext for this request and the value of the var
+ element below.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:sequence>
+ <xsd:group ref="javaee:descriptionGroup"/>
+ <xsd:element name="base-name"
+ type="javaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The fully qualified class name of the
+ java.util.ResourceBundle instance.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="var"
+ type="javaee:string">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The name by which this ResourceBundle instance
+ is retrieved by a call to
+ Application.getResourceBundle().
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name = "faces-config-application-extensionType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Extension element for application. It may contain
+ implementation specific content.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:sequence>
+ <xsd:any namespace="##any"
+ processContents="lax"
+ minOccurs="0"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name = "faces-config-factoryType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "factory" element provides a mechanism to define the
+ various Factories that comprise parts of the implementation
+ of JavaServer Faces. For nested elements that are not
+ specified, the JSF implementation must provide a suitable
+ default.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="application-factory"
+ type="javaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "application-factory" element contains the
+ fully qualified class name of the concrete
+ ApplicationFactory implementation class that will
+ be called when
+ FactoryFinder.getFactory(APPLICATION_FACTORY) is
+ called.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="exception-handler-factory"
+ type="javaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "exception-handler-factory" element contains the
+ fully qualified class name of the concrete
+ ExceptionHandlerFactory implementation class that will
+ be called when
+ FactoryFinder.getFactory(EXCEPTION_HANDLER_FACTORY)
+ is called.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="external-context-factory"
+ type="javaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "external-context-factory" element contains the
+ fully qualified class name of the concrete
+ ExternalContextFactory implementation class that will
+ be called when
+ FactoryFinder.getFactory(EXTERNAL_CONTEXT_FACTORY)
+ is called.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:element name="faces-context-factory"
+ type="javaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "faces-context-factory" element contains the
+ fully qualified class name of the concrete
+ FacesContextFactory implementation class that will
+ be called when
+ FactoryFinder.getFactory(FACES_CONTEXT_FACTORY)
+ is called.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:element name="partial-view-context-factory"
+ type="javaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "partial-view-context-factory" element contains the
+ fully qualified class name of the concrete
+ PartialViewContextFactory implementation class that will
+ be called when FactoryFinder.getFactory
+ (FactoryFinder.PARTIAL_VIEW_CONTEXT_FACTORY) is called.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:element name="lifecycle-factory"
+ type="javaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "lifecycle-factory" element contains the fully
+ qualified class name of the concrete LifecycleFactory
+ implementation class that will be called when
+ FactoryFinder.getFactory(LIFECYCLE_FACTORY) is called.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="view-declaration-language-factory"
+ type="javaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "view-declaration-language-factory" element contains
+ the fully qualified class name of the concrete
+ ViewDeclarationLanguageFactory
+ implementation class that will be called when
+ FactoryFinder.getFactory(VIEW_DECLARATION_FACTORY) is called.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="tag-handler-delegate-factory"
+ type="javaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "tag-handler-delegate-factory" element contains
+ the fully qualified class name of the concrete
+ ViewDeclarationLanguageFactory
+ implementation class that will be called when
+ FactoryFinder.getFactory(TAG_HANDLER_DELEGATE_FACTORY) is called.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="render-kit-factory"
+ type="javaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "render-kit-factory" element contains the fully
+ qualified class name of the concrete RenderKitFactory
+ implementation class that will be called when
+ FactoryFinder.getFactory(RENDER_KIT_FACTORY) is
+ called.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="visit-context-factory"
+ type="javaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "visit-context-factory" element contains the fully
+ qualified class name of the concrete VisitContextFactory
+ implementation class that will be called when
+ FactoryFinder.getFactory(VISIT_CONTEXT_FACTORY) is
+ called.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="factory-extension"
+ type="javaee:faces-config-factory-extensionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xsd:choice>
+ <xsd:attribute name = "id" type = "xsd:ID"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name = "faces-config-factory-extensionType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Extension element for factory. It may contain
+ implementation specific content.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:sequence>
+ <xsd:any namespace="##any"
+ processContents="lax"
+ minOccurs="0"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-attributeType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "attribute" element represents a named, typed, value
+ associated with the parent UIComponent via the generic
+ attributes mechanism.
+
+ Attribute names must be unique within the scope of the parent
+ (or related) component.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:sequence>
+ <xsd:group ref="javaee:descriptionGroup"/>
+ <xsd:element name="attribute-name"
+ type="javaee:string">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "attribute-name" element represents the name under
+ which the corresponding value will be stored, in the
+ generic attributes of the UIComponent we are related
+ to.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="attribute-class"
+ type="javaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "attribute-class" element represents the Java type
+ of the value associated with this attribute name.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="default-value"
+ type="javaee:faces-config-default-valueType"
+ minOccurs="0"/>
+ <xsd:element name="suggested-value"
+ type="javaee:faces-config-suggested-valueType"
+ minOccurs="0"/>
+ <xsd:element name="attribute-extension"
+ type="javaee:faces-config-attribute-extensionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name = "id" type = "xsd:ID"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name = "faces-config-attribute-extensionType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Extension element for attribute. It may contain
+ implementation specific content.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:sequence>
+ <xsd:any namespace="##any"
+ processContents="lax"
+ minOccurs="0"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-componentType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "component" element represents a concrete UIComponent
+ implementation class that should be registered under the
+ specified type identifier, along with its associated
+ properties and attributes. Component types must be unique
+ within the entire web application.
+
+ Nested "attribute" elements identify generic attributes that
+ are recognized by the implementation logic of this component.
+ Nested "property" elements identify JavaBeans properties of
+ the component class that may be exposed for manipulation
+ via tools.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:sequence>
+ <xsd:group ref="javaee:descriptionGroup"/>
+ <xsd:element name="component-type"
+ type="javaee:string">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "component-type" element represents the name under
+ which the corresponding UIComponent class should be
+ registered.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="component-class"
+ type="javaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "component-class" element represents the fully
+ qualified class name of a concrete UIComponent
+ implementation class.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="facet"
+ type="javaee:faces-config-facetType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="attribute"
+ type="javaee:faces-config-attributeType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="property"
+ type="javaee:faces-config-propertyType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="component-extension"
+ type="javaee:faces-config-component-extensionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-component-extensionType">
+ <xsd:annotation>
+ <xsd:documentation>
+ Extension element for component. It may contain
+ implementation specific content.
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:sequence>
+ <xsd:any namespace="##any"
+ processContents="lax"
+ minOccurs="0"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-default-localeType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "default-locale" element declares the default locale
+ for this application instance.
+
+ It must be specified as :language:[_:country:[_:variant:]]
+ without the colons, for example "ja_JP_SJIS". The
+ separators between the segments may be '-' or '_'.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleContent>
+ <xsd:extension base="javaee:faces-config-localeType">
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+
+ <xsd:complexType name="faces-config-default-valueType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "default-value" contains the value for the property or
+ attribute in which this element resides. This value differs
+ from the "suggested-value" in that the property or attribute
+ must take the value, whereas in "suggested-value" taking the
+ value is optional.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleContent>
+ <xsd:restriction base="javaee:string"/>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="faces-config-el-expressionType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ EL expressions present within a faces config file
+ must start with the character sequence of '#{' and
+ end with '}'.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:string">
+ <xsd:pattern value="#\{.*\}"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-facetType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Define the name and other design-time information for a facet
+ that is associated with a renderer or a component.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:sequence>
+ <xsd:group ref="javaee:descriptionGroup"/>
+ <xsd:element name="facet-name"
+ type="javaee:java-identifierType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "facet-name" element represents the facet name
+ under which a UIComponent will be added to its parent.
+ It must be of type "Identifier".
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="facet-extension"
+ type="javaee:faces-config-facet-extensionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-facet-extensionType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Extension element for facet. It may contain implementation
+ specific content.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:sequence>
+ <xsd:any namespace="##any"
+ processContents="lax"
+ minOccurs="0"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-from-view-idType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The value of from-view-id must contain one of the following
+ values:
+
+ - The exact match for a view identifier that is recognized
+ by the the ViewHandler implementation being used (such as
+ "/index.jsp" if you are using the default ViewHandler).
+
+ - A proper prefix of a view identifier, plus a trailing
+ "*" character. This pattern indicates that all view
+ identifiers that match the portion of the pattern up to
+ the asterisk will match the surrounding rule. When more
+ than one match exists, the match with the longest pattern
+ is selected.
+
+ - An "*" character, which means that this pattern applies
+ to all view identifiers.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleContent>
+ <xsd:restriction base="javaee:string"/>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-from-actionType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "from-action" element contains an action reference
+ expression that must have been executed (by the default
+ ActionListener for handling application level events)
+ in order to select the navigation rule. If not specified,
+ this rule will be relevant no matter which action reference
+ was executed (or if no action reference was executed).
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleContent>
+ <xsd:extension base="javaee:faces-config-el-expressionType">
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-ifType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "if" element defines a condition that must resolve
+ to true in order for the navigation case on which it is
+ defined to be matched, with the existing match criteria
+ (action method and outcome) as a prerequiste, if present.
+ The condition is defined declaratively using a value
+ expression in the body of this element. The expression is
+ evaluated at the time the navigation case is being matched.
+ If the "from-outcome" is omitted and this element is
+ present, the navigation handler will match a null outcome
+ and use the condition return value to determine if the
+ case should be considered a match.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleContent>
+ <xsd:extension base="javaee:faces-config-el-expressionType">
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-converterType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "converter" element represents a concrete Converter
+ implementation class that should be registered under the
+ specified converter identifier. Converter identifiers must
+ be unique within the entire web application.
+
+ Nested "attribute" elements identify generic attributes that
+ may be configured on the corresponding UIComponent in order
+ to affect the operation of the Converter. Nested "property"
+ elements identify JavaBeans properties of the Converter
+ implementation class that may be configured to affect the
+ operation of the Converter. "attribute" and "property"
+ elements are intended to allow component developers to
+ more completely describe their components to tools and users.
+ These elements have no required runtime semantics.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:sequence>
+ <xsd:group ref="javaee:descriptionGroup"/>
+ <xsd:choice>
+ <xsd:element name="converter-id"
+ type="javaee:string">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "converter-id" element represents the
+ identifier under which the corresponding
+ Converter class should be registered.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:element name="converter-for-class"
+ type="javaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "converter-for-class" element represents the
+ fully qualified class name for which a Converter
+ class will be registered.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:choice>
+
+ <xsd:element name="converter-class"
+ type="javaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "converter-class" element represents the fully
+ qualified class name of a concrete Converter
+ implementation class.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="attribute"
+ type="javaee:faces-config-attributeType"
+ minOccurs="0"
+ maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Nested "attribute" elements identify generic
+ attributes that may be configured on the
+ corresponding UIComponent in order to affect the
+ operation of the Converter. This attribute is
+ primarily for design-time tools and is not
+ specified to have any meaning at runtime.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="property"
+ type="javaee:faces-config-propertyType"
+ minOccurs="0"
+ maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Nested "property" elements identify JavaBeans
+ properties of the Converter implementation class
+ that may be configured to affect the operation of
+ the Converter. This attribute is primarily for
+ design-time tools and is not specified to have
+ any meaning at runtime.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="converter-extension"
+ type="javaee:faces-config-converter-extensionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name = "faces-config-converter-extensionType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Extension element for converter. It may contain
+ implementation specific content.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:sequence>
+ <xsd:any namespace="##any"
+ processContents="lax"
+ minOccurs="0"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-lifecycleType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "lifecycle" element provides a mechanism to specify
+ modifications to the behaviour of the default Lifecycle
+ implementation for this web application.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:sequence>
+ <xsd:element name="phase-listener"
+ type="javaee:fully-qualified-classType"
+ minOccurs="0"
+ maxOccurs="unbounded">
+
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "phase-listener" element contains the fully
+ qualified class name of the concrete PhaseListener
+ implementation class that will be registered on
+ the Lifecycle.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="lifecycle-extension"
+ type="javaee:faces-config-lifecycle-extensionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name = "faces-config-lifecycle-extensionType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Extension element for lifecycle. It may contain
+ implementation specific content.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:sequence>
+ <xsd:any namespace="##any"
+ processContents="lax"
+ minOccurs="0"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="faces-config-localeType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The localeType defines valid locale defined by ISO-639-1
+ and ISO-3166.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:restriction base="xsd:string">
+ <xsd:pattern value="([a-z]{2})[_|\-]?([\p{L}]{2})?[_|\-]?(\w+)?"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-locale-configType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "locale-config" element allows the app developer to
+ declare the supported locales for this application.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:sequence>
+ <xsd:element name="default-locale"
+ type="javaee:faces-config-default-localeType"
+ minOccurs="0">
+ </xsd:element>
+ <xsd:element name="supported-locale"
+ type="javaee:faces-config-supported-localeType"
+ minOccurs="0"
+ maxOccurs="unbounded">
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-default-validatorsType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "default-validators" element allows the app developer to
+ register a set of validators, referenced by identifier, that
+ are automatically assigned to any EditableValueHolder component
+ in the application, unless overridden or disabled locally.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:sequence>
+ <xsd:element name="validator-id"
+ type="javaee:string"
+ minOccurs="0"
+ maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "validator-id" element represents the identifier
+ of a registered validator.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-managed-beanType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "managed-bean" element represents a JavaBean, of a
+ particular class, that will be dynamically instantiated
+ at runtime (by the default VariableResolver implementation)
+ if it is referenced as the first element of a value binding
+ expression, and no corresponding bean can be identified in
+ any scope. In addition to the creation of the managed bean,
+ and the optional storing of it into the specified scope,
+ the nested managed-property elements can be used to
+ initialize the contents of settable JavaBeans properties of
+ the created instance.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:sequence>
+ <xsd:group ref="javaee:descriptionGroup"/>
+ <xsd:element name="managed-bean-name"
+ type="javaee:java-identifierType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "managed-bean-name" element represents the
+ attribute name under which a managed bean will
+ be searched for, as well as stored (unless the
+ "managed-bean-scope" value is "none").
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="managed-bean-class"
+ type="javaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "managed-bean-class" element represents the fully
+ qualified class name of the Java class that will be
+ used`to instantiate a new instance if creation of the
+ specified`managed bean is requested.
+
+ The specified class must conform to standard JavaBeans
+ conventions. In particular, it must have a public
+ zero-arguments constructor, and zero or more public
+ property setters.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element
+ name="managed-bean-scope"
+ type="javaee:faces-config-managed-bean-scopeOrNoneType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "managed-bean-scope" element represents the scope
+ into which a newly created instance of the specified
+ managed bean will be stored (unless the value is
+ "none").
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:choice>
+ <xsd:element name="managed-property"
+ type="javaee:faces-config-managed-propertyType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="map-entries"
+ type="javaee:faces-config-map-entriesType"/>
+ <xsd:element name="list-entries"
+ type="javaee:faces-config-list-entriesType"/>
+ </xsd:choice>
+ <xsd:element name="managed-bean-extension"
+ type="javaee:faces-config-managed-bean-extensionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="eager"
+ type="xsd:boolean"
+ use="optional">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ This attribute is only considered when associated with
+ an application-scoped managed bean. If the value of the eager
+ attribute is true the runtime must instantiate this class
+ and store the instance within the application scope when the
+ application starts.
+
+ If eager is unspecified or is false, the default "lazy"
+ instantiation and scoped storage of the managed bean
+ will occur.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name = "faces-config-managed-bean-extensionType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Extension element for managed-bean. It may contain
+ implementation specific content.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:sequence>
+ <xsd:any namespace="##any"
+ processContents="lax"
+ minOccurs="0"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-managed-bean-scopeOrNoneType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ <![CDATA[
+ Defines the legal values for the <managed-bean-scope>
+ element's body content, which includes all of the scopes
+ normally used in a web application, plus the "none" value
+ indicating that a created bean should not be stored into
+ any scope. Alternatively, an EL expression may be used
+ as the value of this element. The result of evaluating this
+ expression must by of type java.util.Map.
+ ]]>
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleContent>
+ <xsd:restriction base="javaee:string">
+ <xsd:pattern value="view|request|session|application|none|#\{.*\}"/>
+ </xsd:restriction>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-managed-propertyType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "managed-property" element represents an individual
+ property of a managed bean that will be configured to the
+ specified value (or value set) if the corresponding
+ managed bean is automatically created.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:group ref="javaee:descriptionGroup"/>
+ <xsd:element name="property-name"
+ type="javaee:string">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "property-name" element represents the JavaBeans
+ property name under which the corresponding value may
+ be stored.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="property-class"
+ type="javaee:java-typeType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "property-class" element represents the Java type
+ of the value associated with this property name.
+ If not specified, it can be inferred from existing
+ classes; however, this element should be specified
+ if the configuration file is going to be the source
+ for generating the corresponding classes.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:choice>
+ <xsd:element name="map-entries"
+ type="javaee:faces-config-map-entriesType"/>
+ <xsd:element name="null-value"
+ type="javaee:faces-config-null-valueType">
+ </xsd:element>
+ <xsd:element name="value"
+ type="javaee:faces-config-valueType"/>
+ <xsd:element name="list-entries"
+ type="javaee:faces-config-list-entriesType"/>
+ </xsd:choice>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-map-entryType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "map-entry" element reprsents a single key-entry pair
+ that will be added to the computed value of a managed
+ property of type java.util.Map.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="key"
+ type="javaee:string">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "key" element is the String representation of a
+ map key that will be stored in a managed property of
+ type java.util.Map.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:choice>
+ <xsd:element name="null-value"
+ type="javaee:faces-config-null-valueType"/>
+ <xsd:element name="value"
+ type="javaee:faces-config-valueType"/>
+ </xsd:choice>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-map-entriesType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "map-entries' element represents a set of key-entry pairs
+ that will be added to the computed value of a managed property
+ of type java.util.Map. In addition, the Java class types
+ of the key and entry values may be optionally declared.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:sequence>
+ <xsd:element name="key-class"
+ type="javaee:fully-qualified-classType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "key-class" element defines the Java type to which
+ each "key" element in a set of "map-entry" elements
+ will be converted to. If omitted, "java.lang.String"
+ is assumed.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="value-class"
+ type="javaee:faces-config-value-classType"
+ minOccurs="0"/>
+ <xsd:element name="map-entry"
+ type="javaee:faces-config-map-entryType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-navigation-caseType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "navigation-case" element describes a particular
+ combination of conditions that must match for this case to
+ be executed, and the view id of the component tree that
+ should be selected next.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:group ref="javaee:descriptionGroup"/>
+ <xsd:element name="from-action"
+ type="javaee:faces-config-from-actionType"
+ minOccurs="0">
+ </xsd:element>
+ <xsd:element name="from-outcome"
+ type="javaee:string" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "from-outcome" element contains a logical outcome
+ string returned by the execution of an application
+ action method selected via an "actionRef" property
+ (or a literal value specified by an "action" property)
+ of a UICommand component. If specified, this rule
+ will be relevant only if the outcome value matches
+ this element's value. If not specified, this rule
+ will be relevant if the outcome value is non-null
+ or, if the "if" element is present, will be relevant
+ for any outcome value, with the assumption that the
+ condition specified in the "if" element ultimately
+ determines if this rule is a match.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="if"
+ type="javaee:faces-config-ifType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Please see section JSF.7.4.2 for the specification of this element.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="to-view-id"
+ type="javaee:faces-config-valueType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "to-view-id" element contains the view identifier
+ of the next view that should be displayed if this
+ navigation rule is matched. If the contents is a
+ value expression, it should be resolved by the
+ navigation handler to obtain the view identifier.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element
+ name="redirect"
+ type="javaee:faces-config-redirectType" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-navigation-ruleType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "navigation-rule" element represents an individual
+ decision rule that will be utilized by the default
+ NavigationHandler implementation to make decisions on
+ what view should be displayed next, based on the
+ view id being processed.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:group ref="javaee:descriptionGroup"/>
+ <xsd:element name="from-view-id"
+ type="javaee:faces-config-from-view-idType"
+ minOccurs="0"/>
+ <xsd:element name="navigation-case"
+ type="javaee:faces-config-navigation-caseType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element
+ name="navigation-rule-extension"
+ type="javaee:faces-config-navigation-rule-extensionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name = "faces-config-navigation-rule-extensionType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Extension element for navigation-rule. It may contain
+ implementation specific content.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:sequence>
+ <xsd:any namespace="##any"
+ processContents="lax"
+ minOccurs="0"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-null-valueType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "null-value" element indicates that the managed
+ property in which we are nested will be explicitly
+ set to null if our managed bean is automatically
+ created. This is different from omitting the managed
+ property element entirely, which will cause no
+ property setter to be called for this property.
+
+ The "null-value" element can only be used when the
+ associated "property-class" identifies a Java class,
+ not a Java primitive.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-propertyType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "property" element represents a JavaBean property of the
+ Java class represented by our parent element.
+
+ Property names must be unique within the scope of the Java
+ class that is represented by the parent element, and must
+ correspond to property names that will be recognized when
+ performing introspection against that class via
+ java.beans.Introspector.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:group ref="javaee:descriptionGroup"/>
+ <xsd:element name="property-name"
+ type="javaee:string">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "property-name" element represents the JavaBeans
+ property name under which the corresponding value
+ may be stored.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="property-class"
+ type="javaee:java-typeType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "property-class" element represents the Java type
+ of the value associated with this property name.
+ If not specified, it can be inferred from existing
+ classes; however, this element should be specified if
+ the configuration file is going to be the source for
+ generating the corresponding classes.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="default-value"
+ type="javaee:faces-config-default-valueType"
+ minOccurs="0"/>
+ <xsd:element name="suggested-value"
+ type="javaee:faces-config-suggested-valueType"
+ minOccurs="0"/>
+ <xsd:element name="property-extension"
+ type="javaee:faces-config-property-extensionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-property-extensionType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Extension element for property. It may contain
+ implementation specific content.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:sequence>
+ <xsd:any namespace="##any"
+ processContents="lax"
+ minOccurs="0"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-redirectType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "redirect" element indicates that navigation to the
+ specified "to-view-id" should be accomplished by
+ performing an HTTP redirect rather than the usual
+ ViewHandler mechanisms.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="view-param"
+ type="javaee:faces-config-redirect-viewParamType"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="redirect-param"
+ type="javaee:faces-config-redirect-redirectParamType"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="include-view-params" type="xsd:boolean" use="optional"/>
+
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-redirect-viewParamType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ This element was introduced due to a specification
+ error, and is now deprecated. The correct name for
+ this element is "redirect-param" and its meaning is
+ documented therein. The "view-param" element is
+ maintained to preserve backwards compatibility.
+ Implementations must treat this element the same as
+ "redirect-param".
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="name"
+ type="javaee:string"
+ minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="value"
+ type="javaee:string"
+ minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-redirect-redirectParamType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "redirect-param" element, only valid within
+ a "redirect" element, contains child "name"
+ and "value" elements that must be included in the
+ redirect url when the redirect is performed.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="name"
+ type="javaee:string"
+ minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="value"
+ type="javaee:string"
+ minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-referenced-beanType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "referenced-bean" element represents at design time the
+ promise that a Java object of the specified type will exist at
+ runtime in some scope, under the specified key. This can be
+ used by design time tools to construct user interface dialogs
+ based on the properties of the specified class. The presence
+ or absence of a referenced bean element has no impact on the
+ JavaServer Faces runtime environment inside a web application.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:group ref="javaee:descriptionGroup"/>
+ <xsd:element name="referenced-bean-name"
+ type="javaee:java-identifierType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "referenced-bean-name" element represents the
+ attribute name under which the corresponding
+ referenced bean may be assumed to be stored, in one
+ of 'request', 'session', 'view', 'application'
+ or a custom scope.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="referenced-bean-class"
+ type="javaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "referenced-bean-class" element represents the
+ fully qualified class name of the Java class
+ (either abstract or concrete) or Java interface
+ implemented by the corresponding referenced bean.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-render-kitType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "render-kit" element represents a concrete RenderKit
+ implementation that should be registered under the specified
+ render-kit-id. If no render-kit-id is specified, the
+ identifier of the default RenderKit
+ (RenderKitFactory.DEFAULT_RENDER_KIT) is assumed.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:sequence>
+ <xsd:group ref="javaee:descriptionGroup"/>
+ <xsd:element name="render-kit-id"
+ type="javaee:string"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "render-kit-id" element represents an identifier
+ for the RenderKit represented by the parent
+ "render-kit" element.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="render-kit-class"
+ type="javaee:fully-qualified-classType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "render-kit-class" element represents the fully
+ qualified class name of a concrete RenderKit
+ implementation class.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="renderer"
+ type="javaee:faces-config-rendererType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="client-behavior-renderer"
+ type="javaee:faces-config-client-behavior-rendererType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="render-kit-extension"
+ type="javaee:faces-config-render-kit-extensionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-client-behavior-rendererType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "client-behavior-renderer" element represents a concrete
+ ClientBehaviorRenderer implementation class that should be
+ registered under the specified behavior renderer type identifier,
+ in the RenderKit associated with the parent "render-kit"
+ element. Client Behavior renderer type must be unique within the RenderKit
+ associated with the parent "render-kit" element.
+
+ Nested "attribute" elements identify generic component
+ attributes that are recognized by this renderer.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:sequence>
+ <xsd:element name="client-behavior-renderer-type"
+ type="javaee:string">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "client-behavior-renderer-type" element represents a renderer type
+ identifier for the Client Behavior Renderer represented by the parent
+ "client-behavior-renderer" element.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="client-behavior-renderer-class"
+ type="javaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "client-behavior-renderer-class" element represents the fully
+ qualified class name of a concrete Client Behavior Renderer
+ implementation class.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="faces-config-rendererType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "renderer" element represents a concrete Renderer
+ implementation class that should be registered under the
+ specified component family and renderer type identifiers,
+ in the RenderKit associated with the parent "render-kit"
+ element. Combinations of component family and
+ renderer type must be unique within the RenderKit
+ associated with the parent "render-kit" element.
+
+ Nested "attribute" elements identify generic component
+ attributes that are recognized by this renderer.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:sequence>
+ <xsd:group ref="javaee:descriptionGroup"/>
+ <xsd:element name="component-family"
+ type="javaee:string">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "component-family" element represents the
+ component family for which the Renderer represented
+ by the parent "renderer" element will be used.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="renderer-type"
+ type="javaee:string">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "renderer-type" element represents a renderer type
+ identifier for the Renderer represented by the parent
+ "renderer" element.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="renderer-class"
+ type="javaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "renderer-class" element represents the fully
+ qualified class name of a concrete Renderer
+ implementation class.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="facet"
+ type="javaee:faces-config-facetType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="attribute"
+ type="javaee:faces-config-attributeType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="renderer-extension"
+ type="javaee:faces-config-renderer-extensionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-renderer-extensionType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Extension element for renderer. It may contain implementation
+ specific content.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:sequence>
+ <xsd:any namespace="##any"
+ processContents="lax"
+ minOccurs="0"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-render-kit-extensionType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Extension element for render-kit. It may contain
+ implementation specific content.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:sequence>
+ <xsd:any namespace="##any"
+ processContents="lax"
+ minOccurs="0"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-suggested-valueType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "suggested-value" contains the value for the property or
+ attribute in which this element resides. This value is
+ advisory only and is intended for tools to use when
+ populating pallettes.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleContent>
+ <xsd:restriction base="javaee:string"/>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-supported-localeType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "supported-locale" element allows authors to declare
+ which locales are supported in this application instance.
+
+ It must be specified as :language:[_:country:[_:variant:]]
+ without the colons, for example "ja_JP_SJIS". The
+ separators between the segments may be '-' or '_'.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleContent>
+ <xsd:extension base="javaee:faces-config-localeType">
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-behaviorType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "behavior" element represents a concrete Behavior
+ implementation class that should be registered under the
+ specified behavior identifier. Behavior identifiers must
+ be unique within the entire web application.
+
+ Nested "attribute" elements identify generic attributes that
+ may be configured on the corresponding UIComponent in order
+ to affect the operation of the Behavior. Nested "property"
+ elements identify JavaBeans properties of the Behavior
+ implementation class that may be configured to affect the
+ operation of the Behavior. "attribute" and "property"
+ elements are intended to allow component developers to
+ more completely describe their components to tools and users.
+ These elements have no required runtime semantics.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:group ref="javaee:descriptionGroup"/>
+ <xsd:element name="behavior-id"
+ type="javaee:string">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "behavior-id" element represents the identifier
+ under which the corresponding Behavior class should
+ be registered.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="behavior-class"
+ type="javaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "behavior-class" element represents the fully
+ qualified class name of a concrete Behavior
+ implementation class.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="attribute"
+ type="javaee:faces-config-attributeType"
+ minOccurs="0"
+ maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Nested "attribute" elements identify generic
+ attributes that may be configured on the
+ corresponding UIComponent in order to affect the
+ operation of the Behavior. This attribute is
+ primarily for design-time tools and is not
+ specified to have any meaning at runtime.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ </xsd:element>
+ <xsd:element name="property"
+ type="javaee:faces-config-propertyType"
+ minOccurs="0"
+ maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Nested "property" elements identify JavaBeans
+ properties of the Behavior implementation class
+ that may be configured to affect the operation of
+ the Behavior. This attribute is primarily for
+ design-time tools and is not specified to have
+ any meaning at runtime.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="behavior-extension"
+ type="javaee:faces-config-behavior-extensionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name = "faces-config-behavior-extensionType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Extension element for behavior. It may contain
+ implementation specific content.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:sequence>
+ <xsd:any namespace="##any"
+ processContents="lax"
+ minOccurs="0"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-validatorType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "validator" element represents a concrete Validator
+ implementation class that should be registered under the
+ specified validator identifier. Validator identifiers must
+ be unique within the entire web application.
+
+ Nested "attribute" elements identify generic attributes that
+ may be configured on the corresponding UIComponent in order
+ to affect the operation of the Validator. Nested "property"
+ elements identify JavaBeans properties of the Validator
+ implementation class that may be configured to affect the
+ operation of the Validator. "attribute" and "property"
+ elements are intended to allow component developers to
+ more completely describe their components to tools and users.
+ These elements have no required runtime semantics.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:group ref="javaee:descriptionGroup"/>
+ <xsd:element name="validator-id"
+ type="javaee:string">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "validator-id" element represents the identifier
+ under which the corresponding Validator class should
+ be registered.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="validator-class"
+ type="javaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "validator-class" element represents the fully
+ qualified class name of a concrete Validator
+ implementation class.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="attribute"
+ type="javaee:faces-config-attributeType"
+ minOccurs="0"
+ maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Nested "attribute" elements identify generic
+ attributes that may be configured on the
+ corresponding UIComponent in order to affect the
+ operation of the Validator. This attribute is
+ primarily for design-time tools and is not
+ specified to have any meaning at runtime.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ </xsd:element>
+ <xsd:element name="property"
+ type="javaee:faces-config-propertyType"
+ minOccurs="0"
+ maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Nested "property" elements identify JavaBeans
+ properties of the Validator implementation class
+ that may be configured to affect the operation of
+ the Validator. This attribute is primarily for
+ design-time tools and is not specified to have
+ any meaning at runtime.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="validator-extension"
+ type="javaee:faces-config-validator-extensionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name = "faces-config-validator-extensionType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Extension element for validator. It may contain
+ implementation specific content.
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:sequence>
+ <xsd:any namespace="##any"
+ processContents="lax"
+ minOccurs="0"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="faces-config-valueType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "value" element is the String representation of
+ a literal value to which a scalar managed property
+ will be set, or a value binding expression ("#{...}")
+ that will be used to calculate the required value.
+ It will be converted as specified for the actual
+ property type.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:union
+ memberTypes="javaee:faces-config-el-expressionType xsd:string"/>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-value-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "value-class" element defines the Java type to which each
+ "value" element's value will be converted to, prior to adding
+ it to the "list-entries" list for a managed property that is
+ a java.util.List, or a "map-entries" map for a managed
+ property that is a java.util.Map.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleContent>
+ <xsd:restriction base="javaee:fully-qualified-classType"/>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-list-entriesType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "list-entries" element represents a set of initialization
+ elements for a managed property that is a java.util.List or an
+ array. In the former case, the "value-class" element can
+ optionally be used to declare the Java type to which each
+ value should be converted before adding it to the Collection.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="value-class"
+ type="javaee:faces-config-value-classType"
+ minOccurs="0"/>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="null-value"
+ type="javaee:faces-config-null-valueType"/>
+ <xsd:element name="value"
+ type="javaee:faces-config-valueType"/>
+ </xsd:choice>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-system-event-listenerType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The presence of this element within the "application" element in
+ an application configuration resource file indicates the
+ developer wants to add an SystemEventListener to this
+ application instance. Elements nested within this element allow
+ selecting the kinds of events that will be delivered to the
+ listener instance, and allow selecting the kinds of classes that
+ can be the source of events that are delivered to the listener
+ instance.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="system-event-listener-class"
+ type="javaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "system-event-listener-class" element contains
+ the fully qualified class name of the concrete
+ SystemEventListener implementation class that will be
+ called when events of the type specified by the
+ "system-event-class" are sent by the runtime.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="system-event-class"
+ type="javaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "system-event-class" element contains the fully
+ qualified class name of the SystemEvent subclass for
+ which events will be delivered to the class whose fully
+ qualified class name is given by the
+ "system-event-listener-class" element.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="source-class" minOccurs="0"
+ type="javaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The "source-class" element, if present, contains the
+ fully qualified class name of the class that will be the
+ source for the event to be delivered to the class whose
+ fully qualified class name is given by the
+ "system-event-listener-class" element.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="faces-config-versionType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ This type contains the recognized versions of
+ faces-config supported.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="2.0"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+</xsd:schema>
Property changes on: root/cdk/trunk/plugins/generator/src/main/resources/META-INF/schema/web-facesconfig_2_0.xsd
___________________________________________________________________
Name: svn:mime-type
+ text/plain
14 years, 5 months