All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.orangesignal.csv.manager.CsvLoader Maven / Gradle / Ivy

Go to download

OrangeSignal CSV is a very flexible csv (comma-separated values) read and write library for Java.

There is a newer version: 2.2.1
Show newest version
/*
 * Copyright 2013 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.orangesignal.csv.manager;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.Reader;
import java.util.List;
import java.util.zip.ZipFile;
import java.util.zip.ZipInputStream;

import com.orangesignal.csv.LhaEntryFilter;
import com.orangesignal.csv.ZipEntryFilter;
import com.orangesignal.csv.filters.BeanFilter;
import com.orangesignal.csv.handlers.BeanOrder;
import com.orangesignal.jlha.LhaFile;
import com.orangesignal.jlha.LhaInputStream;

/**
 * 区切り文字形式データの統合入力インタフェースです。
 *
 * @param  区切り文字形式データの型
 * @author Koji Sugisawa
 */
public interface CsvLoader {

	/**
	 * Java プログラム要素フィルタを設定します。
	 * 
	 * @param filter Java プログラム要素フィルタ
	 * @return このオブジェクトへの参照
	 * @since 1.3.0
	 */
	CsvLoader filter(BeanFilter filter);

	/**
	 * 並び替え条件を設定します。
	 * 
	 * @param orders 並び替え条件
	 * @return このオブジェクトへの参照
	 * @since 1.3.0
	 */
	CsvLoader order(BeanOrder... orders);

	/**
	 * 取得データの開始位置を設定します。
	 * 
	 * @param offset 取得データの開始位置
	 * @return このオブジェクトへの参照
	 * @since 1.3.0
	 */
	CsvLoader offset(int offset);

	/**
	 * 取得データの限度数を設定します。
	 * 
	 * @param limit 取得データの限度数
	 * @return このオブジェクトへの参照
	 * @since 1.3.0
	 */
	CsvLoader limit(int limit);

	/**
	 * 指定された文字入力ストリームを読込み、
	 * 変換された区切り文字形式データのインスタンスを返します。
	 *
	 * @param reader 文字入力ストリーム
	 * @return 変換された区切り文字形式データのインスタンス
	 * @throws IOException 入出力エラーが発生した場合
	 */
	List from(Reader reader) throws IOException;

	/**
	 * 指定された入力ストリームを指定されたエンコーディングで読込み、
	 * 変換された区切り文字形式データのインスタンスを返します。
	 *
	 * @param in 入力ストリーム
	 * @param encoding エンコーディング
	 * @return 変換された区切り文字形式データのインスタンス
	 * @throws IOException 入出力エラーが発生した場合
	 */
	List from(InputStream in, String encoding) throws IOException;

	/**
	 * 指定された入力ストリームをプラットフォームのデフォルトエンコーディングで読込み、
	 * 変換された区切り文字形式データのインスタンスを返します。
	 *
	 * @param in 入力ストリーム
	 * @return 変換された区切り文字形式データのインスタンス
	 * @throws IOException 入出力エラーが発生した場合
	 */
	List from(InputStream in) throws IOException;

	/**
	 * 指定されたファイルを指定されたエンコーディングで読込み、
	 * 変換された区切り文字形式データのインスタンスを返します。
	 *
	 * @param file 入力ファイル
	 * @param encoding エンコーディング
	 * @return 変換された区切り文字形式データのインスタンス
	 * @throws IOException 入出力エラーが発生した場合
	 */
	List from(File file, String encoding) throws IOException;

	/**
	 * 指定されたファイルをプラットフォームのデフォルトエンコーディングで読込み、
	 * 変換された区切り文字形式データのインスタンスを返します。
	 *
	 * @param file 入力ファイル
	 * @return 変換された区切り文字形式データのインスタンス
	 * @throws IOException 入出力エラーが発生した場合
	 */
	List from(File file) throws IOException;

	// ------------------------------------------------------------------------
	// static load (compress support)

