이 문서는 DataMorph 라이브러리의 모든 API를 상세히 설명합니다.
메인 진입점 클래스입니다.
public static DataSource from(String filePath)파일에서 DataSource를 생성합니다.
Parameters:
filePath- 읽을 파일의 경로
Returns: DataSource 인스턴스
Example:
DataSource data = DataMorph.from("employees.csv");public static DataSource fromString(String content, Format format)문자열 콘텐츠에서 DataSource를 생성합니다.
Parameters:
content- 파싱할 문자열 데이터format- 데이터 형식 (CSV, JSON)
Returns: DataSource 인스턴스
Example:
String csvData = "name,age\nJohn,30";
DataSource data = DataMorph.fromString(csvData, Format.CSV);public static DataSource fromObjects(List<?> objects)객체 리스트에서 DataSource를 생성합니다.
Parameters:
objects- 변환할 객체들의 리스트
Returns: DataSource 인스턴스
public static DataSource fromStream(InputStream stream, Format format)InputStream에서 DataSource를 생성합니다.
Parameters:
stream- 데이터를 읽을 InputStreamformat- 데이터 형식
Returns: StreamDataSource 인스턴스
public static void convertFile(String inputPath, String outputPath)파일 형식을 변환합니다.
public static void saveObjectsToFile(List<?> objects, String filePath)객체 리스트를 파일로 저장합니다.
데이터 변환 파이프라인의 핵심 인터페이스입니다.
DataSource filter(Predicate<DataRow> predicate)조건에 맞는 행만 필터링합니다.
Parameters:
predicate- 필터링 조건
Returns: 새로운 DataSource 인스턴스
Example:
dataSource.filter(row -> row.getInt("age") >= 30)DataSource transform(Function<DataRow, DataRow> transformer)각 행을 변환합니다.
Parameters:
transformer- 변환 함수
Returns: 새로운 DataSource 인스턴스
DataSource transform(Transform transform)Transform 객체를 사용하여 변환합니다.
List<DataRow> toList()모든 데이터를 List로 수집합니다.
<T> List<T> toList(Class<T> clazz)지정된 클래스 타입의 객체 리스트로 변환합니다.
void toFile(String filePath)결과를 파일로 저장합니다.
void toFile(String filePath, Format format)지정된 형식으로 파일에 저장합니다.
String toString(Format format)지정된 형식의 문자열로 변환합니다.
구조화된 데이터 변환을 위한 빌더 클래스입니다.
public static TransformBuilder builder()새로운 Transform 빌더를 생성합니다.
TransformBuilder rename(String oldName, String newName)필드명을 변경합니다.
TransformBuilder add(String fieldName, Object value)새 필드를 추가합니다.
TransformBuilder remove(String fieldName)필드를 제거합니다.
TransformBuilder when(Predicate<DataRow> condition, Function<DataRow, DataRow> action)조건부 변환을 추가합니다.
TransformBuilder when(Predicate<DataRow> condition, Function<DataRow, DataRow> action, String description)설명이 포함된 조건부 변환을 추가합니다.
Transform build()Transform 객체를 생성합니다.
Example:
Transform transform = Transform.builder()
.rename("emp_name", "name")
.add("bonus", 1000)
.remove("temp_field")
.when(row -> row.getInt("age") > 50,
row -> row.set("category", "senior"))
.build();개별 데이터 행을 나타내는 클래스입니다.
String getString(String fieldName)문자열 값을 가져옵니다.
Integer getInt(String fieldName)정수 값을 가져옵니다.
Double getDouble(String fieldName)실수 값을 가져옵니다.
Boolean getBoolean(String fieldName)불린 값을 가져옵니다.
Object get(String fieldName)원시 객체 값을 가져옵니다.
void set(String fieldName, Object value)필드 값을 설정합니다.
boolean has(String fieldName)필드가 존재하는지 확인합니다.
Set<String> getFieldNames()모든 필드명을 가져옵니다.
지원되는 데이터 형식을 나타내는 열거형입니다.
public enum Format {
CSV,
JSON
}public class ParseException extends RuntimeException데이터 파싱 중 발생하는 예외입니다.
public class TransformException extends RuntimeException데이터 변환 중 발생하는 예외입니다.
public class WriteException extends RuntimeException데이터 쓰기 중 발생하는 예외입니다.