Class ReferenceConfigBase<T>

All Implemented Interfaces:
Serializable

public abstract class ReferenceConfigBase<T> extends AbstractReferenceConfig
Base configuration for the service reference.
See Also:
  • Constructor Details

    • ReferenceConfigBase

      public ReferenceConfigBase()
    • ReferenceConfigBase

      public ReferenceConfigBase(ModuleModel moduleModel)
    • ReferenceConfigBase

      public ReferenceConfigBase(Reference reference)
    • ReferenceConfigBase

      public ReferenceConfigBase(ModuleModel moduleModel, Reference reference)
  • Method Details

    • shouldCheck

      public boolean shouldCheck()
    • shouldInit

      public boolean shouldInit()
    • getPrefixes

      @Parameter(excluded=true, attribute=false) public List<String> getPrefixes()
      Overrides:
      getPrefixes in class AbstractConfig
    • getMetaData

      public Map<String,String> getMetaData()
      Description copied from class: AbstractConfig

      The new instance of the AbstractConfig subclass should return empty metadata. The purpose is to get the attributes set by the user instead of the default value when the AbstractConfig.refresh() method handles attribute overrides.

      The default value of the field should be set in the AbstractConfig.checkDefault() method, which will be called at the end of AbstractConfig.refresh(), so that it will not affect the behavior of attribute overrides.

      Should be called after Config was fully initialized.

      Notice! This method should include all properties in the returning map, treat @Parameter differently compared to appendParameters?

      // FIXME: this method should be completely replaced by appendParameters? // -- Url parameter may use key, but props override only use property name. So replace it with appendAttributes().
      Overrides:
      getMetaData in class AbstractConfig
      See Also:
    • getMetaData

      public Map<String,String> getMetaData(String prefix)
      Overrides:
      getMetaData in class AbstractConfig
    • getServiceInterfaceClass

      public Class<?> getServiceInterfaceClass()
      Get service interface class of this reference. The actual service type of remote provider.
      Returns:
    • getInterfaceClass

      public Class<?> getInterfaceClass()
      Get proxy interface class of this reference. The proxy interface class is used to create proxy instance.
      Returns:
    • determineInterfaceClass

      public static Class<?> determineInterfaceClass(String generic, String interfaceName)
      Determine the interface of the proxy class
      Parameters:
      generic -
      interfaceName -
      Returns:
    • determineInterfaceClass

      public static Class<?> determineInterfaceClass(String generic, String interfaceName, ClassLoader classLoader)
    • setInterface

      public void setInterface(Class<?> interfaceClass)
    • getUrl

      @Parameter(excluded=true) public String getUrl()
    • setUrl

      public void setUrl(String url)
    • getConsumer

      public ConsumerConfig getConsumer()
    • setConsumer

      public void setConsumer(ConsumerConfig consumer)
    • getUnloadClusterRelated

      @Parameter(key="unloadClusterRelated") public Boolean getUnloadClusterRelated()
    • setUnloadClusterRelated

      public void setUnloadClusterRelated(Boolean unloadClusterRelated)
    • getServiceMetadata

      public ServiceMetadata getServiceMetadata()
    • getUniqueServiceName

      @Parameter(excluded=true, attribute=false) public String getUniqueServiceName()
    • getVersion

      public String getVersion()
      Overrides:
      getVersion in class AbstractInterfaceConfig
    • getGroup

      public String getGroup()
      Overrides:
      getGroup in class AbstractInterfaceConfig
    • shouldReferAsync

      public Boolean shouldReferAsync()
    • get

      public abstract T get(boolean check)
    • checkOrDestroy

      public abstract void checkOrDestroy(long timeout)
    • get

      public final T get()
    • destroy

      public void destroy()