001package com.nimbusds.infinispan.persistence.sql;
002
003
004import java.util.List;
005import java.util.Map;
006
007import org.jooq.Field;
008
009
010/**
011 * SQL record for insert / update.
012 */
013public interface SQLRecord {
014        
015        
016        /**
017         * Returns the column names that serve as keys for the SQL record. Must
018         * be included in the {@link #getFields() returned fields}.
019         *
020         * @return The key column names, one or more. Never empty.
021         */
022        List<Field<?>> getKeyColumns();
023        
024        
025        /**
026         * Returns the fields for the SQL record.
027         *
028         * @return The fields. Never empty.
029         */
030        Map<Field<?>,?> getFields();
031}