Class PolicyVersions<P>
- java.lang.Object
-
- org.ow2.authzforce.core.pdp.impl.policy.PolicyVersions<P>
-
- Type Parameters:
P
- policy type (or any other type of data corresponding to a specific policy version)
- All Implemented Interfaces:
Iterable<Map.Entry<org.ow2.authzforce.core.pdp.api.policy.PolicyVersion,P>>
public final class PolicyVersions<P> extends Object implements Iterable<Map.Entry<org.ow2.authzforce.core.pdp.api.policy.PolicyVersion,P>>
Policy versions sorted from the latest version to the oldest.The choice to have the latest version in first position is motivated by ยง5.10 of XACML core spec: "In the case that more than one matching version can be obtained, then the most recent one SHOULD be used."
- Version:
- $Id: $
-
-
Constructor Summary
Constructors Constructor Description PolicyVersions(Map<org.ow2.authzforce.core.pdp.api.policy.PolicyVersion,P> versions)
Creates instance
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description P
get(org.ow2.authzforce.core.pdp.api.policy.PolicyVersion version)
Get policy in a specific versionMap.Entry<org.ow2.authzforce.core.pdp.api.policy.PolicyVersion,P>
getLatest(Optional<org.ow2.authzforce.core.pdp.api.policy.PolicyVersionPatterns> PolicyVersionPatterns)
Get the latest policy version matching specific version patternsIterator<Map.Entry<org.ow2.authzforce.core.pdp.api.policy.PolicyVersion,P>>
iterator()
NavigableSet<org.ow2.authzforce.core.pdp.api.policy.PolicyVersion>
latestToOldestSet()
Get versions from latest to oldestcom.google.common.collect.UnmodifiableIterator<Map.Entry<org.ow2.authzforce.core.pdp.api.policy.PolicyVersion,P>>
oldestToLatestIterator()
Get iterator over versions from oldest to latestint
size()
Get number of versions-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Method Detail
-
get
public P get(org.ow2.authzforce.core.pdp.api.policy.PolicyVersion version)
Get policy in a specific version- Parameters:
version
- policy version- Returns:
- policy
-
getLatest
public Map.Entry<org.ow2.authzforce.core.pdp.api.policy.PolicyVersion,P> getLatest(Optional<org.ow2.authzforce.core.pdp.api.policy.PolicyVersionPatterns> PolicyVersionPatterns)
Get the latest policy version matching specific version patterns- Parameters:
PolicyVersionPatterns
- version patterns- Returns:
- latest version; null if none matched
-
iterator
public Iterator<Map.Entry<org.ow2.authzforce.core.pdp.api.policy.PolicyVersion,P>> iterator()
-
size
public int size()
Get number of versions- Returns:
- number of policy versions
-
oldestToLatestIterator
public com.google.common.collect.UnmodifiableIterator<Map.Entry<org.ow2.authzforce.core.pdp.api.policy.PolicyVersion,P>> oldestToLatestIterator()
Get iterator over versions from oldest to latest- Returns:
- unmodifiable iterator over versions from oldest to latest
-
latestToOldestSet
public NavigableSet<org.ow2.authzforce.core.pdp.api.policy.PolicyVersion> latestToOldestSet()
Get versions from latest to oldest- Returns:
- versions from latest to oldest
-
-