// Path: src/main/java/org/blackdread/filtersortjooqapi/filter/keyparser/KeyParser.java
// public interface KeyParser {
// 
//     /**
//      * Get the number of keys to be filtered (there are as many parsers)
//      *
//      * @return Number of keys to be filtered
//      */
//     int size();
// 
//     /**
//      * @return Keys list
//      */
//     List<String> keys();
// 
//     /**
//      * @return Keys as array
//      */
//     String[] getKeys();
// 
//     /**
//      * @return Parsers that take a {@link String} and return an {@link Object}
//      */
//     Function<String, ?>[] getParsers();
// }


import org.blackdread.filtersortjooqapi.filter.keyparser.KeyParser;
import org.jooq.Condition;
import javax.validation.constraints.NotNull;
import java.util.List;
package org.blackdread.filtersortjooqapi.filter;



/**
 * Created by Yoann CAPLAIN on 2017/9/7.
 */
public interface FilterValue {

    /**
     * Get the number of keys/values to be filtered (there are as many parsers)
     *
     * @return Number of keys/values to be filtered
     */
    int size();

    /**
     * @return {@link KeyParser} that will be used to get keys and parse values from keys
     */
    @NotNull
// Path: src/main/java/org/blackdread/filtersortjooqapi/filter/keyparser/KeyParser.java
// public interface KeyParser {
// 
//     /**
//      * Get the number of keys to be filtered (there are as many parsers)
//      *
//      * @return Number of keys to be filtered
//      */
//     int size();
// 
//     /**
//      * @return Keys list
//      */
//     List<String> keys();
// 
//     /**
//      * @return Keys as array
//      */
//     String[] getKeys();
// 
//     /**
//      * @return Parsers that take a {@link String} and return an {@link Object}
//      */
//     Function<String, ?>[] getParsers();
// }


// Path: src/main/java/org/blackdread/filtersortjooqapi/filter/FilterValue.java
import org.blackdread.filtersortjooqapi.filter.keyparser.KeyParser;
import org.jooq.Condition;
import javax.validation.constraints.NotNull;
import java.util.List;

package org.blackdread.filtersortjooqapi.filter;



/**
 * Created by Yoann CAPLAIN on 2017/9/7.
 */
public interface FilterValue {

    /**
     * Get the number of keys/values to be filtered (there are as many parsers)
     *
     * @return Number of keys/values to be filtered
     */
    int size();

    /**
     * @return {@link KeyParser} that will be used to get keys and parse values from keys
     */
    @NotNull
    KeyParser getKeyParser();