org.elasticsearch.index.store

EncryptedDirectory

class EncryptedDirectory extends NIOFSDirectory

This class extends org.apache.lucene.store.NIOFSDirectory and overrides createOutput() and openInput() to include encryption and decryption via AESIndexOutput and AESIndexInput respectively. Code is based on the existing implementation in NIOFSDirectory: Much of this code is based on the existing implementation in NIOFSDirectory.

https://www.elastic.co/guide/en/elasticsearch/reference/1.7/index-modules-store.html#default_fs https://github.com/apache/lucene-solr/blob/master/lucene/core/src/java/org/apache/lucene/store/NIOFSDirectory.java

Linear Supertypes
NIOFSDirectory, FSDirectory, BaseDirectory, Directory, Closeable, AutoCloseable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. EncryptedDirectory
  2. NIOFSDirectory
  3. FSDirectory
  4. BaseDirectory
  5. Directory
  6. Closeable
  7. AutoCloseable
  8. AnyRef
  9. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new EncryptedDirectory(path: File, lockFactory: LockFactory, shardId: ShardId, esClient: Client, component: NodeKeyProviderComponent)

    path

    File to use

    lockFactory

    the lock factory to use

    shardId

    the ID of the shard used to get the index name

    esClient

    Elasticsearch client

    component

    NodeKeyProviderComponent to provide the key provider

Type Members

  1. final class FSIndexOutput extends OutputStreamIndexOutput

    Attributes
    private[org.apache.lucene.store]
    Definition Classes
    FSDirectory

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def buildFileHeader(raf: RandomAccessFile): FileHeader

    Returns a FileHeader.

    Returns a FileHeader. This method is currently hardcoded to return a HmacFileHeader. The user can rewrite or override this method to customize the FileHeader.

    raf

    file pointer

    Attributes
    protected[this]
  8. def clearLock(arg0: String): Unit

    Definition Classes
    BaseDirectory → Directory
    Annotations
    @throws( classOf[java.io.IOException] )
  9. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. def close(): Unit

    Definition Classes
    FSDirectory → Directory → Closeable → AutoCloseable
  11. def copy(arg0: Directory, arg1: String, arg2: String, arg3: IOContext): Unit

    Definition Classes
    Directory
    Annotations
    @throws( classOf[java.io.IOException] )
  12. def createAESReader(path: File, raf: RandomAccessFile, pageSize: Int, keyProvider: KeyProvider, fileHeader: FileHeader): AESReader

    Creates and returns an AESReader.

    Creates and returns an AESReader.

    path

    File to use

    raf

    file to create

    pageSize

    number of 16-byte blocks per page

    keyProvider

    encryption key information getter

    fileHeader

    creates the file header

    Attributes
    protected[org.elasticsearch.index.store]
  13. def createAESWriter(path: File, raf: RandomAccessFile, pageSize: Int, keyProvider: KeyProvider, fileHeader: FileHeader): AESWriter

    Creates and returns an AESWriter.

    Creates and returns an AESWriter.

    path

    File to use

    raf

    file to create

    pageSize

    number of 16-byte blocks per page

    keyProvider

    encryption key information getter

    fileHeader

    creates the file header

    Attributes
    protected[org.elasticsearch.index.store]
  14. def createOutput(name: String, context: IOContext): IndexOutput

    Creates and returns an IndexOutput for the file.

    Creates and returns an IndexOutput for the file.

    name

    file name

    context

    object whose information is used to create a new IndexOutput

    Definition Classes
    EncryptedDirectory → FSDirectory → Directory
    Annotations
    @throws( ... )
  15. def deleteFile(arg0: String): Unit

    Definition Classes
    FSDirectory → Directory
    Annotations
    @throws( classOf[java.io.IOException] )
  16. def ensureCanWrite(arg0: String): Unit

    Attributes
    protected[org.apache.lucene.store]
    Definition Classes
    FSDirectory
    Annotations
    @throws( classOf[java.io.IOException] )
  17. final def ensureOpen(): Unit

    Attributes
    protected[org.apache.lucene.store]
    Definition Classes
    BaseDirectory → Directory
    Annotations
    @throws( ... )
  18. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  19. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  20. def fileExists(arg0: String): Boolean

    Definition Classes
    FSDirectory → Directory
  21. def fileLength(arg0: String): Long

    Definition Classes
    FSDirectory → Directory
    Annotations
    @throws( classOf[java.io.IOException] )
  22. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  23. def fsync(arg0: String): Unit

    Attributes
    protected[org.apache.lucene.store]
    Definition Classes
    FSDirectory
    Annotations
    @throws( classOf[java.io.IOException] )
  24. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  25. def getDirectory(): File

    Definition Classes
    FSDirectory
  26. def getLockFactory(): LockFactory

    Definition Classes
    BaseDirectory → Directory
  27. def getLockID(): String

    Definition Classes
    FSDirectory → Directory
  28. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  29. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  30. def listAll(): Array[String]

    Definition Classes
    FSDirectory → Directory
    Annotations
    @throws( classOf[java.io.IOException] )
  31. def makeLock(arg0: String): Lock

    Definition Classes
    BaseDirectory → Directory
  32. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  33. final def notify(): Unit

    Definition Classes
    AnyRef
  34. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  35. def onIndexOutputClosed(arg0: String): Unit

    Attributes
    protected[org.apache.lucene.store]
    Definition Classes
    FSDirectory
  36. def openChecksumInput(arg0: String, arg1: IOContext): ChecksumIndexInput

    Definition Classes
    Directory
    Annotations
    @throws( classOf[java.io.IOException] )
  37. def openInput(name: String, context: IOContext): IndexInput

    Creates and returns an IndexInput for the file.

    Creates and returns an IndexInput for the file.

    name

    file name

    context

    object whose information is used to create a new IndexInput

    Definition Classes
    EncryptedDirectory → NIOFSDirectory → Directory
    Annotations
    @throws( ... )
  38. def setLockFactory(arg0: LockFactory): Unit

    Definition Classes
    FSDirectory → BaseDirectory → Directory
    Annotations
    @throws( classOf[java.io.IOException] )
  39. def sync(arg0: Collection[String]): Unit

    Definition Classes
    FSDirectory → Directory
    Annotations
    @throws( classOf[java.io.IOException] )
  40. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  41. def toString(): String

    Definition Classes
    FSDirectory → Directory → AnyRef → Any
  42. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  43. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  44. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. final def getReadChunkSize(): Int

    Definition Classes
    FSDirectory
    Annotations
    @Deprecated @deprecated
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

  2. final def setReadChunkSize(arg0: Int): Unit

    Definition Classes
    FSDirectory
    Annotations
    @Deprecated @deprecated
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

Inherited from NIOFSDirectory

Inherited from FSDirectory

Inherited from BaseDirectory

Inherited from Directory

Inherited from Closeable

Inherited from AutoCloseable

Inherited from AnyRef

Inherited from Any

Ungrouped