	/**
	 * 指定された LHA 入力ストリームから指定されたフィルタの基準を満たす LHA エントリを指定されたエンコーディングで読込み、
	 * 変換された区切り文字形式データのインスタンスを返します。
	 *
	 * @param in LHA 入力ストリーム
	 * @param encoding エンコーディング
	 * @param filter LHA エントリフィルタ
	 * @return 変換された区切り文字形式データのインスタンス
	 * @throws IOException 入出力エラーが発生した場合
	 * @since 1.2.1
	 */
	List from(LhaInputStream in, String encoding, LhaEntryFilter filter) throws IOException;

	/**
	 * 指定された LHA 入力ストリームからすべての LHA エントリを指定されたエンコーディングで読込み、
	 * 変換された区切り文字形式データのインスタンスを返します。
	 *
	 * @param in LHA 入力ストリーム
	 * @param encoding エンコーディング
	 * @return 変換された区切り文字形式データのインスタンス
	 * @throws IOException 入出力エラーが発生した場合
	 * @since 1.2.1
	 */
	List from(LhaInputStream in, String encoding) throws IOException;

	/**
	 * 指定された LHA 入力ストリームから指定されたフィルタの基準を満たす LHA エントリをプラットフォームのデフォルトエンコーディングで読込み、
	 * 変換された区切り文字形式データのインスタンスを返します。
	 *
	 * @param in LHA 入力ストリーム
	 * @param filter LHA エントリフィルタ
	 * @return 変換された区切り文字形式データのインスタンス
	 * @throws IOException 入出力エラーが発生した場合
	 */
	List from(LhaInputStream in, LhaEntryFilter filter) throws IOException;

	/**
	 * 指定された LHA 入力ストリームからすべての LHA エントリをプラットフォームのデフォルトエンコーディングで読込み、
	 * 変換された区切り文字形式データのインスタンスを返します。
	 *
	 * @param in LHA 入力ストリーム
	 * @return 変換された区切り文字形式データのインスタンス
	 * @throws IOException 入出力エラーが発生した場合
	 */
	List from(LhaInputStream in) throws IOException;

	/**
	 * 指定された LHA ファイルから指定されたフィルタの基準を満たす LHA エントリを指定されたエンコーディングで読込み、
	 * 変換された区切り文字形式データのインスタンスを返します。
	 *
	 * @param lhaFile LHA ファイル
	 * @param encoding エンコーディング
	 * @param filter LHA エントリフィルタ
	 * @return 変換された区切り文字形式データのインスタンス
	 * @throws IOException 入出力エラーが発生した場合
	 * @since 1.2.1
	 */
	List from(LhaFile lhaFile, String encoding, LhaEntryFilter filter) throws IOException;

	/**
	 * 指定された LHA ファイルから指定されたすべての LHA エントリを指定されたエンコーディングで読込み、
	 * 変換された区切り文字形式データのインスタンスを返します。
	 *
	 * @param lhaFile LHA ファイル
	 * @param encoding エンコーディング
	 * @return 変換された区切り文字形式データのインスタンス
	 * @throws IOException 入出力エラーが発生した場合
	 * @since 1.2.1
	 */
	List from(LhaFile lhaFile, String encoding) throws IOException;

	/**
	 * 指定された LHA ファイルから指定されたフィルタの基準を満たす LHA エントリをプラットフォームのデフォルトエンコーディングで読込み、
	 * 変換された区切り文字形式データのインスタンスを返します。
	 *
	 * @param lhaFile LHA ファイル
	 * @param filter LHA エントリフィルタ
	 * @return 変換された区切り文字形式データのインスタンス
	 * @throws IOException 入出力エラーが発生した場合
	 */
	List from(LhaFile lhaFile, LhaEntryFilter filter) throws IOException;

	/**
	 * 指定された LHA ファイルからすべての LHA エントリをプラットフォームのデフォルトエンコーディングで読込み、
	 * 変換された区切り文字形式データのインスタンスを返します。
	 *
	 * @param lhaFile LHA ファイル
	 * @return 変換された区切り文字形式データのインスタンス
	 * @throws IOException 入出力エラーが発生した場合
	 */
	List from(LhaFile lhaFile) throws IOException;

