org.mule.common.metadata.builder
Class DefaultMetaDataBuilder

java.lang.Object
  extended by org.mule.common.metadata.builder.DefaultMetaDataBuilder
All Implemented Interfaces:
MetaDataBuilder<MetaDataModel>

public class DefaultMetaDataBuilder
extends Object
implements MetaDataBuilder<MetaDataModel>

This is a builder created for easily describe metadata types from Devkit. From this object you can create models for Lists, Pojos, Dynamic Objects and Xml Objects.

Following there is an example usage of it for describing a Pojo Class:

 MetaDataModel authorModel = new DefaultMetaDataBuilder().createPojo(Author.class).build();
 
An example for Pojo List:
 MetaDataModel bookListModel = new DefaultMetaDataBuilder().createList().ofPojo(Book.class).build();
 
And an example for Dynamic Objects:
 MetaDataModel bookModel = new DefaultMetaDataBuilder().createDynamicObject("Book")
                                                      .addSimpleField("title",DataType.STRING)
                                                      .addSimpleField("synopsis",DataType.STRING)
                                                      .addDynamicObjectField("author")
                                                          .addSimpleField("firstName",DataType.STRING)
                                                          .addSimpleField("lastName",DataType.STRING)
                                                      .endDynamicObject()
                                                      .build();
     
 


Constructor Summary
DefaultMetaDataBuilder()
           
 
Method Summary
 MetaDataModel build()
           
 DynamicObjectBuilder<?> createDynamicObject(String name)
          Begins building dynamic object.
 ListMetaDataBuilder<?> createList()
           
 PojoMetaDataBuilder<?> createPojo(Class<?> pojo)
           
 XmlMetaDataBuilder createXmlObject(QName name)
           
 XmlMetaDataBuilder createXmlObject(String name)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultMetaDataBuilder

public DefaultMetaDataBuilder()
Method Detail

createList

public ListMetaDataBuilder<?> createList()

createPojo

public PojoMetaDataBuilder<?> createPojo(Class<?> pojo)

createDynamicObject

public DynamicObjectBuilder<?> createDynamicObject(String name)

Begins building dynamic object. When its description is finished must end it with endDynamicObject() to continue the building.

Its description must be complete.


createXmlObject

public XmlMetaDataBuilder createXmlObject(String name)

createXmlObject

public XmlMetaDataBuilder createXmlObject(QName name)

build

public MetaDataModel build()
Specified by:
build in interface MetaDataBuilder<MetaDataModel>


Copyright © 2014. All rights reserved.