2017-05-22 5 views
1

Ich surfe die PrimeFaces 6.1 source at GitHub.Wo sind Attribute für PrimeFaces UIComponents definiert?

Die Komponenten scheinen nur eine Renderer-Klasse und keine Komponentenklasse zu haben. Zum Beispiel die OutputLabelRenderer references the OutputLabel, aber die OutputLabel Klasse ist nirgendwo zu finden. Ich habe erwartet, dass es sich im selben Ordner befindet wie der Renderer (da es keinen Import gab).

Ich fand diese template file obwohl. Es sieht also so aus, als ob es irgendwie generiert wird.

Wo finde ich die Attribute für eine PrimeFaces-Komponente?

Antwort

1

Nach dem pom.xml Überprüfung Ich habe dieses Plugin gefunden:

<plugin> 
    <groupId>org.primefaces</groupId> 
    <artifactId>maven-jsf-plugin</artifactId> 
    <version>1.3.3-SNAPSHOT</version> 
    <executions> 
     <execution> 
      <id>generate-ui</id> 
      <phase>generate-sources</phase> 
      <configuration> 
       <uri>http://primefaces.org/ui</uri> 
       <shortName>p</shortName> 
       <templatesDir>src/main/java-templates</templatesDir> 
       <componentConfigsDir>target/resources-maven-jsf/ui</componentConfigsDir> 
       <standardFacesConfig>src/main/resources-maven-jsf/standard-faces-config.xml</standardFacesConfig> 
       <standardFaceletsTaglib>src/main/resources-maven-jsf/standard-facelets-taglib.xml</standardFaceletsTaglib> 
       <standardTLD>src/main/resources-maven-jsf/standard-tld.xml</standardTLD> 
      </configuration> 
      <goals> 
       <goal>generate-components</goal> 
       <goal>generate-facelets-taglib</goal> 
      </goals> 
     </execution> 
     ... 
    </executions> 
</plugin> 

Die Definition (einschließlich der Attribute) im /src/main/resources-maven-jsf/ui/ Ordner. Für Beispielplatte outputLabel.xml.

Sie können auch die Quellen JAR von Maven herunterladen. Es enthält den Komponentencode. Zum Beispiel:

/* 
* Generated, Do Not Modify 
*/ 
/* 
* Copyright 2009-2013 PrimeTek. 
* 
* Licensed under the Apache License, Version 2.0 (the "License"); 
* you may not use this file except in compliance with the License. 
* You may obtain a copy of the License at 
* 
* http://www.apache.org/licenses/LICENSE-2.0 
* 
* Unless required by applicable law or agreed to in writing, software 
* distributed under the License is distributed on an "AS IS" BASIS, 
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
* See the License for the specific language governing permissions and 
* limitations under the License. 
*/ 
package org.primefaces.component.outputlabel; 

import javax.faces.component.html.HtmlOutputLabel; 
import javax.faces.context.FacesContext; 
import javax.faces.component.UINamingContainer; 
import javax.el.ValueExpression; 
import javax.el.MethodExpression; 
import javax.faces.render.Renderer; 
import java.io.IOException; 
import javax.faces.component.UIComponent; 
import javax.faces.event.AbortProcessingException; 
import javax.faces.application.ResourceDependencies; 
import javax.faces.application.ResourceDependency; 
import java.util.List; 
import java.util.ArrayList; 
import org.primefaces.util.ComponentUtils; 

@ResourceDependencies({ 

}) 
public class OutputLabel extends HtmlOutputLabel { 


    public static final String COMPONENT_TYPE = "org.primefaces.component.OutputLabel"; 
    public static final String COMPONENT_FAMILY = "org.primefaces.component"; 
    public static final String DEFAULT_RENDERER = "org.primefaces.component.OutputLabelRenderer"; 

    public enum PropertyKeys { 

     indicateRequired; 

     String toString; 

     PropertyKeys(String toString) { 
      this.toString = toString; 
     } 

     PropertyKeys() {} 

     public String toString() { 
      return ((this.toString != null) ? this.toString : super.toString()); 
} 
    } 

    public OutputLabel() { 
     setRendererType(DEFAULT_RENDERER); 
    } 

    public String getFamily() { 
     return COMPONENT_FAMILY; 
    } 

    public boolean isIndicateRequired() { 
     return (java.lang.Boolean) getStateHelper().eval(PropertyKeys.indicateRequired, true); 
    } 
    public void setIndicateRequired(boolean _indicateRequired) { 
     getStateHelper().put(PropertyKeys.indicateRequired, _indicateRequired); 
    } 


    public final static String STYLE_CLASS = "ui-outputlabel ui-widget"; 
    public final static String REQUIRED_FIELD_INDICATOR_CLASS = "ui-outputlabel-rfi"; 
} 
Verwandte Themen