LiveSatomi commented on a change in pull request #240: METAMODEL-1225 Add ColumnTypingStrategies and use them in CSV module. URL: https://github.com/apache/metamodel/pull/240#discussion_r408214699
########## File path: core/src/main/java/org/apache/metamodel/schema/typing/ColumnTypingContext.java ########## @@ -0,0 +1,52 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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 org.apache.metamodel.schema.typing; + +import org.apache.metamodel.schema.ColumnType; +import org.apache.metamodel.schema.Table; + +/** + * Defines the context for configuring the type for a single column in a + * {@link ColumnTypingStrategy} session. + */ +public interface ColumnTypingContext { + + /** + * Gets the index of the column being configured. + * + * @return the column index + */ + int getColumnIndex(); + + /** + * Gets the {@link Table} that the column is to pertain to. If the table is + * not yet available then this may return null. + * + * @return the associated table + */ + Table getTable(); + + /** + * Gets the intrinsic column type, if this is defined in the datastore + * itself. This may be in the form of a header or such. + * + * @return the column type representing the datastore's column type + */ + ColumnType getIntrinsicColumnType(); Review comment: Maybe I don't understand what is meant by intrinsic, but I thought this method was to try to get the data type in an automated/best-guess way such as using information_schema for RDBMSs or checking the schema of a JSON file. For CSV yes I think it will always be STRING. Maybe there is already some other way to deal with the other data sources. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services