Class ResourceType
java.lang.Object
com.fasterxml.jackson.databind.JsonSerializable.Base
com.fasterxml.jackson.databind.JsonNode
com.fasterxml.jackson.databind.node.BaseJsonNode
com.fasterxml.jackson.databind.node.ContainerNode<com.fasterxml.jackson.databind.node.ObjectNode>
com.fasterxml.jackson.databind.node.ObjectNode
de.captaingoldfish.scim.sdk.common.resources.base.ScimObjectNode
de.captaingoldfish.scim.sdk.common.resources.AbstractSchemasHolder
de.captaingoldfish.scim.sdk.common.resources.ResourceNode
de.captaingoldfish.scim.sdk.server.schemas.ResourceType
- All Implemented Interfaces:
com.fasterxml.jackson.core.TreeNode,com.fasterxml.jackson.databind.JsonSerializable,com.fasterxml.jackson.databind.node.JsonNodeCreator,ScimNode,Serializable,Iterable<com.fasterxml.jackson.databind.JsonNode>
author Pascal Knueppel
created at: 03.10.2019 - 19:36
represents a resource type in SCIM. A resource type defines an endpoint definition that can be used by clients.
created at: 03.10.2019 - 19:36
represents a resource type in SCIM. A resource type defines an endpoint definition that can be used by clients.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclassa schema extension representationNested classes/interfaces inherited from class com.fasterxml.jackson.databind.JsonNode
com.fasterxml.jackson.databind.JsonNode.OverwriteModeNested classes/interfaces inherited from interface com.fasterxml.jackson.databind.JsonSerializable
com.fasterxml.jackson.databind.JsonSerializable.Base -
Field Summary
Fields inherited from class com.fasterxml.jackson.databind.node.ObjectNode
_childrenFields inherited from class com.fasterxml.jackson.databind.node.ContainerNode
_nodeFactory -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedResourceType(SchemaFactory schemaFactory, com.fasterxml.jackson.databind.JsonNode resourceTypeDocument) protectedResourceType(SchemaFactory schemaFactory, String resourceDocument) -
Method Summary
Modifier and TypeMethodDescriptionthis method will extract allSchemadefinitions that belong to this resource type.The resource type's human-readable description.The resource type's HTTP-addressable endpoint relative to the Base URL of the service provider, e.g., "Users".a delegation method to retrieve the schema that represents the meta-attribute.getName()The resource type name.the resource handler implementation that is able to handle this kind of resourceThe resource type's primary/base schema URI, e.g., "urn:ietf:params:scim:schemas:core:2.0:User".getSchemaAttribute(String scimNodeName) tries to find a scim node of this resource type in the registered schemas.final SchemagetSchemaByUri(String schemaUri) gets a member schema of this resource type by its uriA list of URIs of the resource type's schema extensions.protected SchemaFactoryused for unit tests in order to prevent application context pollutionbooleanvoidsetDescription(String description) The resource type's human-readable description.voidsetDisabled(Boolean disabled) disables or enables this resourcetypevoidsetFeatures(ResourceTypeFeatures filterExtension) voidvoidsetResourceHandlerImpl(ResourceHandler resourceHandlerImpl) the resource handler implementation that is able to handle this kind of resourceMethods inherited from class de.captaingoldfish.scim.sdk.common.resources.ResourceNode
getExternalId, getId, getMeta, getSortingAttribute, setExternalId, setMetaMethods inherited from class de.captaingoldfish.scim.sdk.common.resources.AbstractSchemasHolder
addSchema, getSchemas, removeSchema, setSchemas, setSchemasMethods inherited from class de.captaingoldfish.scim.sdk.common.resources.base.ScimObjectNode
addAttribute, getArrayAttribute, getBinaryAttribute, getBooleanAttribute, getDateTimeAttribute, getDoubleAttribute, getIntegerAttribute, getLongAttribute, getObjectAttribute, getSchemaAttribute, getSimpleArrayAttribute, getSimpleArrayAttribute, getSimpleArrayAttributeSet, getSimpleArrayAttributeSet, getStringAttribute, getStringAttribute, isEmpty, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttributeList, setDateTimeAttribute, setDateTimeAttribute, setDateTimeAttribute, setDateTimeAttribute, setStringAttributeList, setStringAttributeList, toPrettyString, toStringMethods inherited from class com.fasterxml.jackson.databind.node.ObjectNode
_at, _childrenEqual, _put, _withArray, _withArrayAddTailProperty, _withObject, _withObjectAddTailProperty, asToken, deepCopy, elements, equals, equals, fieldNames, fields, findParent, findParents, findValue, findValues, findValuesAsText, get, get, getNodeType, hashCode, isEmpty, isObject, path, path, properties, put, put, put, put, put, put, put, put, put, put, put, put, put, put, put, put, put, putAll, putAll, putArray, putIfAbsent, putNull, putObject, putPOJO, putRawValue, remove, remove, removeAll, replace, required, retain, retain, serialize, serializeFilteredContents, serializeWithType, set, setAll, setAll, size, with, withArray, without, withoutMethods inherited from class com.fasterxml.jackson.databind.node.ContainerNode
arrayNode, arrayNode, asText, binaryNode, binaryNode, booleanNode, missingNode, nullNode, numberNode, numberNode, numberNode, numberNode, numberNode, numberNode, numberNode, numberNode, numberNode, numberNode, numberNode, numberNode, numberNode, numberNode, objectNode, pojoNode, rawValueNode, textNodeMethods inherited from class com.fasterxml.jackson.databind.node.BaseJsonNode
_bigIntFromBigDec, _jsonPointerIfValid, _reportWrongNodeOperation, _reportWrongNodeType, _withXxxMayReplace, _withXxxVerifyReplace, findPath, numberType, required, traverse, traverse, withArray, withObjectMethods inherited from class com.fasterxml.jackson.databind.JsonNode
_reportRequiredViolation, _this, asBoolean, asBoolean, asDouble, asDouble, asInt, asInt, asLong, asLong, asText, at, at, bigIntegerValue, binaryValue, booleanValue, canConvertToExactIntegral, canConvertToInt, canConvertToLong, decimalValue, doubleValue, findParents, findValues, findValuesAsText, floatValue, has, has, hasNonNull, hasNonNull, intValue, isArray, isBigDecimal, isBigInteger, isBinary, isBoolean, isContainerNode, isDouble, isFloat, isFloatingPointNumber, isInt, isIntegralNumber, isLong, isMissingNode, isNull, isNumber, isPojo, isShort, isTextual, isValueNode, iterator, longValue, numberValue, require, requiredAt, requiredAt, requireNonNull, shortValue, textValue, withArray, withArray, withObject, withObject, withObjectMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliteratorMethods inherited from interface de.captaingoldfish.scim.sdk.common.resources.base.ScimNode
getAttributeDescription, getAttributeName, getCanonicalValues, getMutability, getReferenceTypes, getReturned, getScimNodeName, getUniqueness, getValueType, isCaseExact, isMultiValued, isRequired
-
Constructor Details
-
ResourceType
public ResourceType() -
ResourceType
-
ResourceType
protected ResourceType(SchemaFactory schemaFactory, com.fasterxml.jackson.databind.JsonNode resourceTypeDocument)
-
-
Method Details
-
getMainSchema
- Returns:
- the main schema that represents this resource type
-
getAllSchemaExtensions
- Returns:
- the resource schema extensions that represents this resource type
-
getRequiredResourceSchemaExtensions
- Returns:
- the required resource schema extensions that represents this resource type
-
getMetaSchema
a delegation method to retrieve the schema that represents the meta-attribute. This attribute has received its own schema under the URI "urn:ietf:params:scim:schemas:core:2.0:Meta"- Returns:
- the meta schema definition
-
getSchemaAttribute
tries to find a scim node of this resource type in the registered schemas. This method may return the wrong attribute if there are colliding attribute names among the main-schema and an extension or among two extensions.- Parameters:
scimNodeName- the scim node name of the attribute that should be extracted- Returns:
- the schema attribute if it does exist or an empty.
-
getNotRequiredResourceSchemaExtensions
- Returns:
- the not required resource schema extensions that represents this resource type
-
getAllSchemas
this method will extract allSchemadefinitions that belong to this resource type. The first entry in the list will always be the mainSchemareferenced in the attributegetSchema(). All otherSchemas in the list will be the extensions of this resource- Returns:
- a list of all
Schemadefinitions that describe this resource type
-
getSchemaByUri
gets a member schema of this resource type by its uri- Parameters:
schemaUri- the uri of the schema that is wanted- Returns:
- the schema if it does exist and is a member of this resource type
- Throws:
BadRequestException- if the schemaUri is not a member of this resource type
-
setId
- Overrides:
setIdin classResourceNode
-
getEndpoint
The resource type's HTTP-addressable endpoint relative to the Base URL of the service provider, e.g., "Users". REQUIRED. -
getName
The resource type name. When applicable, service providers MUST specify the name, e.g., "User" or "Group". This name is referenced by the "meta.resourceType" attribute in all resources. REQUIRED. -
getDescription
The resource type's human-readable description. When applicable, service providers MUST specify the description. OPTIONAL. -
setDescription
The resource type's human-readable description. When applicable, service providers MUST specify the description. OPTIONAL. -
getSchema
The resource type's primary/base schema URI, e.g., "urn:ietf:params:scim:schemas:core:2.0:User". This MUST be equal to the "id" attribute of the associated "Schema" resource. REQUIRED. -
getSchemaExtensions
A list of URIs of the resource type's schema extensions. OPTIONAL -
getFeatures
- See Also:
-
setFeatures
- See Also:
-
isDisabled
public boolean isDisabled()- Returns:
- true if this resource type was disabled, false else
-
setDisabled
disables or enables this resourcetype -
getSchemaFactory
used for unit tests in order to prevent application context pollution -
getResourceHandlerImpl
the resource handler implementation that is able to handle this kind of resource -
setResourceHandlerImpl
the resource handler implementation that is able to handle this kind of resource
-