Enum Class Freshness

java.lang.Object
java.lang.Enum<Freshness>
net.ygbstudio.jbrave.api.filters.Freshness
All Implemented Interfaces:
Serializable, Comparable<Freshness>, Constable, BraveAPIConstant, ClientProvidedOption, ProvidedOption, SearchFilterOption, SearchOption

public enum Freshness extends Enum<Freshness> implements SearchFilterOption, ClientProvidedOption
An enumeration representing freshness filters for the API requests. Filters search results by when they were discovered.
See Also:
  • Enum Constant Details

    • WITHIN_24H

      public static final Freshness WITHIN_24H
    • WITHIN_7D

      public static final Freshness WITHIN_7D
    • WITHIN_31D

      public static final Freshness WITHIN_31D
    • WITHIN_1Y

      public static final Freshness WITHIN_1Y
  • Method Details

    • values

      public static Freshness[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static Freshness valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • between

      @Contract("_, _ -> new") @NotNull public static @NotNull @Unmodifiable SearchOptionCarrier<String> between(@NotNull @NotNull LocalDate startDate, @NotNull @NotNull LocalDate endDate)
      Joins the given dates with the "to" keyword and returns it as a value for the freshness filter.

      This method ensures that builders understand the correct range of freshness for the query.

      Parameters:
      startDate - the first date.
      endDate - the second date.
      Returns:
      the freshness filter value with the joined dates as a string.
      Throws:
      InvalidFreshnessInterval - if the end date is before the start date.
    • value

      public String value()
      Description copied from interface: BraveAPIConstant
      Returns the value of the constant. Must be implemented by the enum constants.
      Specified by:
      value in interface BraveAPIConstant
      Returns:
      the value of the constant
    • urlParam

      @Contract(pure=true) @NotNull public @NotNull String urlParam()
      Description copied from interface: BraveAPIConstant
      Returns the URL parameter associated with this constant. It can be implemented by default at the interface level with the value of the parameter.

      This method is used to generate the URL parameter for the API requests and represents a unit of option/parameterName/parameterConstant + "=" + parameterValue.

      A parameterValue may be provided by the API or require that the client provides it. By default, all options/parameters names are provided by the API.

      Specified by:
      urlParam in interface BraveAPIConstant
      Returns:
      the URL parameter associated with this constant
      See Also:
    • toSearchOption

      @Contract(" -> new") @NotNull public @NotNull @Unmodifiable SearchOptionCarrier<String> toSearchOption()
      Description copied from interface: SearchFilterOption
      Converts this search filter to a SearchOptionCarrier that can be used to build a URL parameter.
      Specified by:
      toSearchOption in interface ProvidedOption
      Specified by:
      toSearchOption in interface SearchFilterOption
      Returns:
      a SearchOptionCarrier representing this search filter