2017-05-22 2 views
1

PrimeFaces 6.1 source at GitHubをブラウズしています。PrimeFaces UIComponentの属性はどこに定義されていますか?

コンポーネントにはレンダラークラスのみがあり、コンポーネントクラスはありません。たとえば、OutputLabelRenderer references the OutputLabelが、OutputLabelクラスは見つかりません。私はそれがレンダラと同じフォルダにあることを期待していました(インポートがなかったので)。

私はこれを見つけましたtemplate file。それで何とかそれが生成されるように見えます。

PrimeFacesコンポーネントの属性はどこにありますか。

答えて

1

pom.xmlを確認した後、私はこのプラグインを見つけた:

<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> 

(属性を含む)の定義は/src/main/resources-maven-jsf/ui/フォルダにあります。試験のためにoutputLabel.xml

MavenからソースJARをダウンロードすることもできます。これにはコンポーネントコードが含まれます。例:

/* 
* 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"; 
} 
関連する問題