public class BeanObjectReaderHandler extends java.lang.Object implements IObjectReaderHandler
| Modifier and Type | Field and Description | 
|---|---|
| protected IBeanIntrospector | introspectorThe bean introspector. | 
| protected java.util.Set<java.lang.Object> | no_typeinfosNo type infos. | 
| protected java.util.Map<IFilter<java.lang.Object>,IPostProcessor> | postprocessorsThe filter based post processors. | 
| protected TypeInfoTypeManager | titmanagerThe type info manager. | 
| Constructor and Description | 
|---|
| BeanObjectReaderHandler()Create a new handler for custom XML formats. | 
| BeanObjectReaderHandler(java.util.Set<TypeInfo> typeinfos)Create a new handler for Java XML supporting on-the-fly
  type info creation for arrays. | 
| Modifier and Type | Method and Description | 
|---|---|
| void | addPostProcessor(IFilter<java.lang.Object> filter,
                IPostProcessor processor)Add a post processor. | 
| void | bulkLinkObjects(java.util.List<java.lang.Object> childs,
               java.lang.Object parent,
               java.lang.Object linkinfo,
               QName[] pathname,
               AReadContext context)Link an object to its parent. | 
| void | bulkLinkObjects(java.lang.Object parent,
               java.util.List<LinkData> children,
               AReadContext context)Bulk link chilren to its parent. | 
| protected java.lang.Object | convertBulkValues(java.util.List<java.lang.Object> vals,
                 java.lang.Class<?> targetclass,
                 java.lang.Object converter,
                 AReadContext context,
                 java.lang.String id)Convert a list of values into the target format (list, set, collection, array). | 
| java.lang.Object | convertContentObject(java.lang.String value,
                    QName tag,
                    AReadContext context)Convert an object to another type of object. | 
| protected java.lang.Object | convertValue(java.lang.Object val,
            java.lang.Class<?> targetclass,
            java.lang.Object converter,
            AReadContext context,
            java.lang.String id)Convert a value by using a converter. | 
| java.lang.Object | createObject(java.lang.Object type,
            boolean root,
            AReadContext context,
            java.util.Map<java.lang.String,java.lang.String> rawattributes)Create an object for the current tag. | 
| protected java.lang.Class<?> | getCorrectAnonymousInnerClass(java.lang.Class<?> clazz,
                             java.util.Map<java.lang.String,java.lang.String> rawattributes,
                             java.lang.ClassLoader classloader)Bug with Java compilers that enumerate anonymous inner classes as they like. | 
| java.lang.Object | getObjectType(java.lang.Object object,
             AReadContext context)Get the object type | 
| IPostProcessor[] | getPostProcessors(java.lang.Object object,
                 java.lang.Object typeinfo)Get the post-processor. | 
| TypeInfo | getTypeInfo(java.lang.Object object,
           QName[] fullpath,
           AReadContext context)Get the most specific mapping info. | 
| void | handleAttributeValue(java.lang.Object object,
                    QName xmlattrname,
                    java.util.List<QName> attrpath,
                    java.lang.String attrval,
                    java.lang.Object attrinfo,
                    AReadContext context)Handle the attribute of an object. | 
| protected void | handleBulkLinking(java.util.List<java.lang.Object> childs,
                 java.lang.Object parent,
                 AReadContext context,
                 QName[] pathname,
                 java.util.List<LinkData> linkdatas,
                 int startidx)Initiate the bulk link calls. | 
| protected boolean | invokeBulkSetMethod(java.lang.String[] prefixes,
                   java.lang.String postfix,
                   java.util.List<java.lang.Object> vals,
                   java.lang.Object object,
                   AReadContext context,
                   java.lang.Object converter,
                   java.lang.String idref)Set a value directly on a Java bean. | 
| protected boolean | invokeSetMethod(java.lang.String[] prefixes,
               java.lang.String postfix,
               java.lang.Object value,
               java.lang.Object object,
               AReadContext context,
               java.lang.Object converter,
               java.lang.String idref)Set a value directly on a Java bean. | 
| protected boolean | isCorrectAnonymousInnerClass(java.lang.Class<?> clazz,
                            java.util.Map<java.lang.String,java.lang.String> rawattributes)Test if a class is the correct inner class. | 
