com.memority.citadel.shared.api.context.DimensionContext Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of citadel-api Show documentation
Show all versions of citadel-api Show documentation
This artifact provides the API classes that are necessary to implement general configuration Rules on the Memority IM platform.
/*
* Copyright (c) 2016-2023 Memority. All Rights Reserved.
*
* This file is part of Memority Citadel 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.citadel.shared.api.context;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import com.memority.citadel.shared.api.im.ApiObject;
import com.memority.citadel.shared.api.im.identity.RoleAssignmentManualProvisioningStatus;
import java.time.Instant;
import java.util.Map;
/**
* Context information for
*
* - Rule-based right/role dimension mapping
* - Dimension validation/normalization/etc.
*
*
*/
@Getter
@Builder
public class DimensionContext {
/**
* The source Role (will be null when resolving bindings from a Role Assignment Policy)
*/
private final ApiObject sourceRole;
/**
*
* When computing a role->Role or Role->Right dimension mapping, the source Role Assignment Dimensions (will be
* null when resolving bindings from a Role Assignment Policy)
*
*
*
* When computing a Right Grant target or privilege mapping, the Right Grant Dimensions
*
*
*
* When normalizing/validating/etc a Role Assignment or Right Dimensions, the Role Assignment or Right Grant
* current dimensions
*
*/
private final Map sourceDimensions;
/**
* The source enabledFrom property value
*/
private final Instant sourceEnabledFrom;
/**
* The source enabledUntil property value
*/
private final Instant sourceEnabledUntil;
/**
* The source comment property value
*/
private final String sourceComment;
/**
* The source manualProvisioningStatus property value
*/
private final RoleAssignmentManualProvisioningStatus sourceManualProvisioningStatus;
/**
* The source assignedAt property value
*/
private final Instant sourceAssignedAt;
/**
* The target Role (will be null computing a Right Grant's target/privilege/dimensions)
*/
private final ApiObject targetRole;
/**
* The target Right (will be null computing a Role assignment's dimensions)
*/
private final String targetRight;
}