	/**
	 * 指定された ZIP 入力ストリームから指定されたフィルタの基準を満たす ZIP エントリを指定されたエンコーディングで読込み、
	 * 変換された区切り文字形式データのインスタンスを返します。
	 *
	 * @param in ZIP 入力ストリーム
	 * @param encoding エンコーディング
	 * @param filter ZIP エントリフィルタ
	 * @return 変換された区切り文字形式データのインスタンス
	 * @throws IOException 入出力エラーが発生した場合
	 * @since 1.2.1
	 */
	List from(ZipInputStream in, String encoding, ZipEntryFilter filter) throws IOException;

	/**
	 * 指定された ZIP 入力ストリームからすべての ZIP エントリを指定されたエンコーディングで読込み、
	 * 変換された区切り文字形式データのインスタンスを返します。
	 *
	 * @param in ZIP 入力ストリーム
	 * @param encoding エンコーディング
	 * @return 変換された区切り文字形式データのインスタンス
	 * @throws IOException 入出力エラーが発生した場合
	 * @since 1.2.1
	 */
	List from(ZipInputStream in, String encoding) throws IOException;

	/**
	 * 指定された ZIP 入力ストリームから指定されたフィルタの基準を満たす ZIP エントリをプラットフォームのデフォルトエンコーディングで読込み、
	 * 変換された区切り文字形式データのインスタンスを返します。
	 *
	 * @param in ZIP 入力ストリーム
	 * @param filter ZIP エントリフィルタ
	 * @return 変換された区切り文字形式データのインスタンス
	 * @throws IOException 入出力エラーが発生した場合
	 */
	List from(ZipInputStream in, ZipEntryFilter filter) throws IOException;

	/**
	 * 指定された ZIP 入力ストリームからすべての ZIP エントリをプラットフォームのデフォルトエンコーディングで読込み、
	 * 変換された区切り文字形式データのインスタンスを返します。
	 *
	 * @param in ZIP 入力ストリーム
	 * @return 変換された区切り文字形式データのインスタンス
	 * @throws IOException 入出力エラーが発生した場合
	 */
	List from(ZipInputStream in) throws IOException;

	/**
	 * 指定された ZIP ファイルから指定されたフィルタの基準を満たす ZIP エントリを指定されたエンコーディングで読込み、
	 * 変換された区切り文字形式データのインスタンスを返します。
	 *
	 * @param zipFile ZIP ファイル
	 * @param encoding エンコーディング
	 * @param filter ZIP エントリフィルタ
	 * @return 変換された区切り文字形式データのインスタンス
	 * @throws IOException 入出力エラーが発生した場合
	 * @since 1.2.1
	 */
	List from(ZipFile zipFile, String encoding, ZipEntryFilter filter) throws IOException;

	/**
	 * 指定された ZIP ファイルからすべての ZIP エントリを指定されたエンコーディングで読込み、
	 * 変換された区切り文字形式データのインスタンスを返します。
	 *
	 * @param zipFile ZIP ファイル
	 * @param encoding エンコーディング
	 * @return 変換された区切り文字形式データのインスタンス
	 * @throws IOException 入出力エラーが発生した場合
	 * @since 1.2.1
	 */
	List from(ZipFile zipFile, String encoding) throws IOException;

	/**
	 * 指定された ZIP ファイルから指定されたフィルタの基準を満たす ZIP エントリをプラットフォームのデフォルトエンコーディングで読込み、
	 * 変換された区切り文字形式データのインスタンスを返します。
	 *
	 * @param zipFile ZIP ファイル
	 * @param filter ZIP エントリフィルタ
	 * @return 変換された区切り文字形式データのインスタンス
	 * @throws IOException 入出力エラーが発生した場合
	 */
	List from(ZipFile zipFile, ZipEntryFilter filter) throws IOException;

	/**
	 * 指定された ZIP ファイルからすべての ZIP エントリをプラットフォームのデフォルトエンコーディングで読込み、
	 * 変換された区切り文字形式データのインスタンスを返します。
	 *
	 * @param zipFile ZIP ファイル
	 * @return 変換された区切り文字形式データのインスタンス
	 * @throws IOException 入出力エラーが発生した場合
	 */
	List from(ZipFile zipFile) throws IOException;

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy