Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Moved canRead, canModify, canAdd to separate interface
Signed-off-by: Tony Tkacik <tonydamage@gmail.com>
- Loading branch information
1 parent
ab13359
commit 407e219
Showing
2 changed files
with
50 additions
and
40 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
49 changes: 49 additions & 0 deletions
49
infra/prism-api/src/main/java/com/evolveum/midpoint/prism/PrismItemAccessDefinition.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
/* | ||
* Copyright (c) 2021 Evolveum and contributors | ||
* | ||
* This work is dual-licensed under the Apache License 2.0 | ||
* and European Union Public License. See LICENSE file for details. | ||
*/ | ||
package com.evolveum.midpoint.prism; | ||
|
||
public interface PrismItemAccessDefinition { | ||
|
||
/** | ||
* Returns true if this item can be read (displayed). | ||
* In case of containers this flag is, strictly speaking, not applicable. Container is an | ||
* empty shell. What matters is access to individual sub-item. However, for containers this | ||
* value has a "hint" meaning. It means that the container itself contains something that is | ||
* readable. Which can be used as a hint by the presentation to display container label or block. | ||
* This usually happens if the container contains at least one readable item. | ||
* This does NOT mean that also all the container items can be displayed. The sub-item permissions | ||
* are controlled by similar properties on the items. This property only applies to the container | ||
* itself: the "shell" of the container. | ||
* <p> | ||
* Note: It was considered to use a different meaning for this flag - a meaning that would allow | ||
* canRead()=false containers to have readable items. However, this was found not to be very useful. | ||
* Therefore the "something readable inside" meaning was confirmed instead. | ||
*/ | ||
boolean canRead(); | ||
|
||
/** | ||
* Returns true if this item can be modified (updated). | ||
* In case of containers this means that the container itself should be displayed in modification forms | ||
* E.g. that the container label or block should be displayed. This usually happens if the container | ||
* contains at least one modifiable item. | ||
* This does NOT mean that also all the container items can be modified. The sub-item permissions | ||
* are controlled by similar properties on the items. This property only applies to the container | ||
* itself: the "shell" of the container. | ||
*/ | ||
boolean canModify(); | ||
|
||
/** | ||
* Returns true if this item can be added: it can be part of an object that is created. | ||
* In case of containers this means that the container itself should be displayed in creation forms | ||
* E.g. that the container label or block should be displayed. This usually happens if the container | ||
* contains at least one createable item. | ||
* This does NOT mean that also all the container items can be created. The sub-item permissions | ||
* are controlled by similar properties on the items. This property only applies to the container | ||
* itself: the "shell" of the container. | ||
*/ | ||
boolean canAdd(); | ||
} |