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-2021 Ping Identity Corporation
026 */
027package com.unboundid.directory.sdk.sync.types;
028
029/**
030 * This result is returned by plugins that are invoked before a step of the
031 * synchronization processing.  It directs the core synchronization processing
032 * code how to continue processing the operation.
033 */
034public enum PreStepResult
035{
036  /**
037   * This result indicates that processing should continue with the current
038   * step.
039   */
040  CONTINUE,
041
042
043
044  /**
045   * This result indicates that processing should skip the current step
046   * and then continue.  Plugins that return this result take on full
047   * responsibility for providing the functionality of the skipped step.
048   */
049  SKIP_CURRENT_STEP,
050
051
052
053  /**
054   * This result indicates that the current operation should be aborted without
055   * any additional processing.
056   */
057  ABORT_OPERATION,
058
059
060
061  /**
062   * This result indicates that there was some error processing the
063   * current operation in the plugin and that it should be retried a limited
064   * number of times.
065   */
066  RETRY_OPERATION_LIMITED,
067
068
069
070  /**
071   * This result indicates that there was some error processing the
072   * current operation in the plugin and that it should be retried an limited
073   * number of times. Be very careful returning this value as it can stall all
074   * in-flight operations until the operation completes. This should only be
075   * used in situations where a remote service (e.g. the LDAP server) is
076   * unavailable.
077   */
078  RETRY_OPERATION_UNLIMITED;
079}