/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.query.proc; import java.util.List; import org.teiid.designer.query.sql.ISQLConstants; /** * */ public interface ITeiidMetadataFileInfo extends ITeiidFileInfo, ISQLConstants { int DEFAULT_HEADER_LINE_NUMBER = 1; /** * * @return headerLineNumber the data file's line number containing the header info */ int getHeaderLineNumber(); /** * * @return firstDataRow the line number of first data row */ int getFirstDataRow(); /** * * @return the data file's delimiter character */ String getDelimiter(); /** * * @return the data file's quote character */ String getQuote(); /** * * @return the data file's escape character */ String getEscape(); /** * @return the header string */ String getHeaderString(); /** * * @return cachedFirstLines the <code>String[]</code> array from the data file */ String[] getCachedFirstLines(); /** * * @return columnInfoList the <code>TeiidColumnInfo[]</code> list parsed from the header in the data file */ List<ITeiidColumnInfo> getColumnInfoList(); /** * * @return doProcess the boolean indicator that the user wishes to create view table from this object */ boolean doProcess(); /** * * @return includeHeader the boolean indicator that the generated view table SQL should include the HEADER parameter */ boolean doIncludeHeader(); /** * * @return includeSkip the boolean indicator that the generated view table SQL should include the SKIP parameter */ boolean doIncludeSkip(); /** * * @return includeEscape the boolean indicator that the generated view table SQL should include the SKIP parameter */ boolean doIncludeEscape(); /** * * @return includeQuote the boolean indicator that the generated view table SQL should include the QUOTE parameter */ boolean doIncludeQuote(); /** * * @return includeNoTrim the boolean indicator that the generated view table SQL should include the NO TRIM parameter */ boolean doIncludeNoTrim(); /** * * @return useHeader the boolean indicator that the data file contains a header with column names and should * be used to load column names */ boolean doUseHeaderForColumnNames(); /** * * @return fixedWidthColumns the boolean indicator that the data file contains a header with column names */ boolean isFixedWidthColumns(); /** * * @return numberOfFixedWidthColumns the number of fixed with columns */ int getNumberOfFixedWidthColumns(); /** * * @return delimitedColumns the boolean indicator that the data file contains columns separated by a delimiter */ boolean doUseDelimitedColumns(); /** * * @return numberOfCachedLines the number of cached lines from data file */ int getNumberOfCachedFileLines(); /** * * @return numberOfCachedLines the total number of lines from data file */ int getNumberOfLinesInFile(); /** * * @return the Data file filter, if specified */ String getDataFileFilter(); /** * * @return 'true' if remote url file, 'false' otherwise */ boolean isUrl(); /** * * @return url string if this is a remote file */ String getFileUrl(); /** * @return the char set if this is a remote file */ String getCharSet(); /** * Returns the current generated SQL string based on an unknown relational model name * @return the generated SQL string */ String getSqlStringTemplate(); /** * Get the SQL string representation of this information * * @param relationalModelName * * @return SQL DDL string */ String getSqlString(String relationalModelName); }