Solution
Create a builder Java class, which extends DefaultInfoComponentBuilder, defining the elements rendering on the information page for a specific business object type. The attribute layout manager in the Type and Attribute Management utility controls the layout of the attributes.
Prerequisite Knowledge
To apply this information, you must understand the following:
• The MVC framework for creating the Java builder class (see
MVC Components)
• JSP-based client architecture framework in Windchill
Solution Elements
Using this component, a developer must create a builder by extending DefaultInfoComponentBuilder.
Element
|
Type
|
Description
|
DefaultInfoComponentBuilder.java
|
Java class
|
The default builder that all other information page builders must extend from. The builder is responsible for gathering the required data from the server.
|
Information Page Builder Designer
When creating an information page for a new business object type, a developer will have to create a builder that extends the DefaultInfoComponentBuilder.The builder class needs to include the following Java annotations, so the correct builder gets called for that business object type:
@ComponentBuilder(value = ComponentId.INFOPAGE_ID)
@TypeBased(value = "wt.part.WTPart")
public class PartInfoBuilder extends DefaultInfoComponentBuilder {
….
The annotation for the builder ID is specified in the super class DefaultInfoComponentBuilder. Annotations are inherited. Hence, when extending this class, the ComponentBuilder annotation is not required. However, ensure that you include the annotation if you do not extend this class.
For information on registering your builder class or package, see
MVC Components.
The only method that must be overridden is the
buildInfoConfig() method. In this method, configure the elements you prefer to view on the information page for that business object type and call the required service APIs to gather the data for those elements. For more information about the elements, see
Customization Options in Info Page Builder.
The builder's annotation can contain a hard type or a subtype:
@TypeBased(value = "wt.part.WTPart")
@TypeBased(value = " com.company.SoftType")