// Path: src/main/java/br/com/tecsinapse/dataio/converter/Converter.java
// public interface Converter<F, T> {
//     T apply(F input);
//     T apply(String input);
// }
// 
// Path: src/main/java/br/com/tecsinapse/dataio/converter/StringTableCellConverter.java
// public class StringTableCellConverter implements FromStringConverter<String> {
// 
//     @Override
//     public String apply(String input) {
//         if (Strings.isNullOrEmpty(input)) {
//             return "";
//         }
//         return input.trim();
//     }
// 
// }
// 
// Path: src/main/java/br/com/tecsinapse/dataio/converter/group/Default.java
// public interface Default {
// }


import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import br.com.tecsinapse.dataio.converter.Converter;
import br.com.tecsinapse.dataio.converter.StringTableCellConverter;
import br.com.tecsinapse.dataio.converter.group.Default;
/*
 * Tecsinapse Data Input and Output
 *
 * License: GNU Lesser General Public License (LGPL), version 3 or later
 * See the LICENSE file in the root directory or <http://www.gnu.org/licenses/lgpl-3.0.html>.
 */
package br.com.tecsinapse.dataio.annotation;




@Retention(RUNTIME)
@Target({METHOD})
public @interface TableCellMapping {

    int columnIndex();

// Path: src/main/java/br/com/tecsinapse/dataio/converter/Converter.java
// public interface Converter<F, T> {
//     T apply(F input);
//     T apply(String input);
// }
// 
// Path: src/main/java/br/com/tecsinapse/dataio/converter/StringTableCellConverter.java
// public class StringTableCellConverter implements FromStringConverter<String> {
// 
//     @Override
//     public String apply(String input) {
//         if (Strings.isNullOrEmpty(input)) {
//             return "";
//         }
//         return input.trim();
//     }
// 
// }
// 
// Path: src/main/java/br/com/tecsinapse/dataio/converter/group/Default.java
// public interface Default {
// }


// Path: src/main/java/br/com/tecsinapse/dataio/annotation/TableCellMapping.java
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import br.com.tecsinapse.dataio.converter.Converter;
import br.com.tecsinapse.dataio.converter.StringTableCellConverter;
import br.com.tecsinapse.dataio.converter.group.Default;

/*
 * Tecsinapse Data Input and Output
 *
 * License: GNU Lesser General Public License (LGPL), version 3 or later
 * See the LICENSE file in the root directory or <http://www.gnu.org/licenses/lgpl-3.0.html>.
 */
package br.com.tecsinapse.dataio.annotation;




@Retention(RUNTIME)
@Target({METHOD})
public @interface TableCellMapping {

    int columnIndex();

    Class<? extends Converter<?, ?>> converter() default StringTableCellConverter.class;