Contents
Class SemverRangeCodec
java.lang.Object
com.hypixel.hytale.common.semver.SemverRangeCodec
- All Implemented Interfaces:
Codec<SemverRange>, RawJsonCodec<SemverRange>, SchemaConvertable<SemverRange>
Strict codec for
SemverRange: any unparseable input throws via
SemverRange.fromString(String) and propagates as a normal codec error.
The schema advertises a titled string but does not pin a regex pattern: the range
grammar (OR via ||, AND via space, hyphen ranges, ~/^/x
shorthand, comparator prefixes) is too rich to express tractably. Precise diagnostics
come from the parser at decode time.
Subclass and override parse(String) to add domain-specific handling
(e.g. legacy-format migration in plugin manifests).
-
Field Summary
FieldsFields inherited from interface Codec
BASE64_PATTERN, BOOLEAN, BSON_DOCUMENT, BYTE, BYTE_ARRAY, DOUBLE, DOUBLE_ARRAY, DURATION, DURATION_SECONDS, FLOAT, FLOAT_ARRAY, INSTANT, INT_ARRAY, INTEGER, LOG_LEVEL, LONG, LONG_ARRAY, NULLABLE_BOOLEAN, PATH, SHORT, STRING, STRING_ARRAY, UUID_BINARY, UUID_STRING -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondecodeJson(RawJsonReader reader, ExtraInfo extraInfo) org.bson.BsonValueencode(SemverRange range, ExtraInfo extraInfo) toSchema(SchemaContext context) Returns a schema object that represents this codec as JSON Schema.Methods inherited from class Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface RawJsonCodec
decodeJsonMethods inherited from interface SchemaConvertable
toSchema
-
Field Details
-
INSTANCE
-
-
Constructor Details
-
SemverRangeCodec
public SemverRangeCodec()
-
-
Method Details
-
decode
- Specified by:
decodein interfaceCodec<SemverRange>
-
encode
- Specified by:
encodein interfaceCodec<SemverRange>
-
decodeJson
@Nonnull public SemverRange decodeJson(@Nonnull RawJsonReader reader, ExtraInfo extraInfo) throws IOException - Specified by:
decodeJsonin interfaceCodec<SemverRange>- Specified by:
decodeJsonin interfaceRawJsonCodec<SemverRange>- Throws:
IOException
-
toSchema
Description copied from interface:SchemaConvertableReturns a schema object that represents this codec as JSON Schema.- Specified by:
toSchemain interfaceSchemaConvertable<SemverRange>- Parameters:
context- A context to use to assist with creating the schema.- Returns:
- the generated schema.
-