public static List<Field> getAnnotatedFields(Class runtimeClass, Class<? extends Annotation> annotationClass) { List<Field> streamWriterFields = new ArrayList<Field>(); getAnnotatedFields(runtimeClass, streamWriterFields, annotationClass); return streamWriterFields; }
public static List<Field> getAnnotatedFields(Class runtimeClass, Class<? extends Annotation> annotationClass) { List<Field> streamWriterFields = new ArrayList<Field>(); getAnnotatedFields(runtimeClass, streamWriterFields, annotationClass); return streamWriterFields; }
public static List<Field> getAnnotatedFields(Class runtimeClass, Class<? extends Annotation> annotationClass) { List<Field> streamWriterFields = new ArrayList<Field>(); getAnnotatedFields(runtimeClass, streamWriterFields, annotationClass); return streamWriterFields; }
private static void getAnnotatedFields(Class runtimeClass, List<Field> annotatedFields, Class<? extends Annotation> annotationClass) { Field[] fields = runtimeClass.getDeclaredFields(); // Work back up the Inheritance tree first... Class superClass = runtimeClass.getSuperclass(); if(superClass != null) { getAnnotatedFields(superClass, annotatedFields, annotationClass); } for (Field field : fields) { if(field.isAnnotationPresent(annotationClass)) { annotatedFields.add(field); } } }
private static void getAnnotatedFields(Class runtimeClass, List<Field> annotatedFields, Class<? extends Annotation> annotationClass) { Field[] fields = runtimeClass.getDeclaredFields(); // Work back up the Inheritance tree first... Class superClass = runtimeClass.getSuperclass(); if(superClass != null) { getAnnotatedFields(superClass, annotatedFields, annotationClass); } for (Field field : fields) { if(field.isAnnotationPresent(annotationClass)) { annotatedFields.add(field); } } }
private static void getAnnotatedFields(Class runtimeClass, List<Field> annotatedFields, Class<? extends Annotation> annotationClass) { Field[] fields = runtimeClass.getDeclaredFields(); // Work back up the Inheritance tree first... Class superClass = runtimeClass.getSuperclass(); if(superClass != null) { getAnnotatedFields(superClass, annotatedFields, annotationClass); } for (Field field : fields) { if(field.isAnnotationPresent(annotationClass)) { annotatedFields.add(field); } } }
private <T extends SAXVisitor> T getAnnotatedHandler(List<ContentHandlerConfigMap<T>> handlerMaps, Class<? extends Annotation> annotationClass, boolean checkFields) { if(handlerMaps == null) { return null; } for(ContentHandlerConfigMap<T> handlerMap : handlerMaps) { T contentHandler = handlerMap.getContentHandler(); if(contentHandler.getClass().isAnnotationPresent(annotationClass)) { return contentHandler; } else if(checkFields && !ClassUtil.getAnnotatedFields(contentHandler.getClass(), annotationClass).isEmpty()) { return contentHandler; } } return null; } }
private <T extends SAXVisitor> T getAnnotatedHandler(List<ContentHandlerConfigMap<T>> handlerMaps, Class<? extends Annotation> annotationClass, boolean checkFields) { if(handlerMaps == null) { return null; } for(ContentHandlerConfigMap<T> handlerMap : handlerMaps) { T contentHandler = handlerMap.getContentHandler(); if(contentHandler.getClass().isAnnotationPresent(annotationClass)) { return contentHandler; } else if(checkFields && !ClassUtil.getAnnotatedFields(contentHandler.getClass(), annotationClass).isEmpty()) { return contentHandler; } } return null; } }
private <T extends SAXVisitor> T getAnnotatedHandler(List<ContentHandlerConfigMap<T>> handlerMaps, Class<? extends Annotation> annotationClass, boolean checkFields) { if(handlerMaps == null) { return null; } for(ContentHandlerConfigMap<T> handlerMap : handlerMaps) { T contentHandler = handlerMap.getContentHandler(); if(contentHandler.getClass().isAnnotationPresent(annotationClass)) { return contentHandler; } else if(checkFields && !ClassUtil.getAnnotatedFields(contentHandler.getClass(), annotationClass).isEmpty()) { return contentHandler; } } return null; } }
private <T extends SAXVisitor> T getAnnotatedHandler(List<ContentHandlerConfigMap<T>> handlerMaps, Class<? extends Annotation> annotationClass, boolean checkFields) { if(handlerMaps == null) { return null; } for(ContentHandlerConfigMap<T> handlerMap : handlerMaps) { T contentHandler = handlerMap.getContentHandler(); if(contentHandler.getClass().isAnnotationPresent(annotationClass)) { return contentHandler; } else if(checkFields && !ClassUtil.getAnnotatedFields(contentHandler.getClass(), annotationClass).isEmpty()) { return contentHandler; } } return null; } }
private static <U> void processStreamResultWriterAnnotations(U instance, SmooksResourceConfiguration config) { if(!(instance instanceof SAXVisitor)) { return; } List<Field> streamResFields = ClassUtil.getAnnotatedFields(instance.getClass(), StreamResultWriter.class); boolean encodeSpecialCharacters = config.getBoolParameter(Filter.ENTITIES_REWRITE, true); for(Field streamResField : streamResFields) { // If already initialized, ignore... try { if(ClassUtil.getField(streamResField, instance) != null) { continue; } } catch (IllegalAccessException e) { throw new SmooksConfigurationException("Unable to get property field value for '" + getLongMemberName(streamResField) + "'.", e); } Class<?> type = streamResField.getType(); if(type == SAXToXMLWriter.class) { SAXToXMLWriter xmlWriter = new SAXToXMLWriter((SAXVisitor) instance, encodeSpecialCharacters); try { ClassUtil.setField(streamResField, instance, xmlWriter); } catch (IllegalAccessException e) { throw new SmooksConfigurationException("Unable to inject SAXToXMLWriter property field value for '" + getLongMemberName(streamResField) + "'.", e); } } } }
private static <U> void processStreamResultWriterAnnotations(U instance, SmooksResourceConfiguration config) { if(!(instance instanceof SAXVisitor)) { return; } List<Field> streamResFields = ClassUtil.getAnnotatedFields(instance.getClass(), StreamResultWriter.class); boolean encodeSpecialCharacters = config.getBoolParameter(Filter.ENTITIES_REWRITE, true); for(Field streamResField : streamResFields) { // If already initialized, ignore... try { if(ClassUtil.getField(streamResField, instance) != null) { continue; } } catch (IllegalAccessException e) { throw new SmooksConfigurationException("Unable to get property field value for '" + getLongMemberName(streamResField) + "'.", e); } Class<?> type = streamResField.getType(); if(type == SAXToXMLWriter.class) { SAXToXMLWriter xmlWriter = new SAXToXMLWriter((SAXVisitor) instance, encodeSpecialCharacters); try { ClassUtil.setField(streamResField, instance, xmlWriter); } catch (IllegalAccessException e) { throw new SmooksConfigurationException("Unable to inject SAXToXMLWriter property field value for '" + getLongMemberName(streamResField) + "'.", e); } } } }
private static <U> void processStreamResultWriterAnnotations(U instance, SmooksResourceConfiguration config) { if(!(instance instanceof SAXVisitor)) { return; } List<Field> streamResFields = ClassUtil.getAnnotatedFields(instance.getClass(), StreamResultWriter.class); boolean encodeSpecialCharacters = config.getBoolParameter(Filter.ENTITIES_REWRITE, true); for(Field streamResField : streamResFields) { // If already initialized, ignore... try { if(ClassUtil.getField(streamResField, instance) != null) { continue; } } catch (IllegalAccessException e) { throw new SmooksConfigurationException("Unable to get property field value for '" + getLongMemberName(streamResField) + "'.", e); } Class<?> type = streamResField.getType(); if(type == SAXToXMLWriter.class) { SAXToXMLWriter xmlWriter = new SAXToXMLWriter((SAXVisitor) instance, encodeSpecialCharacters); try { ClassUtil.setField(streamResField, instance, xmlWriter); } catch (IllegalAccessException e) { throw new SmooksConfigurationException("Unable to inject SAXToXMLWriter property field value for '" + getLongMemberName(streamResField) + "'.", e); } } } }
private static <U> void processStreamResultWriterAnnotations(U instance, SmooksResourceConfiguration config) { if(!(instance instanceof SAXVisitor)) { return; } List<Field> streamResFields = ClassUtil.getAnnotatedFields(instance.getClass(), StreamResultWriter.class); boolean encodeSpecialCharacters = config.getBoolParameter(Filter.ENTITIES_REWRITE, true); for(Field streamResField : streamResFields) { // If already initialized, ignore... try { if(ClassUtil.getField(streamResField, instance) != null) { continue; } } catch (IllegalAccessException e) { throw new SmooksConfigurationException("Unable to get property field value for '" + getLongMemberName(streamResField) + "'.", e); } Class<?> type = streamResField.getType(); if(type == SAXToXMLWriter.class) { SAXToXMLWriter xmlWriter = new SAXToXMLWriter((SAXVisitor) instance, encodeSpecialCharacters); try { ClassUtil.setField(streamResField, instance, xmlWriter); } catch (IllegalAccessException e) { throw new SmooksConfigurationException("Unable to inject SAXToXMLWriter property field value for '" + getLongMemberName(streamResField) + "'.", e); } } } }