Class TrustChainConstraints
- java.lang.Object
-
- com.nimbusds.openid.connect.sdk.federation.trust.constraints.TrustChainConstraints
-
- All Implemented Interfaces:
net.minidev.json.JSONAware
@Immutable public final class TrustChainConstraints extends Object implements net.minidev.json.JSONAware
Trust chain constraints.Example JSON object:
{ "max_path_length" : 2, "naming_constraints" : { "permitted" : [ "https://example.com" ], "excluded" : [ "https://east.example.com" ] }, "allowed_leaf_entity_types" : [ "openid_provider", "openid_relying_party" ] }Related specifications:
- OpenID Connect Federation 1.0, section 5.2.
- RFC 5280, section 4.2.1.10.
-
-
Field Summary
Fields Modifier and Type Field Description static TrustChainConstraintsNO_CONSTRAINTSNo constraint instance.
-
Constructor Summary
Constructors Constructor Description TrustChainConstraints()Creates a new no constraints instance.TrustChainConstraints(int maxPathLength)Creates a new trust chain constraints instance.TrustChainConstraints(int maxPathLength, List<EntityIDConstraint> permittedEntityIDs, List<EntityIDConstraint> excludedEntityIDs, LeafEntityTypeConstraint leafEntityTypeConstraint)Creates a new trust chain constraints instance.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object o)List<EntityIDConstraint>getExcludedEntityIDs()Returns the excluded entity IDs.LeafEntityTypeConstraintgetLeafEntityTypeConstraint()Returns the leaf entity type constraint.intgetMaxPathLength()Returns the maximum number of entities between this and the last one in the chain.List<EntityIDConstraint>getPermittedEntityIDs()Returns the permitted entity IDs.inthashCode()booleanisPermitted(int numIntermediatesInPath)Checks if the given number of intermediates is permitted.booleanisPermitted(int numIntermediatesInPath, EntityID entityID)Checks if the entity ID with the given number of intermediates is permitted.booleanisPermitted(EntityID entityID)Checks if the specified entity ID is permitted.static TrustChainConstraintsparse(net.minidev.json.JSONObject jsonObject)Parses a trust chain constraints instance from the specified JSON object.net.minidev.json.JSONObjecttoJSONObject()Returns a JSON object representation of this trust chain constraints.StringtoJSONString()
-
-
-
Field Detail
-
NO_CONSTRAINTS
public static final TrustChainConstraints NO_CONSTRAINTS
No constraint instance.
-
-
Constructor Detail
-
TrustChainConstraints
public TrustChainConstraints()
Creates a new no constraints instance.
-
TrustChainConstraints
public TrustChainConstraints(int maxPathLength)
Creates a new trust chain constraints instance.- Parameters:
maxPathLength- The maximum number of entities between this and the leaf entity in the chain, -1 if not specified.
-
TrustChainConstraints
public TrustChainConstraints(int maxPathLength, List<EntityIDConstraint> permittedEntityIDs, List<EntityIDConstraint> excludedEntityIDs, LeafEntityTypeConstraint leafEntityTypeConstraint)
Creates a new trust chain constraints instance.- Parameters:
maxPathLength- The maximum number of entities between this and the leaf entity in the chain, -1 if not specified.permittedEntityIDs- The permitted entity IDs,nullif not specified.excludedEntityIDs- The excluded entities,nullif not specified.leafEntityTypeConstraint- The leaf entity type constraint,nullif not specified.
-
-
Method Detail
-
isPermitted
public boolean isPermitted(int numIntermediatesInPath)
Checks if the given number of intermediates is permitted.- Parameters:
numIntermediatesInPath- The number of intermediate entities between the entity specifying the constraints and the specified entity. Must be zero or greater.- Returns:
trueif permitted, elsefalse.
-
isPermitted
public boolean isPermitted(EntityID entityID)
Checks if the specified entity ID is permitted.- Parameters:
entityID- The entity ID. Must not benull.- Returns:
trueif permitted, elsefalse.
-
isPermitted
public boolean isPermitted(int numIntermediatesInPath, EntityID entityID)
Checks if the entity ID with the given number of intermediates is permitted.- Parameters:
numIntermediatesInPath- The number of intermediate entities between the entity specifying the constraints and the specified entity. Must be zero or greater.entityID- The entity ID. Must not benull.- Returns:
trueif allowed, elsefalse.
-
getMaxPathLength
public int getMaxPathLength()
Returns the maximum number of entities between this and the last one in the chain.- Returns:
- The maximum number of entities between this and the last one in the chain, -1 if not specified.
-
getPermittedEntityIDs
public List<EntityIDConstraint> getPermittedEntityIDs()
Returns the permitted entity IDs.- Returns:
- The permitted entity IDs, empty list if not specified.
-
getExcludedEntityIDs
public List<EntityIDConstraint> getExcludedEntityIDs()
Returns the excluded entity IDs.- Returns:
- The excluded entity IDs, empty list if not specified.
-
getLeafEntityTypeConstraint
public LeafEntityTypeConstraint getLeafEntityTypeConstraint()
Returns the leaf entity type constraint.- Returns:
- The leaf entity type constraint.
-
toJSONObject
public net.minidev.json.JSONObject toJSONObject()
Returns a JSON object representation of this trust chain constraints.- Returns:
- The JSON object.
-
toJSONString
public String toJSONString()
- Specified by:
toJSONStringin interfacenet.minidev.json.JSONAware
-
parse
public static TrustChainConstraints parse(net.minidev.json.JSONObject jsonObject) throws ParseException
Parses a trust chain constraints instance from the specified JSON object.- Parameters:
jsonObject- The JSON object. Must not benull.- Returns:
- The trust chain constraints.
- Throws:
ParseException- If parsing failed.
-
-