Configuration bean for <attribute> element.
digester.getMatch() +
"} Push " + CLASS_NAME);
}
Class clazz =
digester.getClassLoader().loadClass(CLASS_NAME);
ComponentBean cb = (ComponentBean) clazz.newInstance();
digester.push(cb);
}
* @exception IllegalStateException if the popped object is not
* of the correct type
*/
public void end(String namespace, String name) throws Exception {
ComponentBean top = null;
try {
top = (ComponentBean) digester.pop();
} catch (Exception e) {
throw new IllegalStateException("Popped object is not a " +
CLASS_NAME + " instance");
}
FacesConfigBean fcb = (FacesConfigBean) digester.peek();
ComponentBean old = fcb.getComponent(top.getComponentType());
if (old == null) {
if (digester.getLogger().isDebugEnabled()) {
digester.getLogger().debug("[ComponentRule]{" +
digester.getMatch() +
"} New(" +
/*
* Wrap these in braces to allow repetition of the ivar name
*/
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.Column");
component.setComponentClass("javax.faces.component.UIColumn");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.Command");
component.setComponentClass("javax.faces.component.UICommand");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.Data");
component.setComponentClass("javax.faces.component.UIData");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.Form");
component.setComponentClass("javax.faces.component.UIForm");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.Graphic");
component.setComponentClass("javax.faces.component.UIGraphic");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.Input");
component.setComponentClass("javax.faces.component.UIInput");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.Message");
component.setComponentClass("javax.faces.component.UIMessage");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.Messages");
component.setComponentClass("javax.faces.component.UIMessages");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.NamingContainer");
component.setComponentClass("javax.faces.component.UINamingContainer");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.Output");
component.setComponentClass("javax.faces.component.UIOutput");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.Panel");
component.setComponentClass("javax.faces.component.UIPanel");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.Parameter");
component.setComponentClass("javax.faces.component.UIParameter");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.SelectBoolean");
component.setComponentClass("javax.faces.component.UISelectBoolean");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.SelectItem");
component.setComponentClass("javax.faces.component.UISelectItem");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.SelectItems");
component.setComponentClass("javax.faces.component.UISelectItems");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.SelectMany");
component.setComponentClass("javax.faces.component.UISelectMany");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.SelectOne");
component.setComponentClass("javax.faces.component.UISelectOne");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.ViewRoot");
component.setComponentClass("javax.faces.component.UIViewRoot");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.HtmlColumn");
component.setComponentClass("javax.faces.component.html.HtmlColumn");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.HtmlCommandButton");
component.setComponentClass("javax.faces.component.html.HtmlCommandButton");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.HtmlCommandLink");
component.setComponentClass("javax.faces.component.html.HtmlCommandLink");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.HtmlDataTable");
component.setComponentClass("javax.faces.component.html.HtmlDataTable");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.HtmlForm");
component.setComponentClass("javax.faces.component.html.HtmlForm");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.HtmlGraphicImage");
component.setComponentClass("javax.faces.component.html.HtmlGraphicImage");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.HtmlInputHidden");
component.setComponentClass("javax.faces.component.html.HtmlInputHidden");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.HtmlInputSecret");
component.setComponentClass("javax.faces.component.html.HtmlInputSecret");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.HtmlInputText");
component.setComponentClass("javax.faces.component.html.HtmlInputText");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.HtmlInputTextarea");
component.setComponentClass("javax.faces.component.html.HtmlInputTextarea");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.HtmlMessage");
component.setComponentClass("javax.faces.component.html.HtmlMessage");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.HtmlMessages");
component.setComponentClass("javax.faces.component.html.HtmlMessages");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.HtmlOutputFormat");
component.setComponentClass("javax.faces.component.html.HtmlOutputFormat");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.HtmlOutputLabel");
component.setComponentClass("javax.faces.component.html.HtmlOutputLabel");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.HtmlOutputLink");
component.setComponentClass("javax.faces.component.html.HtmlOutputLink");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.HtmlOutputText");
component.setComponentClass("javax.faces.component.html.HtmlOutputText");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.HtmlPanelGrid");
component.setComponentClass("javax.faces.component.html.HtmlPanelGrid");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.HtmlPanelGroup");
component.setComponentClass("javax.faces.component.html.HtmlPanelGroup");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.HtmlSelectBooleanCheckbox");
component.setComponentClass("javax.faces.component.html.HtmlSelectBooleanCheckbox");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.HtmlSelectManyCheckbox");
component.setComponentClass("javax.faces.component.html.HtmlSelectManyCheckbox");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.HtmlSelectManyListbox");
component.setComponentClass("javax.faces.component.html.HtmlSelectManyListbox");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.HtmlSelectManyMenu");
component.setComponentClass("javax.faces.component.html.HtmlSelectManyMenu");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.HtmlSelectOneListbox");
component.setComponentClass("javax.faces.component.html.HtmlSelectOneListbox");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.HtmlSelectOneMenu");
component.setComponentClass("javax.faces.component.html.HtmlSelectOneMenu");
components.add(component);
}
{
ComponentBean component = new ComponentBean();
component.setComponentType("javax.faces.HtmlSelectOneRadio");
component.setComponentClass("javax.faces.component.html.HtmlSelectOneRadio");
components.add(component);
}
renderKitBean = new RenderKitBean();
/*
digester.getMatch() +
"} Push " + CLASS_NAME);
}
Class clazz =
digester.getClassLoader().loadClass(CLASS_NAME);
ComponentBean cb = (ComponentBean) clazz.newInstance();
digester.push(cb);
}
* @exception IllegalStateException if the popped object is not
* of the correct type
*/
public void end(String namespace, String name) throws Exception {
ComponentBean top = null;
try {
top = (ComponentBean) digester.pop();
} catch (Exception e) {
throw new IllegalStateException("Popped object is not a " +
CLASS_NAME + " instance");
}
FacesConfigBean fcb = (FacesConfigBean) digester.peek();
ComponentBean old = fcb.getComponent(top.getComponentType());
if (old == null) {
if (digester.getLogger().isDebugEnabled()) {
digester.getLogger().debug("[ComponentRule]{" +
digester.getMatch() +
"} New(" +
* the class declaration.</p>
*/
private void prefix() throws Exception {
// Acquire the config bean for our base component
ComponentBean base = configBean.getComponent(cb.getBaseComponentType());
if (base == null) {
throw new IllegalArgumentException("No base component type for '" +
cb.getComponentType() + "'");
}
// Generate the copyright information
writer.writeBlockComment(
propManager.getProperty(PropertyManager.COPYRIGHT));
// Generate the package declaration
writer.writePackage("javax.faces.component.html");
writer.write('\n');
// Generate the imports
writer.writeImport("java.io.IOException");
writer.writeImport("java.util.List");
writer.writeImport("java.util.ArrayList");
writer.writeImport("java.util.Arrays");
writer.write('\n');
writer.writeImport("javax.faces.context.FacesContext");
writer.writeImport("javax.el.MethodExpression");
writer.writeImport("javax.el.ValueExpression");
writer.write("\n\n");
writer.writeBlockComment("******* GENERATED CODE - DO NOT EDIT *******");
writer.write("\n\n");
// Generate the class JavaDocs (if any)
DescriptionBean db = cb.getDescription("");
String rendererType = cb.getRendererType();
String description = null;
if (db != null) {
description = db.getDescription().trim();
}
if (rendererType != null) {
if (description == null) {
description = "";
}
description +=
"\n<p>By default, the <code>rendererType</code> property must be set to \"<code>" +
rendererType +
"</code>\".\nThis value can be changed by calling the <code>setRendererType()</code> method.</p>\n";
}
if (description != null && description.length() > 0) {
writer.writeJavadocComment(description);
}
// Generate the class declaration
writer.writePublicClassDeclaration(shortName(cb.getComponentClass()),
base.getComponentClass(),
null, false, false);
writer.write("\n\n");
writer.indent();
* <p>Generate the property instance variable, and getter and setter
* methods, for all non-duplicate properties of this component class.</p>
*/
private void properties() throws Exception {
ComponentBean base = configBean.getComponent(cb.getBaseComponentType());
PropertyBean[] pbs = cb.getProperties();
for (PropertyBean pb : pbs) {
// Should we generate this property?
if (base.getProperty(pb.getPropertyName()) != null) {
if (logger.isLoggable(Level.FINER)) {
logger.log(Level.FINER, "Skipping base class property '" +
pb.getPropertyName() + "'");
}
continue;
writer.fwrite("HashMap<String,String[]> map = new HashMap<String,String[]>();\n");
ComponentBean[] components = bean.getComponents();
List<String> keys = new ArrayList<String>();
for (int i = 0, len = components.length; i < len; i ++) {
ComponentBean comp = components[i];
if (!comp.getComponentClass().contains("Html")) {
continue;
}
String type = comp.getRendererType();
if (type != null) {
String family = comp.getBaseComponentType();
type = type.substring(type.lastIndexOf('.') + 1);
family = family.substring(family.lastIndexOf('.') + 1);
String key = family + type;
keys.add(key);
writer.fwrite("map.put(\"");
writer.write(key);
writer.write("\",\n");
writer.indent();
writer.indent();
writer.fwrite("new String[] {\n");
writer.indent();
writer.indent();
PropertyBean[] props = comp.getProperties();
boolean attributeWritten = false;
for (int ii = 0, llen = props.length; ii < llen; ii++) {
PropertyBean aBean = props[ii];
// The RI doesn't use any JS for the command button, so
// treat
*/
public static Map<String,ComponentBean> getComponentFamilyComponentMap(
FacesConfigBean configBean) {
TreeMap<String,ComponentBean> result = new TreeMap<String, ComponentBean>();
ComponentBean component;
ComponentBean[] components = configBean.getComponents();
for (int i = 0, len = components.length; i < len; i++) {
component = components[i];
if (component == null) {
throw new IllegalStateException("No Components Found");
}
if (component.getBaseComponentType() != null) {
continue;
}
String componentFamily = component.getComponentFamily();
result.put(componentFamily, component);
}
return result;
// Generate tag attributes
//
// Component Properties first...
//
ComponentBean component = componentsByComponentFamily.get(componentFamily);
PropertyBean[] properties = component.getProperties();
PropertyBean property;
for (int i = 0, len = properties.length; i < len; i++) {
if (null == (property = properties[i])) {
continue;
Related Classes of com.sun.faces.config.beans.ComponentBean
Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.