| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.unboundid.directory.sdk.sync.api.SyncPipePlugin
@Extensible
@SynchronizationServerExtension(appliesToLocalContent=false,
                                appliesToSynchronizedContent=true)
@ThreadSafety(level=INTERFACE_THREADSAFE)
public abstract class SyncPipePluginThis class defines an API that must be implemented by extensions that perform processing on synchronization operations within the Sync Pipe. These extensions may be used to
postMapping method but not
 the preMapping method.  These extensions do not have access to the
 Sync Source or Sync Destination.
 
      dsconfig create-sync-pipe-plugin \
           --plugin-name "{plugin-name}" \
           --type third-party \
           --set "extension-class:{class-name}" \
           --set "extension-argument:{name=value}"
 
 where "{plugin-name}" is the name to use for the sync pipe plugin
 instance, "{class-name}" is the fully-qualified name of the Java class
 that extends com.unboundid.directory.sdk.sync.api.SyncPipePlugin,
 and "{name=value}" represents name-value pairs for any arguments to
 provide to the sync pipe plugin.  If multiple arguments should be provided to
 the sync pipe plugin, then the
 "--set extension-argument:{name=value}" option should be
 provided multiple times.
ScriptedSyncPipePlugin| Constructor Summary | |
|---|---|
| SyncPipePlugin()Creates a new instance of this sync pipe plugin. | |
| Method Summary | |
|---|---|
|  com.unboundid.ldap.sdk.ResultCode | applyConfiguration(SyncPipePluginConfig config,
                                     com.unboundid.util.args.ArgumentParser parser,
                                     java.util.List<java.lang.String> adminActionsRequired,
                                     java.util.List<java.lang.String> messages)Attempts to apply the configuration from the provided argument parser to this extension. | 
|  void | defineConfigArguments(com.unboundid.util.args.ArgumentParser parser)Updates the provided argument parser to define any configuration arguments which may be used by this extension. | 
|  void | finalizeSyncPipePlugin()Performs any cleanup which may be necessary when this sync pipe plugin is taken out of service. | 
|  java.util.Map<java.util.List<java.lang.String>,java.lang.String> | getExamplesArgumentSets()Retrieves a map containing examples of configurations that may be used for this extension. | 
| abstract  java.lang.String[] | getExtensionDescription()Retrieves a human-readable description for this extension. | 
| abstract  java.lang.String | getExtensionName()Retrieves a human-readable name for this extension. | 
|  void | initializeSyncPipePlugin(SyncServerContext serverContext,
                                                 SyncPipePluginConfig config,
                                                 com.unboundid.util.args.ArgumentParser parser)Initializes this sync pipe plugin. | 
|  boolean | isConfigurationAcceptable(SyncPipePluginConfig config,
                                                   com.unboundid.util.args.ArgumentParser parser,
                                                   java.util.List<java.lang.String> unacceptableReasons)Indicates whether the configuration represented by the provided argument parser is acceptable for use by this extension. | 
|  PostStepResult | postMapping(com.unboundid.ldap.sdk.Entry sourceEntry,
                       com.unboundid.ldap.sdk.Entry equivalentDestinationEntry,
                       SyncOperation operation)This method is called immediately after the attributes and DN in the source entry are mapped into the equivalent destination entry. | 
|  PreStepResult | preMapping(com.unboundid.ldap.sdk.Entry sourceEntry,
                     com.unboundid.ldap.sdk.Entry equivalentDestinationEntry,
                     SyncOperation operation)This method is called immediately before the attributes and DN in the source entry are mapped into the equivalent destination entry. | 
|  java.lang.String | toString()Retrieves a string representation of this sync pipe plugin. | 
| abstract  void | toString(java.lang.StringBuilder buffer)Appends a string representation of this sync pipe plugin to the provided buffer. | 
| Methods inherited from class java.lang.Object | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | 
| Constructor Detail | 
|---|
public SyncPipePlugin()
initializeSyncPipePlugin method.
| Method Detail | 
|---|
public abstract java.lang.String getExtensionName()
getExtensionName in interface UnboundIDExtensionpublic abstract java.lang.String[] getExtensionDescription()
getExtensionDescription in interface UnboundIDExtensionnull
          or an empty array if no description should be available.
public void defineConfigArguments(com.unboundid.util.args.ArgumentParser parser)
                           throws com.unboundid.util.args.ArgumentException
defineConfigArguments in interface Configurableparser - The argument parser to be updated with the configuration
                 arguments which may be used by this extension.
com.unboundid.util.args.ArgumentException - If a problem is encountered while updating the
                             provided argument parser.
public void initializeSyncPipePlugin(SyncServerContext serverContext,
                                     SyncPipePluginConfig config,
                                     com.unboundid.util.args.ArgumentParser parser)
                              throws com.unboundid.ldap.sdk.LDAPException
serverContext - A handle to the server context for the
                        Synchronization Server in which this extension is
                        running.  Extensions should typically store this
                        in a class member.config - The general configuration for this proxy
                        transformation.parser - The argument parser which has been initialized from
                        the configuration for this sync pipe plugin.
com.unboundid.ldap.sdk.LDAPException - If a problem occurs while initializing this sync
                         pipe plugin.
public boolean isConfigurationAcceptable(SyncPipePluginConfig config,
                                         com.unboundid.util.args.ArgumentParser parser,
                                         java.util.List<java.lang.String> unacceptableReasons)
isConfigurationAcceptable in interface Reconfigurable<SyncPipePluginConfig>config - The general configuration for this extension.parser - The argument parser that has been used to
                              parse the proposed configuration for this
                              extension.unacceptableReasons - A list to which messages may be added to
                              provide additional information about why the
                              provided configuration is not acceptable.
