Class DecoratedFeignComponent<T>

java.lang.Object
io.microsphere.spring.cloud.openfeign.components.DecoratedFeignComponent<T>
All Implemented Interfaces:
Refreshable
Direct Known Subclasses:
DecoratedContract, DecoratedDecoder, DecoratedEncoder, DecoratedErrorDecoder, DecoratedQueryMapEncoder, DecoratedRetryer

public abstract class DecoratedFeignComponent<T> extends Object implements Refreshable
Since:
0.0.1
Author:
韩超
  • Field Details

    • delegate

      protected volatile T delegate
  • Constructor Details

    • DecoratedFeignComponent

      public DecoratedFeignComponent(String contextId, org.springframework.cloud.context.named.NamedContextFactory<org.springframework.cloud.openfeign.FeignClientSpecification> contextFactory, org.springframework.cloud.openfeign.FeignClientProperties clientProperties, T delegate)
  • Method Details

    • delegate

      public T delegate()
    • loadInstanceFromContextFactory

      @NonNull public <T> T loadInstanceFromContextFactory(String contextId, Class<T> componentType)
    • contextId

      @NonNull public String contextId()
    • refresh

      public void refresh()
      Specified by:
      refresh in interface Refreshable
    • componentType

      protected abstract Class<T> componentType()
    • getDefaultConfiguration

      public org.springframework.cloud.openfeign.FeignClientProperties.FeignClientConfiguration getDefaultConfiguration()
    • getCurrentConfiguration

      public org.springframework.cloud.openfeign.FeignClientProperties.FeignClientConfiguration getCurrentConfiguration()
    • loadInstance

      protected T loadInstance()
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • instantiate

      public static <W extends DecoratedFeignComponent<T>, T> W instantiate(Class<W> decoratedClass, Class<T> componentClass, String contextId, org.springframework.cloud.context.named.NamedContextFactory<org.springframework.cloud.openfeign.FeignClientSpecification> contextFactory, org.springframework.cloud.openfeign.FeignClientProperties clientProperties, T delegate)