Class HyperSchema
java.lang.Object
com.fasterxml.jackson.module.jsonSchema.jakarta.JsonSchema
com.fasterxml.jackson.module.jsonSchema.jakarta.types.HyperSchema
This class represents the HyperSchema portion of a
JsonSchema
It is a skeleton intended as a starting point for customization.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
A link description object is used to describe link relations. -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected String
If the instance property value is a string, this attribute defines that the string SHOULD be interpreted as binary data and decoded using the encoding named by this jsonSchema property.protected String
This property indicates the fragment resolution protocol to use for resolving fragment identifiers in URIs within the instance representations.protected HyperSchema.LinkDescriptionObject[]
6.2.1.protected String
This attribute defines the media type of the instance representations that this jsonSchema is defining.protected String
This attribute is a URI that defines what the instance's URI MUST start with in order to validate.protected String
This attribute indicates that the instance property SHOULD NOT be changed. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
_equals
(HyperSchema that) boolean
com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatTypes
getType()
Methods inherited from class com.fasterxml.jackson.module.jsonSchema.jakarta.JsonSchema
_equals, arraysEqual, asAnySchema, asArraySchema, asBooleanSchema, asContainerSchema, asContainerTypeSchema, asIntegerSchema, asNullSchema, asNumberSchema, asObjectSchema, asSimpleTypeSchema, asStringSchema, asUnionTypeSchema, asValueSchemaSchema, asValueTypeSchema, enrichWithBeanProperty, equals, get$ref, get$schema, getDescription, getDisallow, getExtends, getId, getReadonly, getRequired, isAnySchema, isArraySchema, isBooleanSchema, isContainerTypeSchema, isIntegerSchema, isNullSchema, isNumberSchema, isObjectSchema, isSimpleTypeSchema, isStringSchema, isUnionTypeSchema, isValueTypeSchema, minimalForFormat, set$ref, set$schema, setDescription, setDisallow, setExtends, setId, setReadonly, setRequired
-
Field Details
-
readOnly
This attribute indicates that the instance property SHOULD NOT be changed. Attempts by a user agent to modify the value of this property are expected to be rejected by a server. -
contentEncoding
If the instance property value is a string, this attribute defines that the string SHOULD be interpreted as binary data and decoded using the encoding named by this jsonSchema property. RFC 2045, Sec 6.1 [RFC2045] lists the possible values for this property. -
pathStart
This attribute is a URI that defines what the instance's URI MUST start with in order to validate. The value of the "pathStart" attribute MUST be resolved as per RFC 3986, Sec 5 [RFC3986], and is relative to the instance's URI. When multiple schemas have been referenced for an instance, the user agent can determine if this jsonSchema is applicable for a particular instance by determining if the URI of the instance begins with the the value of the "pathStart" attribute. If the URI of the instance does not start with this URI, or if another jsonSchema specifies a starting URI that is longer and also matches the instance, this jsonSchema SHOULD NOT be applied to the instance. Any jsonSchema that does not have a pathStart attribute SHOULD be considered applicable to all the instances for which it is referenced. -
mediaType
This attribute defines the media type of the instance representations that this jsonSchema is defining. -
fragmentResolution
This property indicates the fragment resolution protocol to use for resolving fragment identifiers in URIs within the instance representations. This applies to the instance object URIs and all children of the instance object's URIs. The default fragment resolution protocol is "slash-delimited", which is defined below. Other fragment resolution protocols MAY be used, but are not defined in this document. The fragment identifier is based on RFC 2396, Sec 5 [RFC2396], and defines the mechanism for resolving references to entities within a document. -
links
6.2.1. slash-delimited fragment resolution With the slash-delimited fragment resolution protocol, the fragment identifier is interpreted as a series of property reference tokens that start with and are delimited by the "/" character (\x2F). Each property reference token is a series of unreserved or escaped URI characters. Each property reference token SHOULD be interpreted, starting from the beginning of the fragment identifier, as a path reference in the target JSON structure. The final target value of the fragment can be determined by starting with the root of the JSON structure from the representation of the resource identified by the pre-fragment URI. If the target is a JSON object, then the new target is the value of the property with the name identified by the next property reference token in the fragment. If the target is a JSON array, then the target is determined by finding the item in array the array with the index defined by the next property reference token (which MUST be a number). The target is successively updated for each property reference token, until the entire fragment has been traversed. Property names SHOULD be URI-encoded. In particular, any "/" in a property name MUST be encoded to avoid being interpreted as a property delimiter. For example, for the following JSON representation: { "foo":{ "anArray":[ {"prop":44} ], "another prop":{ "baz":"A string" } } } The following fragment identifiers would be resolved: fragment identifier resolution ------------------- ---------- # self, the root of the resource itself #/foo the object referred to by the foo property #/foo/another%20prop the object referred to by the "another prop" property of the object referred to by the "foo" property #/foo/another%20prop/baz the string referred to by the value of "baz" property of the "another prop" property of the object referred to by the "foo" property #/foo/anArray/0 the first object in the "anArray" array 6.2.2. dot-delimited fragment resolution The dot-delimited fragment resolution protocol is the same as slash- delimited fragment resolution protocol except that the "." character (\x2E) is used as the delimiter between property names (instead of "/") and the path does not need to start with a ".". For example, #.foo and #foo are a valid fragment identifiers for referencing the value of the foo propery.
-
-
Constructor Details
-
HyperSchema
public HyperSchema()
-
-
Method Details
-
getType
public com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatTypes getType()- Specified by:
getType
in classJsonSchema
-
equals
- Overrides:
equals
in classJsonSchema
-
_equals
-