true if the configuration in the provided argument parser
          appears to be acceptable, or false if not.
public com.unboundid.ldap.sdk.ResultCode applyConfiguration(SyncPipePluginConfig config,
                                                            com.unboundid.util.args.ArgumentParser parser,
                                                            java.util.List<java.lang.String> adminActionsRequired,
                                                            java.util.List<java.lang.String> messages)
applyConfiguration in interface Reconfigurable<SyncPipePluginConfig>config - The general configuration for this extension.parser - The argument parser that has been used to
                               parse the new configuration for this
                               extension.adminActionsRequired - A list to which messages may be added to
                               provide additional information about any
                               additional administrative actions that may
                               be required to apply some of the
                               configuration changes.messages - A list to which messages may be added to
                               provide additional information about the
                               processing performed by this method.
SUCCESS should be
          used to indicate that all processing completed successfully.  Any
          other result will indicate that a problem occurred during
          processing.public void finalizeSyncPipePlugin()
public PreStepResult preMapping(com.unboundid.ldap.sdk.Entry sourceEntry,
                                com.unboundid.ldap.sdk.Entry equivalentDestinationEntry,
                                SyncOperation operation)
 This method is typically used to either filter out certain changes
 (by returning PreStepResult.ABORT_OPERATION) or to manipulate the
 source entry before it is converted into an equivalent destination entry.
 Attributes that will not otherwise be affected by attribute mapping
 can be set in equivalentDestinationEntry.  Although, due to the
 possibility of being overwritten in the mapping phase, manipulation of
 equivalentDestinationEntry is typically reserved for the
 postMapping(com.unboundid.ldap.sdk.Entry, com.unboundid.ldap.sdk.Entry, com.unboundid.directory.sdk.sync.types.SyncOperation) method.
 
 The set of source attributes that should be synchronized at the destination
 can be manipulated by calling
 SyncOperation.addModifiedSourceAttribute(java.lang.String) and
 SyncOperation.removeModifiedSourceAttribute(java.lang.String) on
 operation.
 
 Additional steps must be taken if this plugin adds destination attributes
 in equivalentDestinationEntry that need to be modified at the
 destination.  For operations with an operation type of
 SyncOperationType.CREATE,
 any updates made to
 equivalentDestinationEntry will be included in the
 entry created at the destination.  However, for operations with an
 operation type of
 SyncOperationType.MODIFY,
 destination attributes
 added by this plugin that need to be modified must be updated
 explicitly by calling
 SyncOperation.addModifiedDestinationAttribute(java.lang.String).
 
 With the exception of aborting changes or skipping the mapping step
 completely, most plugins will not need to override this method since
 the postMapping(com.unboundid.ldap.sdk.Entry, com.unboundid.ldap.sdk.Entry, com.unboundid.directory.sdk.sync.types.SyncOperation) method has access to the fully mapped destination
 entry.
sourceEntry - The entry that was fetched from the
                                     source.equivalentDestinationEntry - The destination entry that is
                                     equivalent to the source.  This entry
                                     will be empty except for any
                                     modifications that have been performed
                                     by other sync pipe plugins.operation - The operation that is being
                                     synchronized.
PreStepResult#3SKIP_CURRENT_STEP should only be returned
          if this plugin takes responsibility for fully constructing the
          equivalent destination entry.
public PostStepResult postMapping(com.unboundid.ldap.sdk.Entry sourceEntry,
                                  com.unboundid.ldap.sdk.Entry equivalentDestinationEntry,
                                  SyncOperation operation)
 This method is typically used to manipulate the equivalent destination
 entry before these necessary changes are calculated.  It can also be used
 to filter out certain changes (by returning
 PostStepResult.ABORT_OPERATION), but this is typically done in
 the preMapping(com.unboundid.ldap.sdk.Entry, com.unboundid.ldap.sdk.Entry, com.unboundid.directory.sdk.sync.types.SyncOperation) method.
 
 The set of source attributes that should be synchronized at the destination
 can be manipulated by calling
 SyncOperation.addModifiedSourceAttribute(java.lang.String) and
 SyncOperation.removeModifiedSourceAttribute(java.lang.String) on
 operation.
 
 Additional steps must be taken if this plugin adds destination attributes
 in equivalentDestinationEntry that need to be modified at the
 destination.  For operations with an operation type of
 SyncOperationType.CREATE,
 any updates made to
 equivalentDestinationEntry will be included in the
 entry created at the destination.  However, for operations with an
 operation type of
 SyncOperationType.MODIFY,
 destination attributes
 added by this plugin that need to be modified must be updated
 explicitly by calling
 SyncOperation.addModifiedDestinationAttribute(java.lang.String).
 
 With the exception of aborting changes or skipping the mapping step
 completely, most plugins will override this method instead of
 preMapping(com.unboundid.ldap.sdk.Entry, com.unboundid.ldap.sdk.Entry, com.unboundid.directory.sdk.sync.types.SyncOperation) because this method has access to the fully mapped
 destination entry.
sourceEntry - The entry that was fetched from the
                                     source.equivalentDestinationEntry - The destination entry that is
                                     equivalent to the source.  This entry
                                     will include all attributes mapped
                                     from the source entry.operation - The operation that is being
                                     synchronized.
public final java.lang.String toString()
toString in class java.lang.Objectpublic abstract void toString(java.lang.StringBuilder buffer)
buffer - The buffer to which the string representation should be
                 appended.public java.util.Map<java.util.List<java.lang.String>,java.lang.String> getExamplesArgumentSets()
getExamplesArgumentSets in interface ExampleUsageProvidernull or empty if there should
          not be any example argument sets.| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||