package com.revolsys.record.io;
import org.springframework.beans.factory.annotation.Required;
import org.springframework.beans.factory.config.AbstractFactoryBean;
import com.revolsys.record.ArrayRecord;
import com.revolsys.record.RecordFactory;
import com.revolsys.spring.resource.Resource;
public class FileRecordReaderFactory extends AbstractFactoryBean<RecordReader> {
private RecordFactory factory = ArrayRecord.FACTORY;
private Resource resource;
@Override
public RecordReader createInstance() throws Exception {
return RecordReader.newRecordReader(this.resource, this.factory);
}
@Override
protected void destroyInstance(final RecordReader reader) throws Exception {
reader.close();
this.factory = null;
this.resource = null;
}
public RecordFactory getFactory() {
return this.factory;
}
@Override
public Class<?> getObjectType() {
return RecordReader.class;
}
public Resource getResource() {
return this.resource;
}
public void setFactory(final RecordFactory factory) {
this.factory = factory;
}
@Required
public void setResource(final Resource resource) {
this.resource = resource;
}
}