package com.kryptnostic.kodex.v1.client;

import java.util.List;

import cern.colt.bitvector.BitVector;

import com.kryptnostic.kodex.v1.exceptions.types.ResourceNotFoundException;
import com.kryptnostic.kodex.v1.security.SecurityService;
import com.kryptnostic.multivariate.gf2.SimplePolynomialFunction;
import com.kryptnostic.storage.v1.models.EncryptedSearchDocumentKey;

/**
 * KryptnosticContext is responsible for maintaining shared state between the KryptnosticClient and Kryptnostic
 * services.
 * 
 * @author Nick Hewitt &lt;nick@kryptnostic.com&gt;
 *
 */
public interface KryptnosticContext {
    List<EncryptedSearchDocumentKey> getDocumentKeys();

    void addDocumentKeys( List<EncryptedSearchDocumentKey> keys );

    BitVector generateDocumentNonce();

    SecurityService getSecurityService();

    /**
     * Get the global hash function required for search. Only make a request if necessary
     * 
     * @return
     * @throws ResourceNotFoundException If hash function does not exist on the server
     */
    SimplePolynomialFunction getGlobalHashFunction() throws ResourceNotFoundException;
}

@@ -39,32 +39,8 @@
 t;%0A%0A
-import java.util.List;%0A%0A
 impo
@@ -73,16 +73,16 @@
 Vector;%0A
+
 %0Aimport 
@@ -277,77 +277,8 @@
 ion;
-%0Aimport com.kryptnostic.storage.v1.models.EncryptedSearchDocumentKey;
 %0A%0A/*
@@ -467,16 +467,16 @@
 %0A *%0A */%0A
+
 public i
@@ -508,132 +508,8 @@
 xt %7B
-%0A    List%3CEncryptedSearchDocumentKey%3E getDocumentKeys();%0A%0A    void addDocumentKeys( List%3CEncryptedSearchDocumentKey%3E keys );
 %0A%0A  

remove stuff from context interface