| void | linkObject(java.lang.Object object,
          java.lang.Object parent,
          java.lang.Object linkinfo,
          QName[] pathname,
          AReadContext context)Link an object to its parent. | 
| void | removePostProcessor(IFilter<java.lang.Object> filter)Remove a post processor. | 
| protected boolean | setBulkAttributeValues(java.lang.Object accessinfo,
                      QName xmlattrname,
                      java.lang.Object object,
                      java.util.List<java.lang.Object> vals,
                      java.lang.Object converter,
                      java.lang.String id,
                      AReadContext context)Set an attribute value. | 
| protected boolean | setBulkField(java.lang.String fieldname,
            java.lang.Object parent,
            java.util.List<java.lang.Object> objects,
            java.lang.Object converter,
            AReadContext context,
            java.lang.String idref)Directly access a field for setting the objects. | 
| protected boolean | setElementValue(java.lang.Object accessinfo,
               QName xmlname,
               java.lang.Object object,
               java.lang.Object val,
               java.lang.Object converter,
               java.lang.String id,
               AReadContext context)Set an attribute value. | 
| protected boolean | setField(java.lang.String fieldname,
        java.lang.Object parent,
        java.lang.Object object,
        java.lang.Object converter,
        AReadContext context,
        java.lang.String idref)Directly access a field for setting/(adding) the object. | 
protected TypeInfoTypeManager titmanager
protected java.util.Set<java.lang.Object> no_typeinfos
protected IBeanIntrospector introspector
protected java.util.Map<IFilter<java.lang.Object>,IPostProcessor> postprocessors
public BeanObjectReaderHandler()
public BeanObjectReaderHandler(java.util.Set<TypeInfo> typeinfos)
public TypeInfo getTypeInfo(java.lang.Object object, QName[] fullpath, AReadContext context)
getTypeInfo in interface IObjectReaderHandlertag - The tag.fullpath - The full path.public java.lang.Object createObject(java.lang.Object type,
                                     boolean root,
                                     AReadContext context,
                                     java.util.Map<java.lang.String,java.lang.String> rawattributes)
                              throws java.lang.Exception
createObject in interface IObjectReaderHandlertype - The object type to create.root - Flag, if object should be root object.context - The context.java.lang.Exceptionprotected java.lang.Class<?> getCorrectAnonymousInnerClass(java.lang.Class<?> clazz,
                                                           java.util.Map<java.lang.String,java.lang.String> rawattributes,
                                                           java.lang.ClassLoader classloader)
protected boolean isCorrectAnonymousInnerClass(java.lang.Class<?> clazz,
                                               java.util.Map<java.lang.String,java.lang.String> rawattributes)
public java.lang.Object getObjectType(java.lang.Object object,
                                      AReadContext context)
object - The object.public java.lang.Object convertContentObject(java.lang.String value,
                                             QName tag,
                                             AReadContext context)
                                      throws java.lang.Exception
convertContentObject in interface IObjectReaderHandlerjava.lang.Exceptionpublic void handleAttributeValue(java.lang.Object object,
                                 QName xmlattrname,
                                 java.util.List<QName> attrpath,
                                 java.lang.String attrval,
                                 java.lang.Object attrinfo,
                                 AReadContext context)
                          throws java.lang.Exception
handleAttributeValue in interface IObjectReaderHandlerobject - The object.attrname - The attribute name.attrval - The attribute value.attrinfo - The attribute info.context - The context.java.lang.Exceptionpublic void linkObject(java.lang.Object object,
                       java.lang.Object parent,
                       java.lang.Object linkinfo,
                       QName[] pathname,
                       AReadContext context)
                throws java.lang.Exception
linkObject in interface IObjectLinkerobject - The object.parent - The parent object.linkinfo - The link info.tagname - The current tagname (for name guessing).context - The context.java.lang.Exceptionpublic void bulkLinkObjects(java.util.List<java.lang.Object> childs,
                            java.lang.Object parent,
                            java.lang.Object linkinfo,
                            QName[] pathname,
                            AReadContext context)
                     throws java.lang.Exception
