Package com.googlecode.mjorm.spring

Source Code of com.googlecode.mjorm.spring.XmlDescriptorObjectMapperFactoryBean

package com.googlecode.mjorm.spring;

import java.io.File;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.config.AbstractFactoryBean;
import org.springframework.core.io.Resource;

import com.googlecode.mjorm.XmlDescriptorObjectMapper;
import com.googlecode.mjorm.convert.TypeConverter;

/**
* {@link FactoryBean} for created {@link XmlDescriptorObjectMapper}s.
*/
public class XmlDescriptorObjectMapperFactoryBean
  extends AbstractFactoryBean<XmlDescriptorObjectMapper> {

  private List<Resource> xmlResources = new ArrayList<Resource>();
  private List<File> xmlFiles = new ArrayList<File>();
  private List<TypeConverter<?, ?>> typeConverters = new ArrayList<TypeConverter<?, ?>>();

  /**
   * {@inheritDoc}
   */
  @Override
  protected XmlDescriptorObjectMapper createInstance()
    throws Exception {
    XmlDescriptorObjectMapper mapper = new XmlDescriptorObjectMapper();
    for (TypeConverter<?, ?> converter : typeConverters) {
      mapper.registerTypeConverter(converter);
    }
    for (Resource resource : xmlResources) {
      InputStream ips = resource.getInputStream();
      mapper.addXmlObjectDescriptor(ips);
      ips.close();
    }
    for (File file : xmlFiles) {
      mapper.addXmlObjectDescriptor(file);
    }
    return mapper;
  }

  /**
   * {@inheritDoc}
   */
  @Override
  public Class<?> getObjectType() {
    return XmlDescriptorObjectMapper.class;
  }

  /**
   * @param xmlResources the xmlResources to set
   */
  public void setXmlResources(List<Resource> xmlResources) {
    this.xmlResources = xmlResources;
  }

  /**
   * @param xmlFiles the xmlFiles to set
   */
  public void setXmlFiles(List<File> xmlFiles) {
    this.xmlFiles = xmlFiles;
  }

  /**
   * @param typeConverters the typeConverters to set
   */
  public void setTypeConverters(List<TypeConverter<?, ?>> typeConverters) {
    this.typeConverters = typeConverters;
  }

}
TOP

Related Classes of com.googlecode.mjorm.spring.XmlDescriptorObjectMapperFactoryBean

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.