/**   
* @Title: MarshallerListener.java 
* @Package com.platform.util 
* @Description: TODO(用一句话描述该文件做什么) 
* @author kiosk
* @date 2017年12月19日 下午3:43:39 
* @version V1.0   
*/
package com.platform.util;

import javax.xml.bind.Marshaller;  
import java.lang.reflect.Field; 

/** 
* @ClassName: MarshallerListener 
* @Description: TODO(这里用一句话描述这个类的作用) 
* @author kiosk
* @date 2017年12月19日 下午3:43:39 
*  
*/
public class MarshallerListener extends Marshaller.Listener {
	public static final String BLANK_CHAR = "";  
	  
    @Override  
    public void beforeMarshal(Object source) {  
        super.beforeMarshal(source);  
        Field[] fields = source.getClass().getDeclaredFields();  
        for (Field f : fields) {  
            f.setAccessible(true);  
            //获取字段上注解<pre name="code" class="java">            
             try {  
                    if (f.getType() == String.class && f.get(source) == null) {  
                        f.set(source, BLANK_CHAR);  
                    }  
                } catch (IllegalAccessException e) {  
                    e.printStackTrace();  
                }  
        }  
    }  
}
