com.fasterxml.jackson.module.mrbean
Class BeanBuilder

java.lang.Object
  extended by com.fasterxml.jackson.module.mrbean.BeanBuilder

public class BeanBuilder
extends Object

Heavy lifter of mr Bean package: class that keeps track of logical POJO properties, and figures out how to create an implementation class.


Field Summary
protected  Map<String,POJOProperty> _beanProperties
           
protected  Class<?> _implementedType
          Abstract class or interface that the bean is created to extend or implement.
protected  com.fasterxml.jackson.databind.type.TypeFactory _typeFactory
           
protected  LinkedHashMap<String,Method> _unsupportedMethods
           
 
Constructor Summary
BeanBuilder(Class<?> implType, com.fasterxml.jackson.databind.type.TypeFactory tf)
           
 
Method Summary
 byte[] build(String className)
          Method that generates byte code for class that implements abstract types requested so far.
 BeanBuilder implement(boolean failOnUnrecognized)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_beanProperties

protected Map<String,POJOProperty> _beanProperties

_unsupportedMethods

protected LinkedHashMap<String,Method> _unsupportedMethods

_implementedType

protected final Class<?> _implementedType
Abstract class or interface that the bean is created to extend or implement.


_typeFactory

protected final com.fasterxml.jackson.databind.type.TypeFactory _typeFactory
Constructor Detail

BeanBuilder

public BeanBuilder(Class<?> implType,
                   com.fasterxml.jackson.databind.type.TypeFactory tf)
Method Detail

implement

public BeanBuilder implement(boolean failOnUnrecognized)
Parameters:
failOnUnrecognized - If true, and an unrecognized (non-getter, non-setter) method is encountered, will throw IllegalArgumentException; if false, will implement bogus method that will throw UnsupportedOperationException if called.

build

public byte[] build(String className)
Method that generates byte code for class that implements abstract types requested so far.

Parameters:
className - Fully-qualified name of the class to generate
Returns:
Byte code Class instance built by this builder


Copyright © 2012 FasterXML. All Rights Reserved.