private void processProperties ( XMLStreamWriter writer , Set < Method > methodSet , Class < ? > aClass ) throws IntrospectionException , XMLStreamException { BeanInfo beanInfo = Introspector . getBeanInfo ( aClass , aClass . getSuperclass ( ) ) ; PropertyDescriptor [ ] propertyDescriptors = beanInfo . getPropertyDescriptors ( ) ; for ( int i = 0 ; i < propertyDescriptors . length ; i ++ ) { PropertyDescriptor propertyDescriptor = propertyDescriptors [ i ] ; if ( propertyDescriptor . getPropertyType ( ) != null ) { String name = propertyDescriptor . getName ( ) ; Method readMethod = propertyDescriptor . getReadMethod ( ) ; Method writeMethod = propertyDescriptor . getWriteMethod ( ) ; String readMethodName = readMethod == null ? null : readMethod . getName ( ) ; String writeMethodName = writeMethod == null ? null : writeMethod . getName ( ) ; addProperty ( writer , name , propertyDescriptor . getPropertyType ( ) , readMethodName , writeMethodName ) ; if ( readMethod != null ) { methodSet . add ( readMethod ) ; } if ( writeMethod != null ) { methodSet . add ( writeMethod ) ; } } else { processAmbiguousProperty ( writer , methodSet , aClass , propertyDescriptor ) ; } } }
Process class properties .