Class LDIFImportConfig

    • Constructor Detail

      • LDIFImportConfig

        public LDIFImportConfig​(String 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<String> 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​(EntryGenerator entryGenerator)
        Creates a new LDIF import configuration that will read from the provided entry generator.
        Parameters:
        entryGenerator - The entry generator 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 Detail

      • getReader

        public BufferedReader getReader()
                                 throws IOException
        Retrieves the reader that should be used to read the LDIF data. Note that if the LDIF file is compressed and/or encrypted, then that must be indicated before this method is called for the first time.
        Returns:
        The reader that should be used to read the LDIF data.
        Throws:
        IOException - If a problem occurs while obtaining the reader.
      • nextReader

        public BufferedReader nextReader()
                                  throws IOException
        Retrieves the LDIF reader configured to read from the next LDIF file in the list.
        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​(String 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.
      • writeRejectedEntries

        public void writeRejectedEntries​(OutputStream outputStream)
        Indicates that rejected entries should be written to the provided output stream. 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:
        outputStream - The output stream to which rejected entries should be written.
      • writeSkippedEntries

        public void writeSkippedEntries​(String 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.
      • getExcludeBranches

        public Set<Dn> getExcludeBranches()
        Retrieves the set of base DNs that specify the set of entries to exclude from the import. The contents of the returned list may be altered by the caller.
        Returns:
        The set of base DNs that specify the set of entries to exclude from the import.
      • 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.
      • getIncludeBranches

        public Set<Dn> getIncludeBranches()
        Retrieves the set of base DNs that specify the set of entries to include in the import. The contents of the returned list may be altered by the caller.
        Returns:
        The set of base DNs that specify the set of entries to include in 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).
      • getExcludeAttributes

        public Set<AttributeType> getExcludeAttributes()
        Retrieves the set of attributes that should be excluded from the entries read from the LDIF. The contents of the returned set may be modified by the caller.
        Returns:
        The set of attributes that should be excluded from the entries read from the LDIF.
      • 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.
      • getIncludeAttributes

        public Set<AttributeType> getIncludeAttributes()
        Retrieves the set of attributes that should be included in the entries read from the LDIF. The contents of the returned set may be modified by the caller.
        Returns:
        The set of attributes that should be included in 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).
      • getBufferSize

        public int getBufferSize()
        Retrieves the buffer size that should be used when reading LDIF data.
        Returns:
        The buffer size that should be used when reading LDIF data.
      • 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.