类 RequestConditionHolder

所有已实现的接口:
RequestCondition<RequestConditionHolder>

public final class RequestConditionHolder extends AbstractRequestCondition<RequestConditionHolder>
A holder for a RequestCondition useful when the type of the request condition is not known ahead of time, e.g. custom condition. Since this class is also an implementation of RequestCondition, effectively it decorates the held request condition and allows it to be combined and compared with other request conditions in a type and null safe way.

When two RequestConditionHolder instances are combined or compared with each other, it is expected the conditions they hold are of the same type. If they are not, a ClassCastException is raised.

从以下版本开始:
4.0
作者:
Rossen Stoyanchev
  • 字段详细资料

  • 构造器详细资料

    • RequestConditionHolder

      public RequestConditionHolder(@Nullable RequestCondition<?> requestCondition)
      Create a new holder to wrap the given request condition.
      参数:
      requestCondition - the condition to hold, may be null
  • 方法详细资料

    • getCondition

      @Nullable public RequestCondition<?> getCondition()
      Return the held request condition, or null if not holding one.
    • getContent

      protected Collection<?> getContent()
      从类复制的说明: AbstractRequestCondition
      Return the discrete items a request condition is composed of.

      For example URL patterns, HTTP request methods, param expressions, etc.

      指定者:
      getContent 在类中 AbstractRequestCondition<RequestConditionHolder>
      返回:
      a collection of objects (never null)
    • getToStringInfix

      protected String getToStringInfix()
      从类复制的说明: AbstractRequestCondition
      The notation to use when printing discrete items of content.

      For example " || " for URL patterns or " && " for param expressions.

      指定者:
      getToStringInfix 在类中 AbstractRequestCondition<RequestConditionHolder>
    • combine

      Combine the request conditions held by the two RequestConditionHolder instances after making sure the conditions are of the same type. Or if one holder is empty, the other holder is returned.
      参数:
      other - the condition to combine with.
      返回:
      a request condition instance that is the result of combining the two condition instances.
    • assertEqualConditionTypes

      private void assertEqualConditionTypes(RequestCondition<?> thisCondition, RequestCondition<?> otherCondition)
      Ensure the held request conditions are of the same type.
    • getMatchingCondition

      @Nullable public RequestConditionHolder getMatchingCondition(RequestContext request)
      Get the matching condition for the held request condition wrap it in a new RequestConditionHolder instance. Or otherwise if this is an empty holder, return the same holder instance.
      参数:
      request - the current request context
      返回:
      a condition instance in case of a match or null otherwise.
    • compareTo

      public int compareTo(RequestConditionHolder other, RequestContext request)
      Compare the request conditions held by the two RequestConditionHolder instances after making sure the conditions are of the same type. Or if one holder is empty, the other holder is preferred.
      request - the current request context