CPD Results
The following document contains the results of PMD's CPD 5.0.5.
Duplications
File |
Line |
com\orangesignal\csv\io\CsvColumnNameMappingBeanReader.java |
137 |
com\orangesignal\csv\io\CsvColumnPositionMappingBeanReader.java |
143 |
template.setupColumnMappingIfNeed();
fields = template.getType().getDeclaredFields();
fieldColumnsMap = template.createFieldAndColumnsMap();
}
}
}
// ------------------------------------------------------------------------
// オーバーライド メソッド
@Override
public void close() throws IOException {
synchronized (this) {
ensureOpen();
reader.close();
reader = null;
columnNames = null;
fields = null;
fieldColumnsMap = null;
}
}
// ------------------------------------------------------------------------
// パブリック メソッド
/**
* 項目名のリストを返します。
*
* @return 項目名のリスト
* @throws IOException 入出力エラーが発生した場合
*/
public List<String> getHeader() throws IOException {
synchronized (this) {
ensureOpen();
ensureHeader();
return columnNames;
}
}
/**
* 論理行を読込み Java プログラム要素として返します。
*
* @return Java プログラム要素。ストリームの終わりに達した場合は {@code null}
* @throws IOException 入出力エラーが発生した場合
*/
public T read() throws IOException {
synchronized (this) {
ensureOpen();
ensureHeader();
final List<String> values = nextValues();
if (values == null) {
return null;
}
return convert(values);
}
}
/**
* 論理行を読込み CSV トークンの値をリストとして返します。
*
* @return CSV トークンの値をリスト。ストリームの終わりに達している場合は {@code null}
* @throws IOException 入出力エラーが発生した場合
*/
public List<String> readValues() throws IOException {
synchronized (this) {
ensureOpen();
ensureHeader();
return nextValues();
}
}
/**
* 指定された CSV トークンの値をリストを Java プログラム要素へ変換して返します。
*
* @param values CSV トークンの値をリスト
* @return 変換された Java プログラム要素
* @throws IOException 入出力エラーが発生した場合
*/
public T toBean(final List<String> values) throws IOException {
synchronized (this) {
ensureOpen();
ensureHeader();
return convert(values);
}
}
private List<String> nextValues() throws IOException {
List<String> values;
while ((values = reader.readValues()) != null) {
if (template.isAccept(columnNames, values)) { |
File |
Line |
com\orangesignal\csv\handlers\BeanListHandler.java |
109 |
com\orangesignal\csv\handlers\ColumnNameMappingBeanListHandler.java |
107 |
com\orangesignal\csv\handlers\ColumnPositionMappingBeanListHandler.java |
161 |
final CsvBeanReader<T> r = new CsvBeanReader<T>(reader, template);
// データ部を処理します。
final List<T> results = new ArrayList<T>();
final boolean order = ignoreScalar || orders != null && !orders.isEmpty();
int offset = 0;
List<String> values;
while ((values = r.readValues()) != null && (order || limit <= 0 || results.size() < limit)) {
if (beanFilter == null && !order && offset < this.offset) {
offset++;
continue;
}
final T bean = r.toBean(values);
if (beanFilter != null) {
if (!beanFilter.accept(bean)) {
continue;
}
if (!order && offset < this.offset) {
offset++;
continue;
}
}
results.add(bean);
}
if (ignoreScalar || !order) {
return results;
}
return processScalar(results);
}
@Override
public void save(final List<T> list, final CsvWriter writer) throws IOException {
@SuppressWarnings("resource")
final CsvBeanWriter<T> w = new CsvBeanWriter<T>(writer, template, header); |
File |
Line |
com\orangesignal\csv\bean\CsvEntityTemplate.java |
136 |
com\orangesignal\csv\bean\CsvEntityTemplate.java |
193 |
if (column != null) {
final int pos = column.position();
final String name = defaultIfEmpty(column.name(), f.getName());
if (pos >= 0) {
if (positionMap.containsKey(pos)) {
continue;
}
positionMap.put(pos, name);
} else {
adding.add(name);
}
}
}
final int max = positionMap.size() > 0 ? positionMap.lastKey().intValue() + 1 : 0;
final String[] names = new String[max];
for (final Map.Entry<Integer, String> entry : positionMap.entrySet()) {
names[entry.getKey().intValue()] = entry.getValue();
}
final List<String> results = new ArrayList<String>(Arrays.asList(names));
if (adding.size() > 0) {
results.addAll(adding);
}
return results;
}
/**
* 出力可能な項目名のリストを作成して返します。
*
* @return 項目名のリスト
* @since 2.2
*/
public List<String> createWritableColumnNames() { |
File |
Line |
com\orangesignal\csv\io\CsvBeanReader.java |
149 |
com\orangesignal\csv\io\CsvColumnNameMappingBeanReader.java |
155 |
com\orangesignal\csv\io\CsvColumnPositionMappingBeanReader.java |
161 |
columnNames = null;
}
}
// ------------------------------------------------------------------------
// パブリック メソッド
/**
* 項目名のリストを返します。
*
* @return 項目名のリスト
* @throws IOException 入出力エラーが発生した場合
*/
public List<String> getHeader() throws IOException {
synchronized (this) {
ensureOpen();
ensureHeader();
return columnNames;
}
}
/**
* 論理行を読込み Java プログラム要素として返します。
*
* @return Java プログラム要素。ストリームの終わりに達した場合は {@code null}
* @throws IOException 入出力エラーが発生した場合
*/
public T read() throws IOException {
synchronized (this) {
ensureOpen();
ensureHeader();
final List<String> values = nextValues();
if (values == null) {
return null;
}
return convert(values);
}
}
/**
* 論理行を読込み CSV トークンの値をリストとして返します。
*
* @return CSV トークンの値をリスト。ストリームの終わりに達している場合は {@code null}
* @throws IOException 入出力エラーが発生した場合
*/
public List<String> readValues() throws IOException {
synchronized (this) {
ensureOpen();
ensureHeader();
return nextValues();
}
}
/**
* 指定された CSV トークンの値をリストを Java プログラム要素へ変換して返します。
*
* @param values CSV トークンの値をリスト
* @return 変換された Java プログラム要素
* @throws IOException 入出力エラーが発生した場合
*/
public T toBean(final List<String> values) throws IOException {
synchronized (this) {
ensureOpen();
ensureHeader();
return convert(values);
}
}
private List<String> nextValues() throws IOException {
List<String> values;
while ((values = reader.readValues()) != null) {
if (!template.isAccept(columnNames, values)) { |
File |
Line |
com\orangesignal\csv\io\CsvColumnNameMappingBeanWriter.java |
205 |
com\orangesignal\csv\io\CsvColumnPositionMappingBeanWriter.java |
214 |
}
}
}
// ------------------------------------------------------------------------
// オーバーライド メソッド
@Override
public void flush() throws IOException {
synchronized (this) {
ensureOpen();
writer.flush();
}
}
@Override
public void close() throws IOException {
synchronized (this) {
ensureOpen();
writer.close();
writer = null;
columnNames = null;
columnCount = -1;
}
}
// ------------------------------------------------------------------------
// パブリック メソッド
/**
* 可能であれば項目名を書き込みます。項目名が既に書き込まれている場合、このメソッドは何も行いません。
*
* @throws IOException 入出力エラーが発生した場合
*/
public void writeHeader() throws IOException {
synchronized (this) {
ensureOpen();
ensureHeader();
}
}
/**
* 指定された Java プログラム要素を区切り文字形式で書き込みます。
* {@code null} が指定された場合は空行が書き込まれます。
*
* @param bean 書き込む Java プログラム要素。または {@code null}
* @return データの出力を行った場合は {@code true} それ以外の場合 (フィルタにより書き込みがスキップされた場合) は {@code false}
* @throws IOException 入出力エラーが発生した場合
*/
public boolean write(final T bean) throws IOException {
synchronized (this) {
ensureOpen();
ensureHeader();
// 要素が null の場合は null 出力します。
if (bean == null) {
writer.writeValues(null);
return true;
}
final List<String> values = toValues(bean);
if (template.isAccept(columnNames, values)) { |
File |
Line |
com\orangesignal\csv\io\CsvBeanWriter.java |
228 |
com\orangesignal\csv\io\CsvColumnNameMappingBeanWriter.java |
228 |
}
}
// ------------------------------------------------------------------------
// パブリック メソッド
/**
* 可能であれば項目名を書き込みます。項目名が既に書き込まれている場合、このメソッドは何も行いません。
*
* @throws IOException 入出力エラーが発生した場合
*/
public void writeHeader() throws IOException {
synchronized (this) {
ensureOpen();
ensureHeader();
}
}
/**
* 指定された Java プログラム要素を区切り文字形式で書き込みます。
* {@code null} が指定された場合は空行が書き込まれます。
*
* @param bean 書き込む Java プログラム要素。または {@code null}
* @return データの出力を行った場合は {@code true} それ以外の場合 (フィルタにより書き込みがスキップされた場合) は {@code false}
* @throws IOException 入出力エラーが発生した場合
*/
public boolean write(final T bean) throws IOException {
synchronized (this) {
ensureOpen();
ensureHeader();
// 要素が null の場合は null 出力します。
if (bean == null) {
writer.writeValues(null);
return true;
}
final List<String> values = toValues(bean);
if (template.isAccept(columnNames, values)) {
return false;
}
writer.writeValues(values);
return true;
}
}
private List<String> toValues(final T bean) throws IOException {
final int columnCount = columnNames.size(); |
File |
Line |
com\orangesignal\csv\Csv.java |
420 |
com\orangesignal\csv\Csv.java |
465 |
public static <T> List<T> load(final ZipFile zipFile, final String encoding, final CsvConfig cfg, final CsvListHandler<T> handler, final ZipEntryFilter filter) throws IOException {
final List<T> list = new ArrayList<T>();
final Enumeration<? extends ZipEntry> entries = zipFile.entries();
while (entries.hasMoreElements()) {
final ZipEntry entry = entries.nextElement();
if (filter != null && !filter.accept(entry)) {
continue;
}
final InputStream in = zipFile.getInputStream(entry);
try {
list.addAll(handler.load(new CsvReader(new InputStreamReader(in, encoding), cfg), true)); |
File |
Line |
com\orangesignal\csv\io\CsvBeanReader.java |
149 |
com\orangesignal\csv\io\CsvColumnNameMappingBeanReader.java |
155 |
com\orangesignal\csv\io\CsvColumnPositionMappingBeanReader.java |
161 |
com\orangesignal\csv\io\CsvEntityReader.java |
162 |
columnNames = null;
}
}
// ------------------------------------------------------------------------
// パブリック メソッド
/**
* 項目名のリストを返します。
*
* @return 項目名のリスト
* @throws IOException 入出力エラーが発生した場合
*/
public List<String> getHeader() throws IOException {
synchronized (this) {
ensureOpen();
ensureHeader();
return columnNames;
}
}
/**
* 論理行を読込み Java プログラム要素として返します。
*
* @return Java プログラム要素。ストリームの終わりに達した場合は {@code null}
* @throws IOException 入出力エラーが発生した場合
*/
public T read() throws IOException {
synchronized (this) {
ensureOpen();
ensureHeader();
final List<String> values = nextValues();
if (values == null) {
return null;
}
return convert(values);
}
}
/**
* 論理行を読込み CSV トークンの値をリストとして返します。
*
* @return CSV トークンの値をリスト。ストリームの終わりに達している場合は {@code null}
* @throws IOException 入出力エラーが発生した場合
*/
public List<String> readValues() throws IOException {
synchronized (this) {
ensureOpen();
ensureHeader();
return nextValues();
}
}
/**
* 指定された CSV トークンの値をリストを Java プログラム要素へ変換して返します。
*
* @param values CSV トークンの値をリスト
* @return 変換された Java プログラム要素
* @throws IOException 入出力エラーが発生した場合
*/
public T toBean(final List<String> values) throws IOException { |
File |
Line |
com\orangesignal\csv\handlers\BeanListHandler.java |
109 |
com\orangesignal\csv\handlers\ColumnNameMappingBeanListHandler.java |
107 |
com\orangesignal\csv\handlers\ColumnPositionMappingBeanListHandler.java |
161 |
com\orangesignal\csv\handlers\CsvEntityListHandler.java |
91 |
final CsvBeanReader<T> r = new CsvBeanReader<T>(reader, template);
// データ部を処理します。
final List<T> results = new ArrayList<T>();
final boolean order = ignoreScalar || orders != null && !orders.isEmpty();
int offset = 0;
List<String> values;
while ((values = r.readValues()) != null && (order || limit <= 0 || results.size() < limit)) {
if (beanFilter == null && !order && offset < this.offset) {
offset++;
continue;
}
final T bean = r.toBean(values); |