Class PositiveNegativeItemPaths
java.lang.Object
com.evolveum.midpoint.security.enforcer.api.PositiveNegativeItemPaths
- All Implemented Interfaces:
- ShortDumpable
Supports "intelligent" specification of a set of item paths formed by three kinds of primitives:
 - "include all items" (corresponds to an authorization with neither `item` nor `exceptItem` values)
 - "include specified items (plus children)" (corresponds to an authorization with `item` values)
 - "include all items except for specified items (plus children)" (corresponds to an authorization with `exceptItem` values)
 This object is gradually built by calling 
collectItemPaths(Collection, Collection) method providing increments
 to `item` and `exceptItem` sets.
 Then, it is queried by calling includes(ItemPath) to determine whether given item path is _completely_
 covered by this set.
 An alternative approach is represented by PrismEntityOpConstraints and its implementations:
 . This (older) class is used e.g. in ObjectSecurityConstraints implementation, returned e.g. by
 SecurityEnforcer.compileSecurityConstraints(PrismObject, boolean, SecurityEnforcer.Options, Task, OperationResult) method.
 . The newer class (PrismEntityOpConstraints) is used e.g. as a return value of narrow-focused
 SecurityEnforcer.compileOperationConstraints(MidPointPrincipal, PrismObjectValue, AuthorizationPhaseType, String[], SecurityEnforcer.Options, CompileConstraintsOptions, Task, OperationResult).- Author:
- semancik
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionvoidcollectItemPaths(Collection<? extends ItemPath> newIncludedItems, Collection<? extends ItemPath> newExcludedItems) Augments this specification with additional "included" (~ item) and "excluded" (~ exceptItem) item path collections.static voiddumpItems(StringBuilder sb, List<? extends ItemPath> items) booleanIs given `nameOnlyItemPath` considered to be _completely included_ in this specification?booleanvoidShow the content of the object intended for diagnostics.toString()Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.evolveum.midpoint.util.ShortDumpableshortDump, shortDumpLazily
- 
Constructor Details- 
PositiveNegativeItemPathspublic PositiveNegativeItemPaths()
 
- 
- 
Method Details- 
includesAllItemspublic boolean includesAllItems()
- 
getIncludedItems
- 
getExcludedItems
- 
collectItemPathspublic void collectItemPaths(Collection<? extends ItemPath> newIncludedItems, Collection<? extends ItemPath> newExcludedItems) Augments this specification with additional "included" (~ item) and "excluded" (~ exceptItem) item path collections. Note that currently `newIncludeItems` and `newExcludeItems` cannot be both non-empty.
- 
includesIs given `nameOnlyItemPath` considered to be _completely included_ in this specification? Generally, the contract of this method is intuitive. For completeness, see the comments inside. The only non-obvious part is handling of excluded items at levels deeper than one. For example, let us assume we have - `includedItems` = `name`, `description` - `excludedItems` = `assignment/activation` Then, all paths except for the following ones are considered to be "completely included": - `assignment` (because the `activation` child is excluded) - `assignment/activation` - `assignment/activation/xyz` (where `xyz` are children i.e. `administrativeStatus`, `validFrom`, `validTo`, and so on) Other children of `assignment` (like `assignment/targetRef`) are completely included.
- 
toString
- 
shortDumpDescription copied from interface:ShortDumpableShow the content of the object intended for diagnostics. This method is supposed to append a compact, human-readable output in a single line. Unlike toString() method, there is no requirement to identify the actual class or type of the object. It is assumed that the class/type will be obvious from the context in which the output is used.- Specified by:
- shortDumpin interface- ShortDumpable
- Parameters:
- sb- StringBuilder to which to a compact one-line content of the object intended for diagnostics by system administrator should be appended.
 
- 
dumpItems
 
-