Class Property.BaseProperty<T>

java.lang.Object
org.apache.sshd.common.Property.BaseProperty<T>
All Implemented Interfaces:
NamedResource, Property<T>
Direct Known Subclasses:
Property.BooleanProperty, Property.CharsetProperty, Property.DurationProperty, Property.EnumProperty, Property.IntegerProperty, Property.LongProperty, Property.ObjectProperty, Property.StringProperty
Enclosing interface:
Property<T>

public abstract static class Property.BaseProperty<T> extends Object implements Property<T>
  • Field Details

    • name

      private final String name
    • type

      private final Class<T> type
    • defaultValue

      private final Optional<T> defaultValue
  • Constructor Details

    • BaseProperty

      protected BaseProperty(String name, Class<T> type)
    • BaseProperty

      protected BaseProperty(String name, Class<T> type, T defaultValue)
  • Method Details

    • getName

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

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

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

      public 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
    • set

      public void set(PropertyResolver resolver, T value)
      Specified by:
      set in interface Property<T>
      Parameters:
      resolver - The PropertyResolver to update with the property value.
      value - The value to set
    • toStorage

      protected Object toStorage(T value)
    • fromStorage

      protected abstract T fromStorage(Object value)
    • toString

      public String toString()
      Overrides:
      toString in class Object