
com.happinesea.ec.rws.lib.RwsCsvBuilder.groovy Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of rws-lib Show documentation
Show all versions of rws-lib Show documentation
Uploads all artifacts belonging to configuration ':archives'
package com.happinesea.ec.rws.lib
import org.apache.commons.collections.CollectionUtils
import com.orangesignal.csv.CsvConfig
import com.orangesignal.csv.CsvWriter
/**
* オブジェクトをCSVに変換するビルダー
*
* @param 変換元オブジェクトのクラス
*/
class RwsCsvBuilder {
RwsCsvHelper helper
CsvConfig csvConfig
public RwsCsvBuilder(RwsCsvHelper helper) {
csvConfig = new CsvConfig()
csvConfig.setLineSeparator("\r\n")
this.helper = helper
}
public String builder(List source) {
if(CollectionUtils.isEmpty(source)) {
return null
}
if(helper == null) {
throw new IllegalArgumentException('csv helper is null.')
}
final StringWriter out = new StringWriter()
final CsvWriter writer = new CsvWriter(out, csvConfig)
try {
for(S s : source) {
List recode = helper.convert(s)
writer.writeValues(recode)
}
writer.flush()
return out.toString()
}finally {
out.close()
writer.close()
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy