com.memority.domino.shared.api.sync.SyncAction Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of domino-api Show documentation
Show all versions of domino-api Show documentation
This artifact provides the API classes that are necessary to implement synchronization configuration Rules on the Memority IM platform.
/*
* Copyright (c) 2016-2023 Memority. All Rights Reserved.
*
* This file is part of Memority Domino API , a Memority project.
*
* This file is released under the Memority Public Artifacts End-User License Agreement,
* see
* Unauthorized copying of this file, via any medium is strictly prohibited.
*/
package com.memority.domino.shared.api.sync;
import com.memority.domino.shared.api.XmlConstants;
import javax.xml.bind.annotation.XmlType;
/**
* Possible synchronization actions following synchronization situations (see {@link SyncSituation}).
*
* @see SyncSituation
*/
@XmlType(name = XmlConstants.NAME_TYPE_SYNCACTION)
public enum SyncAction {
// Do nothing
NO_OP,
CUSTOM,
/*
* Actions targeting the IDM object
*/
SYNCHRONIZE_IDM_OBJECT(true),
ADD_IDM_OBJECT(true),
DELETE_IDM_OBJECT(true),
SOFT_DELETE_IDM_OBJECT(true),
INACTIVATE_IDM_OBJECT(true),
/*
* Actions targeting the remote Application object
*/
// This is a rare case, where we want to recreate an account that was accidentally deleted. Would "SYNCHRONIZE" do the job?
ADD_APPLICATION_OBJECT,
DELETE_APPLICATION_OBJECT,
INACTIVATE_APPLICATION_OBJECT,
LOCK_APPLICATION_OBJECT,
IGNORE_APPLICATION_OBJECT,
UNIGNORE_APPLICATION_OBJECT,
/*
* "Meta" Actions that may have further consequences on objects
*/
// Imply "SYNCHRONIZE_IDM_OBJECT"
LINK,
UNLINK,
;
private final boolean async;
SyncAction() {
this(false);
}
SyncAction(boolean async) {
this.async = async;
}
/**
* Indicates whether or not this action is performed asynchronously. Useful to orchestrate the
* execution of actions on a object.
*
* @return true
if execution is asynchronous, false
otherwise
*/
public boolean isAsync() {
return async;
}
}