001package com.nimbusds.infinispan.persistence.dynamodb.query;
002
003
004import com.amazonaws.services.dynamodbv2.document.Index;
005import com.amazonaws.services.dynamodbv2.document.Table;
006import com.nimbusds.infinispan.persistence.dynamodb.DynamoDBItemTransformer;
007
008
009/**
010 * DynamoDB query executor initialisation context.
011 */
012public interface DynamoDBQueryExecutorInitContext<K, V> {
013        
014        
015        /**
016         * Returns the configured DynamoDB item transformer.
017         *
018         * @return The DynamoDB item transformer.
019         */
020        DynamoDBItemTransformer<K, V> getDynamoDBItemTransformer();
021        
022        
023        /**
024         * Returns the DynamoDB table.
025         *
026         * @return The DynamoDB table.
027         */
028        Table getDynamoDBTable();
029        
030        
031        /**
032         * Returns the DynamoDB index for the specified attribute name.
033         *
034         * @param attributeName The attribute name.
035         *
036         * @return The DynamoDB index, {@code null} if not found.
037         */
038        Index getDynamoDBIndex(final String attributeName);
039}