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

org.etlunit.io.file.DataFileSchema Maven / Gradle / Ivy

package org.etlunit.io.file;

import java.util.List;
import java.util.Map;

public interface DataFileSchema
{
	Column getColumn(String name);

	interface Column
	{
		enum basic_type
		{
			string,
			numeric,
			integer
		}

		basic_type getBasicType();

		void setBasicType(basic_type type);

		boolean validateText(String text);

		String getId();

		void setOffset(int offset);

		int getOffset();

		boolean hasType();

		String getType();

		void setType(String type);

		void setLength(int length);

		int getLength();
	}

	public enum format_type
	{
		delimited,
		fixed
	}

	String getId();

	DataFileSchema createSubViewIncludingColumns(List columns, String id, format_type format);

	DataFileSchema createSubViewIncludingColumns(List columns, String id);

	DataFileSchema createSubViewExcludingColumns(List columns, String id, format_type format);

	DataFileSchema createSubViewExcludingColumns(List columns, String id);

	String toJsonString();

	void setColumnDelimiter(String delimiter);

	void setRowDelimiter(String delimiter);

	void setNullToken(String token);

	void setFormatType(DataFileSchema.format_type type);

	String getColumnDelimiter();

	String getRowDelimiter();

	String getNullToken();

	DataFileSchema.format_type getFormatType();

	Map validateAndSplitLine(String line);

	Column createColumn(String id);

	void addColumn(Column column);

	void addKeyColumn(String name);

	void addOrderColumn(String name);

	void setKeyColumns(List names);

	void setOrderColumns(List names);

	List getColumns();

	List getColumnNames();

	List getOrderColumns();

	List getOrderColumnNames();

	List getKeyColumns();

	List getKeyColumnNames();
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy