001    /*
002     * CDDL HEADER START
003     *
004     * The contents of this file are subject to the terms of the
005     * Common Development and Distribution License, Version 1.0 only
006     * (the "License").  You may not use this file except in compliance
007     * with the License.
008     *
009     * You can obtain a copy of the license at
010     * docs/licenses/cddl.txt
011     * or http://www.opensource.org/licenses/cddl1.php.
012     * See the License for the specific language governing permissions
013     * and limitations under the License.
014     *
015     * When distributing Covered Code, include this CDDL HEADER in each
016     * file and include the License file at
017     * docs/licenses/cddl.txt.  If applicable,
018     * add the following below this CDDL HEADER, with the fields enclosed
019     * by brackets "[]" replaced with your own identifying information:
020     *      Portions Copyright [yyyy] [name of copyright owner]
021     *
022     * CDDL HEADER END
023     *
024     *
025     *      Copyright 2010-2012 UnboundID Corp.
026     */
027    package com.unboundid.directory.sdk.sync.types;
028    
029    /**
030     * This class contains the possible completion reasons for a synchronization
031     * operation. This information is returned in a {@link DatabaseChangeRecord}
032     * after it is acknowledged back to the sync source.
033     */
034    public enum CompletionStatus
035    {
036      /**
037       * The operation completed successfully.
038       */
039      COMPLETED_SUCCESS,
040    
041      /**
042       * The operation was dropped because it was out of scope (did not match any
043       * sync classes).
044       */
045      COMPLETED_OUT_OF_SCOPE,
046    
047      /**
048       * The change was dropped because the operation type (e.g. create) is not
049       * synchronized.
050       */
051      COMPLETED_OP_TYPE_NOT_SYNCED,
052    
053      /**
054       * No change was necessary because the destination entry was already in sync.
055       */
056      COMPLETED_NO_CHANGE_NEEDED,
057    
058      /**
059       * The operation was aborted by a custom sync plugin.
060       */
061      COMPLETED_ABORTED_BY_PLUGIN,
062    
063      /**
064       * The operation was unsuccessful because the entry already existed
065       * at the destination (applies only to CREATE operations).
066       */
067      COMPLETED_ENTRY_ALREADY_EXISTS,
068    
069      /**
070       * The operation was unsuccessful because no matching destination entry could
071       * be found (applies only to MODIFY and DELETE operations).
072       */
073      COMPLETED_NO_MATCH_FOUND,
074    
075      /**
076       * The operation was unsuccessful because multiple matches for a source entry
077       * were found at the destination.
078       */
079      COMPLETED_MULTIPLE_MATCHES_FOUND,
080    
081      /**
082       * The operation was unsuccessful because there was a failure during attribute
083       * or DN mapping.
084       */
085      COMPLETED_FAILED_DURING_MAPPING,
086    
087      /**
088       * The operation was unsuccessful because there was a failure at one of the
089       * endpoint resources.
090       */
091      COMPLETED_FAILED_AT_RESOURCE,
092    
093      /**
094       * The operation was unsuccessful because it there was a failure during
095       * plugin processing.
096       */
097      COMPLETED_FAILED_IN_PLUGIN,
098    
099      /**
100       * The operation was unsuccessful because there was an
101       * unexpected exception during processing (e.g. a RunTimeException).
102       */
103      COMPLETED_FAILED_UNEXPECTED_EXCEPTION;
104    }