object - The object.parent - The parent object.linkinfo - The link info.tagname - The current tagname (for name guessing).context - The context.java.lang.Exceptionpublic void bulkLinkObjects(java.lang.Object parent,
                            java.util.List<LinkData> children,
                            AReadContext context)
                     throws java.lang.Exception
bulkLinkObjects in interface IBulkObjectLinkerparent - The parent object.children - The children objects (link datas).context - The context.classloader - The classloader.root - The root object.java.lang.Exceptionprotected void handleBulkLinking(java.util.List<java.lang.Object> childs,
                                 java.lang.Object parent,
                                 AReadContext context,
                                 QName[] pathname,
                                 java.util.List<LinkData> linkdatas,
                                 int startidx)
                          throws java.lang.Exception
java.lang.Exceptionprotected boolean setElementValue(java.lang.Object accessinfo,
                                  QName xmlname,
                                  java.lang.Object object,
                                  java.lang.Object val,
                                  java.lang.Object converter,
                                  java.lang.String id,
                                  AReadContext context)
                           throws java.lang.Exception
attrinfo - The attribute info.xmlattrname - The xml attribute name.object - The object.val - The attribute value.root - The root object.classloader - The classloader.java.lang.Exceptionprotected boolean setBulkAttributeValues(java.lang.Object accessinfo,
                                         QName xmlattrname,
                                         java.lang.Object object,
                                         java.util.List<java.lang.Object> vals,
                                         java.lang.Object converter,
                                         java.lang.String id,
                                         AReadContext context)
                                  throws java.lang.Exception
attrinfo - The attribute info.xmlattrname - The xml attribute name.object - The object.attrval - The attribute value.root - The root object.classloader - The classloader.java.lang.Exceptionprotected boolean invokeSetMethod(java.lang.String[] prefixes,
                                  java.lang.String postfix,
                                  java.lang.Object value,
                                  java.lang.Object object,
                                  AReadContext context,
                                  java.lang.Object converter,
                                  java.lang.String idref)
                           throws java.lang.Exception
prefixes - The method prefixes.postfix - The method postfix.value - The attribute value.object - The object.root - The root.classloader - The classloader.converter - The converter.java.lang.Exceptionprotected boolean invokeBulkSetMethod(java.lang.String[] prefixes,
                                      java.lang.String postfix,
                                      java.util.List<java.lang.Object> vals,
                                      java.lang.Object object,
                                      AReadContext context,
                                      java.lang.Object converter,
                                      java.lang.String idref)
                               throws java.lang.Exception
prefixes - The method prefixes.postfix - The mothod postfix.attrval - The attribute value.object - The object.root - The root.classloader - The classloader.converter - The converter.java.lang.Exceptionprotected boolean setField(java.lang.String fieldname,
                           java.lang.Object parent,
                           java.lang.Object object,
                           java.lang.Object converter,
                           AReadContext context,
                           java.lang.String idref)
                    throws java.lang.Exception
java.lang.Exceptionprotected boolean setBulkField(java.lang.String fieldname,
                               java.lang.Object parent,
                               java.util.List<java.lang.Object> objects,
                               java.lang.Object converter,
                               AReadContext context,
                               java.lang.String idref)
                        throws java.lang.Exception
java.lang.Exceptionprotected java.lang.Object convertValue(java.lang.Object val,
                                        java.lang.Class<?> targetclass,
                                        java.lang.Object converter,
                                        AReadContext context,
                                        java.lang.String id)
                                 throws java.lang.Exception
val - The attribute value.targetcalss - The target class.converter - The converter.root - The root.classloader - The classloader.java.lang.Exceptionprotected java.lang.Object convertBulkValues(java.util.List<java.lang.Object> vals,
                                             java.lang.Class<?> targetclass,
                                             java.lang.Object converter,
                                             AReadContext context,
                                             java.lang.String id)
                                      throws java.lang.Exception
java.lang.Exceptionpublic IPostProcessor[] getPostProcessors(java.lang.Object object, java.lang.Object typeinfo)
getPostProcessors in interface IObjectReaderHandlerpublic void addPostProcessor(IFilter<java.lang.Object> filter, IPostProcessor processor)
filter - The filter.processor - The post processor.public void removePostProcessor(IFilter<java.lang.Object> filter)
filter - The filter.processor - The post processor.