Class Property.BaseProperty<T>

    • Field Detail

      • name

        private final java.lang.String name
      • type

        private final java.lang.Class<T> type
      • defaultValue

        private final java.util.Optional<T> defaultValue
    • Constructor Detail

      • BaseProperty

        protected BaseProperty​(java.lang.String name,
                               java.lang.Class<T> type)
      • BaseProperty

        protected BaseProperty​(java.lang.String name,
                               java.lang.Class<T> type,
                               T defaultValue)
    • Method Detail

      • getName

        public java.lang.String getName()
        Specified by:
        getName in interface NamedResource
        Returns:
        The resource name
      • getType

        public java.lang.Class<T> getType()
        Specified by:
        getType in interface Property<T>
        Returns:
        Property type - Note: for primitive types the wrapper equivalent is returned
      • getDefault

        public java.util.Optional<T> getDefault()
        Specified by:
        getDefault in interface Property<T>
        Returns:
        The Optional pre-defined default value
      • get

        public java.util.Optional<T> get​(PropertyResolver resolver)
        Specified by:
        get in interface Property<T>
        Parameters:
        resolver - The PropertyResolver to query for the property value.
        Returns:
        The Optional result - if resolver contains a value then the resolver's value, otherwise the pre-defined default
      • getOrCustomDefault

        public T getOrCustomDefault​(PropertyResolver resolver,
                                    T defaultValue)
        Specified by:
        getOrCustomDefault in interface Property<T>
        Parameters:
        resolver - The PropertyResolver to query for the property value.
        defaultValue - The default value to return if no specific value found in resolver
        Returns:
        The resolver's value or specified default if no specific value found in the resolver - regardless of whether there is a default value
      • toStorage

        protected java.lang.Object toStorage​(T value)
      • fromStorage

        protected abstract T fromStorage​(java.lang.Object value)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object