Interface IValueDescriptor<Value,​Builder extends IValueBuilder<Value>>

    • Method Detail

      • acceptsValue

        boolean acceptsValue​(Object value)
        Parameters:
        value - A value to check.
        Returns:
        true when the given value conforms to the restrictions imposed by this value descriptor, false otherwise.
      • asAny

        IAnyValueDescriptor asAny()
        Casts this descriptor to an any value descriptor type.
        Returns:
        This value descriptor cast to an any value descriptor.
        Throws:
        ClassCastException - When this descriptor cannot be cast to the desired type.
      • asBoolean

        IBooleanValueDescriptor asBoolean()
        Casts this descriptor to a boolean value descriptor type.
        Returns:
        This value descriptor cast to a boolean value descriptor.
        Throws:
        ClassCastException - When this descriptor cannot be cast to the desired type.
      • asConst

        <T> IConstValueDescriptor<T> asConst()
        Casts this descriptor to a constant value descriptor type.
        Type Parameters:
        T - Type of the constant.
        Returns:
        This value descriptor cast to a constant value descriptor.
        Throws:
        ClassCastException - When this descriptor cannot be cast to the desired type.
      • asFloat

        IFloatValueDescriptor asFloat()
        Casts this descriptor to a float value descriptor type.
        Returns:
        This value descriptor cast to a float value descriptor.
        Throws:
        ClassCastException - When this descriptor cannot be cast to the desired type.
      • asInteger

        IIntegerValueDescriptor asInteger()
        Casts this descriptor to an integer value descriptor type.
        Returns:
        This value descriptor cast to an integer value descriptor.
        Throws:
        ClassCastException - When this descriptor cannot be cast to the desired type.
      • asLargeString

        ILargeStringValueDescriptor asLargeString()
        Casts this descriptor to a large string value descriptor type.
        Returns:
        This value descriptor cast to a large string value descriptor.
        Throws:
        ClassCastException - When this descriptor cannot be cast to the desired type.
      • asList

        IListValueDescriptor<?> asList()
        Casts this descriptor to a list value descriptor type.
        Returns:
        This value descriptor cast to a list value descriptor.
        Throws:
        ClassCastException - When this descriptor cannot be cast to the desired type.
      • asList

        <S> IListValueDescriptor<S> asList​(Class<S> elementType)
        Casts this descriptor to a list value descriptor type.
        Type Parameters:
        S - Type of the elements contained in the list.
        Parameters:
        elementType - Type of the elements contained in the list.
        Returns:
        This value descriptor cast to a list value descriptor.
        Throws:
        ClassCastException - When this descriptor cannot be cast to the desired type.
      • asMap

        IMapValueDescriptor<?> asMap()
        Casts this descriptor to a map value descriptor type.
        Returns:
        This value descriptor cast to a map value descriptor.
        Throws:
        ClassCastException - When this descriptor cannot be cast to the desired type.
      • asMap

        <S> IMapValueDescriptor<S> asMap​(Class<S> valueType)
        Casts this descriptor to a map value descriptor type.
        Type Parameters:
        S - Type of the values contained in the map.
        Parameters:
        valueType - Type of the values contained in the map.
        Returns:
        This value descriptor cast to a map value descriptor.
        Throws:
        ClassCastException - When this descriptor cannot be cast to the desired type.
      • asNull

        INullValueDescriptor asNull()
        Casts this descriptor to a null value descriptor type.
        Returns:
        This value descriptor cast to a null value descriptor.
        Throws:
        ClassCastException - When this descriptor cannot be cast to the desired type.
      • asRecord

        IRecordValueDescriptor asRecord()
        Casts this descriptor to a record value descriptor type.
        Returns:
        This value descriptor cast to a record value descriptor.
        Throws:
        ClassCastException - When this descriptor cannot be cast to the desired type.
      • asString

        IStringValueDescriptor asString()
        Casts this descriptor to a string value descriptor type.
        Returns:
        This value descriptor cast to a string value descriptor.
        Throws:
        ClassCastException - When this descriptor cannot be cast to the desired type.
      • asTuple

        ITupleValueDescriptor asTuple()
        Casts this descriptor to a tuple value descriptor type.
        Returns:
        This value descriptor cast to a tuple value descriptor.
        Throws:
        ClassCastException - When this descriptor cannot be cast to the desired type.
      • asUnion

        IUnionValueDescriptor<?> asUnion()
        Casts this descriptor to a union value descriptor type.
        Returns:
        This value descriptor cast to a union value descriptor.
        Throws:
        ClassCastException - When this descriptor cannot be cast to the desired type.
      • asUnion

        <E> IUnionValueDescriptor<E> asUnion​(Class<E> type)
        Casts this descriptor to a union value descriptor type with a discriminator of the given type.
        Type Parameters:
        E - Type of the union discriminator.
        Parameters:
        type - Type of the union discriminator.
        Returns:
        This value descriptor cast to a union value descriptor.
        Throws:
        ClassCastException - When this descriptor cannot be cast to the desired type.
      • asVoid

        default IVoidValueDescriptor asVoid()
        Casts this descriptor to a void value descriptor type.
        Returns:
        This value descriptor cast to a void value descriptor.
        Throws:
        ClassCastException - When this descriptor cannot be cast to the desired type.
      • builder

        Builder builder()
        Creates a new value builder for creating a value that conforms to the restrictions imposed by this value descriptor.
        Returns:
        A new value builder for values as indicated by this value descriptor.
      • configure

        IValueDescriptorBuilder<Value,​Builder,​?> configure()
        Creates a new builder pre-configured with the settings of this descriptor. Lets you e.g. add additional properties.
        Returns:
        A new builder pre-configured with the settings of this descriptor.
      • getBaseType

        EValueType getBaseType()
        Returns:
        The basic type of value described by this value descriptor.
      • getDefaultValue

        Value getDefaultValue()
        Returns:
        The default value used if no explicit is provided when a value for this descriptor is created.
      • getDescription

        String getDescription()
        Returns:
        Description for this value. This is passed through as set when the descriptor was created. Can be either a localized message or an I18N key.
      • getFullType

        String getFullType()
        Returns:
        The full value type of this value descriptors, including the type of list elements or map values.
      • getJavaClass

        Class<?> getJavaClass()
        Returns:
        The Java class of the values described by this descriptor.
      • getKnownProperties

        List<IProperty> getKnownProperties​(String basePath)
        Parameters:
        basePath - Prefix added to the property paths.
        Returns:
        A list of all properties known to exist when a value of this type is created. For example, if a record has required properties, these properties are included in the returned list.
      • intersect

        IValueDescriptor<?,​?> intersect​(IValueDescriptor<?,​?> other)
        Intersects this value descriptor with the given type. This is a shortcut for using the default factory, see IValueDescriptorFactory#intersect for details.
        Parameters:
        other - Another value descriptor.
        Returns:
        The intersection of this and the given value descriptor.
        Since:
        8.1.0
      • is

        boolean is​(Class<? extends IValueDescriptor> clazz)
        Parameters:
        clazz - Class to check.
        Returns:
        Whether this descriptor can be cast to the given class.
        See Also:
        unwrap(Class)
      • unwrap

        <TItem,​TDesc extends IValueDescriptor<TItem,​? extends IValueBuilder<TItem>>> TDesc unwrap​(Class<? extends TDesc> clazz)
        Casts this descriptor to the given type. Make sure you are certain it is of the given type.
        Type Parameters:
        TItem - Type of the values described by the descriptor.
        TDesc - Type of the descriptor.
        Parameters:
        clazz - Class to which to cast this descriptor.
        Returns:
        This value descriptor cast to the given type.
        Throws:
        ClassCastException - When this descriptor cannot be cast to the given type.
        See Also:
        is(Class)
      • withDefaultValue

        IValueDescriptor<Value,​Builder> withDefaultValue​(Object defaultValue)
        Parameters:
        defaultValue - The new default value. May be changed when it does not conform to the restrictions imposed by this descriptor.
        Returns:
        A new descriptor with the default value.
        Since:
        8.1.0
      • withDescription

        IValueDescriptor<Value,​Builder> withDescription​(String description)
        Parameters:
        description - The new description.
        Returns:
        A new descriptor with the given description.
        Since:
        8.1.0