Class Property.Validating<T>

java.lang.Object
org.apache.sshd.common.Property.Validating<T>
All Implemented Interfaces:
NamedResource, Property<T>
Enclosing interface:
Property<T>

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

    • delegate

      protected final Property<T> delegate
    • validator

      protected final Consumer<? super T> validator
  • Constructor Details

  • 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
    • getRequiredDefault

      public T getRequiredDefault()
      Specified by:
      getRequiredDefault in interface Property<T>
    • 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
    • remove

      public void remove(PropertyResolver resolver)
      Specified by:
      remove in interface Property<T>
      Parameters:
      resolver - The PropertyResolver to remove the property from