/* * $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.templatecompiler.model; import java.io.Serializable; import java.util.List; import javax.faces.render.RenderKitFactory; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; import org.richfaces.cdk.model.ClassName; import org.richfaces.cdk.model.FacesId; import org.richfaces.cdk.xmlconfig.model.ClassAdapter; import org.richfaces.cdk.xmlconfig.model.FacesIdAdapter; import com.google.common.collect.Lists; /** * <p class="changed_added_4_3"> * </p> * * @author asmirnov@exadel.com * @author <a href="http://community.jboss.org/people/bleathem">Brian Leathem</a> */ @XmlRootElement(name = "interface", namespace = Template.COMPOSITE_NAMESPACE) public class CompositeInterface implements Serializable { private static final long serialVersionUID = -5578359507253872500L; private FacesId componentFamily; private List<Attribute> attributes = Lists.newArrayList(); private List<ResourceDependency> resourceDependencies = Lists.newArrayList(); private List<ImportAttributes> attributesImports = Lists.newArrayList(); private String renderKitId = RenderKitFactory.HTML_BASIC_RENDER_KIT; private ClassName javaClass; private ClassName baseClass; private ClassName componentBaseClass; private FacesId rendererType; private Boolean rendersChildren = null; private List<ClassImport> classImports = Lists.newArrayList(); /** * <p class="changed_added_4_0"> * </p> * * @return the family */ @XmlJavaTypeAdapter(FacesIdAdapter.class) @XmlElement(name = "component-family", namespace = Template.CDK_NAMESPACE) public FacesId getComponentFamily() { return this.componentFamily; } /** * <p class="changed_added_4_0"> * </p> * * @param family the family to set */ public void setComponentFamily(FacesId family) { this.componentFamily = family; } /** * <p class="changed_added_4_0"> * </p> * * @return the attributes */ @XmlElement(name = "attribute", namespace = Template.COMPOSITE_NAMESPACE) public List<Attribute> getAttributes() { return this.attributes; } /** * <p class="changed_added_4_0"> * </p> * * @param attributes the attributes to set */ public void setAttributes(List<Attribute> attributes) { this.attributes = attributes; } /** * <p class="changed_added_4_0"> * </p> * * @return the resourceDependencies */ // @XmlElementWrapper(name = "resource-dependencies", namespace = Template.CDK_NAMESPACE) @XmlElement(name = "resource-dependency", namespace = Template.CDK_NAMESPACE) public List<ResourceDependency> getResourceDependencies() { return resourceDependencies; } /** * <p class="changed_added_4_0"> * </p> * * @param resourceDependencies the resourceDependencies to set */ public void setResourceDependencies(List<ResourceDependency> resourceDependencies) { this.resourceDependencies = resourceDependencies; } /** * <p class="changed_added_4_0"> * </p> * * @return the renderKitId */ @XmlJavaTypeAdapter(NormalizedStringAdapter.class) @XmlElement(name = "renderkit-id", namespace = Template.CDK_NAMESPACE) public String getRenderKitId() { return this.renderKitId; } /** * <p class="changed_added_4_0"> * </p> * * @param renderKitId the renderKitId to set */ public void setRenderKitId(String renderKitId) { this.renderKitId = renderKitId; } /** * <p class="changed_added_4_0"> * </p> * * @return the javaClass */ @XmlJavaTypeAdapter(ClassAdapter.class) @XmlElement(name = "class", namespace = Template.CDK_NAMESPACE) public ClassName getJavaClass() { return this.javaClass; } /** * <p class="changed_added_4_0"> * </p> * * @param javaClass the javaClass to set */ public void setJavaClass(ClassName javaClass) { this.javaClass = javaClass; } /** * <p class="changed_added_4_0"> * </p> * * @return the rendererType */ @XmlJavaTypeAdapter(FacesIdAdapter.class) @XmlElement(name = "renderer-type", namespace = Template.CDK_NAMESPACE) public FacesId getRendererType() { return this.rendererType; } /** * <p class="changed_added_4_0"> * </p> * * @param rendererType the rendererType to set */ public void setRendererType(FacesId rendererType) { this.rendererType = rendererType; } /** * <p class="changed_added_4_0"> * </p> * * @return the baseClass */ @XmlJavaTypeAdapter(ClassAdapter.class) @XmlElement(name = "superclass", namespace = Template.CDK_NAMESPACE) public ClassName getBaseClass() { return this.baseClass; } /** * <p class="changed_added_4_0"> * </p> * * @param baseClass the baseClass to set */ public void setBaseClass(ClassName baseClass) { this.baseClass = baseClass; } /** * <p class="changed_added_4_3"> * </p> * * @return the componentBaseClass */ @XmlJavaTypeAdapter(ClassAdapter.class) @XmlElement(name = "component-base-class", namespace = Template.CDK_NAMESPACE) public ClassName getComponentBaseClass() { return this.componentBaseClass; } /** * <p class="changed_added_4_3"> * </p> * * @param componentBaseClass the componentBaseClass to set */ public void setComponentBaseClass(ClassName componentBaseClass) { this.componentBaseClass = componentBaseClass; } /** * <p class="changed_added_4_0"> * </p> * * @return the rendersChildren */ @XmlElement(name = "renders-children", namespace = Template.CDK_NAMESPACE) public Boolean getRendersChildren() { return rendersChildren; } /** * @param rendersChildren the rendersChildren to set */ public void setRendersChildren(Boolean rendersChildren) { this.rendersChildren = rendersChildren; } /** * <p class="changed_added_4_0"> * </p> * * @return the attributesImports */ @XmlElement(name = "import-attributes", namespace = Template.CDK_NAMESPACE) public List<ImportAttributes> getAttributesImports() { return attributesImports; } /** * <p class="changed_added_4_0"> * </p> * * @param attributesImports the attributesImports to set */ public void setAttributesImports(List<ImportAttributes> attributesImports) { this.attributesImports = attributesImports; } /** * @return the classImports */ @XmlElement(name = "import", namespace = Template.CDK_NAMESPACE) public List<ClassImport> getClassImports() { return classImports; } /** * @param classImports the classImports to set */ public void setClassImports(List<ClassImport> classImports) { this.classImports = classImports; } }