Class LDIFImportConfig

java.lang.Object
org.opends.server.types.Cancellable
org.opends.server.types.LDIFImportConfig
All Implemented Interfaces:
Closeable, AutoCloseable

public final class LDIFImportConfig extends Cancellable implements Closeable
This class defines a data structure for holding configuration information to use when performing an LDIF import.
  • Constructor Details

    • LDIFImportConfig

      public LDIFImportConfig(Path ldifFile)
      Creates a new LDIF import configuration that will read from the specified LDIF file.
      Parameters:
      ldifFile - The path to the LDIF file with the data to import.
    • LDIFImportConfig

      public LDIFImportConfig(List<Path> ldifFiles)
      Creates a new LDIF import configuration that will read from the specified LDIF files. The files will be imported in the order they are specified in the provided list.
      Parameters:
      ldifFiles - The paths to the LDIF files with the data to import.
    • LDIFImportConfig

      public LDIFImportConfig(EntryReader entryReader)
      Creates a new LDIF import configuration that will read from the provided entry reader.
      Parameters:
      entryReader - The entry reader from which to read the LDIF data.
    • LDIFImportConfig

      public LDIFImportConfig(InputStream ldifInputStream)
      Creates a new LDIF import configuration that will read from the provided input stream.
      Parameters:
      ldifInputStream - The input stream from which to read the LDIF data.
  • Method Details

    • nextReader

      public BufferedReader nextReader() throws IOException
      Retrieves the next reader that should be used to read the following LDIF data.
      Returns:
      The reader that should be used to read the LDIF data, or null if there are no more files to read.
      Throws:
      IOException - If a problem occurs while obtaining the reader.
    • getRejectWriter

      public BufferedWriter getRejectWriter()
      Retrieves the writer that should be used to write entries that are rejected rather than imported for some reason.
      Returns:
      The reject writer, or null if none is to be used.
    • getSkipWriter

      public BufferedWriter getSkipWriter()
      Retrieves the writer that should be used to write entries that are skipped because they don't match the criteria.
      Returns:
      The skip writer, or null if none is to be used.
    • writeRejectedEntries

      public void writeRejectedEntries(Path rejectFile, ExistingFileBehavior existingFileBehavior) throws IOException
      Indicates that rejected entries should be written to the specified file. Note that this applies only to entries that are rejected because they are invalid (e.g., are malformed or don't conform to schema requirements), and not to entries that are rejected because they matched exclude criteria.
      Parameters:
      rejectFile - The path to the file to which reject information should be written.
      existingFileBehavior - Indicates how to treat an existing file.
      Throws:
      IOException - If a problem occurs while opening the reject file for writing.
    • writeSkippedEntries

      public void writeSkippedEntries(Path skipFile, ExistingFileBehavior existingFileBehavior) throws IOException
      Indicates that skipped entries should be written to the specified file. Note that this applies only to entries that are skipped because they matched exclude criteria.
      Parameters:
      skipFile - The path to the file to which skipped information should be written.
      existingFileBehavior - Indicates how to treat an existing file.
      Throws:
      IOException - If a problem occurs while opening the skip file for writing.
    • invokeImportPlugins

      public boolean invokeImportPlugins()
      Indicates whether any LDIF import plugins registered with the server should be invoked during the import operation.
      Returns:
      true if registered LDIF import plugins should be invoked during the import operation, or false if they should not be invoked.
    • setInvokeImportPlugins

      public void setInvokeImportPlugins(boolean invokeImportPlugins)
      Specifies whether any LDIF import plugins registered with the server should be invoked during the import operation.
      Parameters:
      invokeImportPlugins - Specifies whether any LDIF import plugins registered with the server should be invoked during the import operation.
    • isCompressed

      public boolean isCompressed()
      Indicates whether the input LDIF source is expected to be compressed.
      Returns:
      true if the LDIF source is expected to be compressed, or false if not.
    • setCompressed

      public void setCompressed(boolean isCompressed)
      Specifies whether the input LDIF source is expected to be compressed. If compression is used, then this must be set prior to the initial call to getReader.
      Parameters:
      isCompressed - Indicates whether the input LDIF source is expected to be compressed.
    • isEncrypted

      public boolean isEncrypted()
      Indicates whether the input LDIF source is expected to be encrypted.
      Returns:
      true if the LDIF source is expected to be encrypted, or false if not.
    • setEncrypted

      public void setEncrypted(boolean isEncrypted)
      Specifies whether the input LDIF source is expected to be encrypted. If encryption is used, then this must be set prior to the initial call to getReader.
      Parameters:
      isEncrypted - Indicates whether the input LDIF source is expected to be encrypted.
    • clearBackend

      public boolean clearBackend()
      Indicates whether to clear the entire backend if importing to a backend with more than one base DNs.
      Returns:
      true if the entire backend should be cleared or false if not.
    • setClearBackend

      public void setClearBackend(boolean clearBackend)
      Specifies whether to clear the entire backend if importing to a backend.
      Parameters:
      clearBackend - Indicates whether to clear the entire backend.
    • validateSchema

      public boolean validateSchema()
      Indicates whether to perform schema validation on entries as they are read.
      Returns:
      true if schema validation should be performed on the entries as they are read, or false if not.
    • setValidateSchema

      public void setValidateSchema(boolean validateSchema)
      Specifies whether to perform schema validation on entries as they are read.
      Parameters:
      validateSchema - Indicates whether to perform schema validation on entries as they are read.
    • setExcludeBranches

      public void setExcludeBranches(Set<Dn> excludeBranches)
      Specifies the set of base DNs that specify the set of entries to exclude from the import.
      Parameters:
      excludeBranches - The set of base DNs that specify the set of entries to exclude from the import.
    • setIncludeBranches

      public void setIncludeBranches(Set<Dn> includeBranches)
      Specifies the set of base DNs that specify the set of entries to include in the import.
      Parameters:
      includeBranches - The set of base DNs that specify the set of entries to include in the import.
    • includeEntry

      public Pair<Boolean,LocalizableMessage> includeEntry(Dn dn)
      Indicates whether to include the entry with the specified DN in the import.
      Parameters:
      dn - The DN of the entry for which to make the determination.
      Returns:
      a pair where the first element is a boolean indicating whether the entry with the specified DN should be included in the import, and the second element is a message with the reason why an entry is not included in the import (it is null when the entry is included in the import).
    • setExcludeAttributes

      public void setExcludeAttributes(Set<AttributeType> excludeAttributes)
      Specifies the set of attributes that should be excluded from the entries read from the LDIF.
      Parameters:
      excludeAttributes - The set of attributes that should be excluded from the entries read from the LDIF.
    • setIncludeAttributes

      public void setIncludeAttributes(Set<AttributeType> includeAttributes)
      Specifies the set of attributes that should be included in the entries read from the LDIF.
      Parameters:
      includeAttributes - The set of attributes that should be included in the entries read from the LDIF.
    • includeAttribute

      public boolean includeAttribute(AttributeType attributeType)
      Indicates whether the specified attribute should be included in the entries read from the LDIF.
      Parameters:
      attributeType - The attribute type for which to make the determination.
      Returns:
      true if the specified attribute should be included in the entries read from the LDIF, or false if not.
    • setIncludeExcludeFilters

      public void setIncludeExcludeFilters(Set<Filter> includeFilters, Set<Filter> excludeFilters)
      Specifies search filters that should be used to determine which entries to include/exclude from the LDIF.
      Parameters:
      includeFilters - The filters that should be used to determine which entries to include from the LDIF.
      excludeFilters - The filters that should be used to determine which entries to exclude from the LDIF.
    • includeEntry

      public Pair<Boolean,LocalizableMessage> includeEntry(Entry entry)
      Indicates whether the specified entry should be included in the import based on the configured set of include and exclude filters.
      Parameters:
      entry - The entry for which to make the determination.
      Returns:
      a pair where the first element is a boolean indicating whether the entry with the specified DN should be included in the import, and the second element is a message with the reason why an entry is not included in the import (it is null when the entry is included in the import).
    • setBufferSize

      public void setBufferSize(int bufferSize)
      Specifies the buffer size that should be used when reading LDIF data.
      Parameters:
      bufferSize - The buffer size that should be used when reading LDIF data.
    • setExcludeAllUserAttributes

      public void setExcludeAllUserAttributes(boolean excludeAllUserAttrs)
      Specifies whether all the user attributes should be excluded.
      Parameters:
      excludeAllUserAttrs - Specifies all user attributes to be excluded.
    • setExcludeAllOperationalAttributes

      public void setExcludeAllOperationalAttributes(boolean excludeAllOpAttrs)
      Specifies whether all the operational attributes should be excluded.
      Parameters:
      excludeAllOpAttrs - Specifies whether all the operational attributes should be excluded.
    • setIncludeAllOpAttributes

      public void setIncludeAllOpAttributes(boolean includeAllOpAttrs)
      Specifies whether all the operational attributes should be included.
      Parameters:
      includeAllOpAttrs - Specifies whether all the operation attributes should be included.
    • setIncludeAllUserAttributes

      public void setIncludeAllUserAttributes(boolean includeAllUserAttrs)
      Specifies whether all the user attributes should be included.
      Parameters:
      includeAllUserAttrs - Specifies whether all the user attributes should be included.
    • close

      public void close()
      Closes any resources that this import config might have open.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
    • setTmpDirectory

      public void setTmpDirectory(String path)
      Set the temporary directory to the specified path.
      Parameters:
      path - The path to set the temporary directory to.
    • getTmpDirectory

      public String getTmpDirectory()
      Return the temporary directory path.
      Returns:
      The temporary directory string.
    • setThreadCount

      public void setThreadCount(int c)
      Set the thread count.
      Parameters:
      c - The thread count value.
    • getThreadCount

      public int getThreadCount()
      Return the specified thread count.
      Returns:
      The thread count.