Class URL

java.lang.Object
org.apache.dubbo.common.URL
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
ServiceAddressURL, ServiceConfigURL

public class URL extends Object implements Serializable
URL - Uniform Resource Locator (Immutable, ThreadSafe)

url example:

  • http://www.facebook.com/friends?param1=value1&param2=value2
  • http://username:password@10.20.130.230:8080/list?version=1.0.0
  • ftp://username:password@192.168.1.7:21/1/read.txt
  • registry://192.168.1.7:9090/org.apache.dubbo.service1?param1=value1&param2=value2

Some strange example below:

  • 192.168.1.3:20880
    for this case, url protocol = null, url host = 192.168.1.3, port = 20880, url path = null
  • file:///home/user1/router.js?type=script
    for this case, url protocol = file, url host = null, url path = home/user1/router.js
  • file://home/user1/router.js?type=script
    for this case, url protocol = file, url host = home, url path = user1/router.js
  • file:///D:/1/router.js?type=script
    for this case, url protocol = file, url host = null, url path = D:/1/router.js
  • file:/D:/1/router.js?type=script
    same as above file:///D:/1/router.js?type=script
  • /home/user1/router.js?type=script
    for this case, url protocol = null, url host = null, url path = home/user1/router.js
  • home/user1/router.js?type=script
    for this case, url protocol = null, url host = home, url path = user1/router.js
See Also:
  • Constructor Details

  • Method Details

    • cacheableValueOf

      public static URL cacheableValueOf(String url)
    • valueOf

      public static URL valueOf(String url)
      parse decoded url string, formatted dubbo://host:port/path?param=value, into strutted URL.
      Parameters:
      url - , decoded url string
      Returns:
    • valueOf

      public static URL valueOf(String url, ScopeModel scopeModel)
    • valueOf

      public static URL valueOf(String url, boolean encoded)
      parse normal or encoded url string into strutted URL: - dubbo://host:port/path?param=value - URL.encode("dubbo://host:port/path?param=value")
      Parameters:
      url - , url string
      encoded - , encoded or decoded
      Returns:
    • valueOf

      public static URL valueOf(String url, String... reserveParams)
    • valueOf

      public static URL valueOf(URL url, String[] reserveParams, String[] reserveParamPrefixes)
    • encode

      public static String encode(String value)
    • decode

      public static String decode(String value)
    • getUrlAddress

      public URLAddress getUrlAddress()
    • getUrlParam

      public URLParam getUrlParam()
    • getProtocol

      public String getProtocol()
    • setProtocol

      public URL setProtocol(String protocol)
    • getUsername

      public String getUsername()
    • setUsername

      public URL setUsername(String username)
    • getPassword

      public String getPassword()
    • setPassword

      public URL setPassword(String password)
    • getAuthority

      public String getAuthority()
      refer to https://datatracker.ietf.org/doc/html/rfc3986
      Returns:
      authority
    • getUserInformation

      public String getUserInformation()
      refer to https://datatracker.ietf.org/doc/html/rfc3986
      Returns:
      user information
    • getHost

      public String getHost()
    • setHost

      public URL setHost(String host)
    • getPort

      public int getPort()
    • setPort

      public URL setPort(int port)
    • getPort

      public int getPort(int defaultPort)
    • getAddress

      public String getAddress()
    • setAddress

      public URL setAddress(String address)
    • getIp

      public String getIp()
    • getBackupAddress

      public String getBackupAddress()
    • getBackupAddress

      public String getBackupAddress(int defaultPort)
    • getBackupUrls

      public List<URL> getBackupUrls()
    • getPath

      public String getPath()
    • setPath

      public URL setPath(String path)
    • getAbsolutePath

      public String getAbsolutePath()
    • getOriginalParameters

      public Map<String,String> getOriginalParameters()
    • getParameters

      public Map<String,String> getParameters()
    • getAllParameters

      public Map<String,String> getAllParameters()
    • getParameters

      public Map<String,String> getParameters(Predicate<String> nameToSelect)
      Get the parameters to be selected(filtered)
      Parameters:
      nameToSelect - the Predicate to select the parameter name
      Returns:
      non-null Map
      Since:
      2.7.8
    • getParameterAndDecoded

      public String getParameterAndDecoded(String key)
    • getParameterAndDecoded

      public String getParameterAndDecoded(String key, String defaultValue)
    • getOriginalParameter

      public String getOriginalParameter(String key)
    • getParameter

      public String getParameter(String key)
    • getParameter

      public String getParameter(String key, String defaultValue)
    • getParameter

      public String[] getParameter(String key, String[] defaultValue)
    • getParameter

      public List<String> getParameter(String key, List<String> defaultValue)
    • getParameter

      public <T> T getParameter(String key, Class<T> valueType)
      Get parameter
      Type Parameters:
      T - the type of parameter value
      Parameters:
      key - the key of parameter
      valueType - the type of parameter value
      Returns:
      get the parameter if present, or null
      Since:
      2.7.8
    • getParameter

      public <T> T getParameter(String key, Class<T> valueType, T defaultValue)
      Get parameter
      Type Parameters:
      T - the type of parameter value
      Parameters:
      key - the key of parameter
      valueType - the type of parameter value
      defaultValue - the default value if parameter is absent
      Returns:
      get the parameter if present, or defaultValue will be used.
      Since:
      2.7.8
    • setScopeModel

      public URL setScopeModel(ScopeModel scopeModel)
    • getScopeModel

      public ScopeModel getScopeModel()
    • getOrDefaultFrameworkModel

      public FrameworkModel getOrDefaultFrameworkModel()
    • getOrDefaultApplicationModel

      public ApplicationModel getOrDefaultApplicationModel()
    • getApplicationModel

      public ApplicationModel getApplicationModel()
    • getOrDefaultModuleModel

      public ModuleModel getOrDefaultModuleModel()
    • setServiceModel

      public URL setServiceModel(ServiceModel serviceModel)
    • getServiceModel

      public ServiceModel getServiceModel()
    • getUrlParameter

      public URL getUrlParameter(String key)
    • getParameter

      public double getParameter(String key, double defaultValue)
    • getParameter

      public float getParameter(String key, float defaultValue)
    • getParameter

      public long getParameter(String key, long defaultValue)
    • getParameter

      public int getParameter(String key, int defaultValue)
    • getParameter

      public short getParameter(String key, short defaultValue)
    • getParameter

      public byte getParameter(String key, byte defaultValue)
    • getPositiveParameter

      public float getPositiveParameter(String key, float defaultValue)
    • getPositiveParameter

      public double getPositiveParameter(String key, double defaultValue)
    • getPositiveParameter

      public long getPositiveParameter(String key, long defaultValue)
    • getPositiveParameter

      public int getPositiveParameter(String key, int defaultValue)
    • getPositiveParameter

      public short getPositiveParameter(String key, short defaultValue)
    • getPositiveParameter

      public byte getPositiveParameter(String key, byte defaultValue)
    • getParameter

      public char getParameter(String key, char defaultValue)
    • getParameter

      public boolean getParameter(String key, boolean defaultValue)
    • hasParameter

      public boolean hasParameter(String key)
    • getMethodParameterAndDecoded

      public String getMethodParameterAndDecoded(String method, String key)
    • getMethodParameterAndDecoded

      public String getMethodParameterAndDecoded(String method, String key, String defaultValue)
    • getMethodParameter

      public String getMethodParameter(String method, String key)
    • getMethodParameterStrict

      public String getMethodParameterStrict(String method, String key)
    • getMethodParameter

      public String getMethodParameter(String method, String key, String defaultValue)
    • getMethodParameter

      public double getMethodParameter(String method, String key, double defaultValue)
    • getMethodParameter

      public float getMethodParameter(String method, String key, float defaultValue)
    • getMethodParameter

      public long getMethodParameter(String method, String key, long defaultValue)
    • getMethodParameter

      public int getMethodParameter(String method, String key, int defaultValue)
    • getMethodParameter

      public short getMethodParameter(String method, String key, short defaultValue)
    • getMethodParameter

      public byte getMethodParameter(String method, String key, byte defaultValue)
    • getMethodPositiveParameter

      public double getMethodPositiveParameter(String method, String key, double defaultValue)
    • getMethodPositiveParameter

      public float getMethodPositiveParameter(String method, String key, float defaultValue)
    • getMethodPositiveParameter

      public long getMethodPositiveParameter(String method, String key, long defaultValue)
    • getMethodPositiveParameter

      public int getMethodPositiveParameter(String method, String key, int defaultValue)
    • getMethodPositiveParameter

      public short getMethodPositiveParameter(String method, String key, short defaultValue)
    • getMethodPositiveParameter

      public byte getMethodPositiveParameter(String method, String key, byte defaultValue)
    • getMethodParameter

      public char getMethodParameter(String method, String key, char defaultValue)
    • getMethodParameter

      public boolean getMethodParameter(String method, String key, boolean defaultValue)
    • hasMethodParameter

      public boolean hasMethodParameter(String method, String key)
    • getAnyMethodParameter

      public String getAnyMethodParameter(String key)
    • hasMethodParameter

      public boolean hasMethodParameter(String method)
    • isLocalHost

      public boolean isLocalHost()
    • isAnyHost

      public boolean isAnyHost()
    • addParameterAndEncoded

      public URL addParameterAndEncoded(String key, String value)
    • addParameter

      public URL addParameter(String key, boolean value)
    • addParameter

      public URL addParameter(String key, char value)
    • addParameter

      public URL addParameter(String key, byte value)
    • addParameter

      public URL addParameter(String key, short value)
    • addParameter

      public URL addParameter(String key, int value)
    • addParameter

      public URL addParameter(String key, long value)
    • addParameter

      public URL addParameter(String key, float value)
    • addParameter

      public URL addParameter(String key, double value)
    • addParameter

      public URL addParameter(String key, Enum<?> value)
    • addParameter

      public URL addParameter(String key, Number value)
    • addParameter

      public URL addParameter(String key, CharSequence value)
    • addParameter

      public URL addParameter(String key, String value)
    • addParameterIfAbsent

      public URL addParameterIfAbsent(String key, String value)
    • addParameters

      public URL addParameters(Map<String,String> parameters)
      Add parameters to a new url.
      Parameters:
      parameters - parameters in key-value pairs
      Returns:
      A new URL
    • addParametersIfAbsent

      public URL addParametersIfAbsent(Map<String,String> parameters)
    • addParameters

      public URL addParameters(String... pairs)
    • addParameterString

      public URL addParameterString(String query)
    • removeParameter

      public URL removeParameter(String key)
    • removeParameters

      public URL removeParameters(Collection<String> keys)
    • removeParameters

      public URL removeParameters(String... keys)
    • clearParameters

      public URL clearParameters()
    • getRawParameter

      public String getRawParameter(String key)
    • toOriginalMap

      public Map<String,String> toOriginalMap()
    • toMap

      public Map<String,String> toMap()
    • toString

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

      public String toString(String... parameters)
    • toIdentityString

      public String toIdentityString()
    • toIdentityString

      public String toIdentityString(String... parameters)
    • toFullString

      public String toFullString()
    • toFullString

      public String toFullString(String... parameters)
    • toParameterString

      public String toParameterString()
    • toParameterString

      public String toParameterString(String... parameters)
    • toJavaURL

      public URL toJavaURL()
    • toInetSocketAddress

      public InetSocketAddress toInetSocketAddress()
    • getColonSeparatedKey

      public String getColonSeparatedKey()
      The format is "{interface}:[version]:[group]"
      Returns:
    • getCompatibleColonSeparatedKey

      public String getCompatibleColonSeparatedKey()
      The format is "{interface}:[version]"
      Returns:
    • getServiceKey

      public String getServiceKey()
      The format of return value is '{group}/{interfaceName}:{version}'
      Returns:
    • getDisplayServiceKey

      public String getDisplayServiceKey()
      Format : interface:version
      Returns:
    • getPathKey

      public String getPathKey()
      The format of return value is '{group}/{path/interfaceName}:{version}'
      Returns:
    • buildKey

      public static String buildKey(String path, String group, String version)
    • getProtocolServiceKey

      public String getProtocolServiceKey()
    • toServiceStringWithoutResolving

      public String toServiceStringWithoutResolving()
    • toServiceString

      public String toServiceString()
    • toServiceString

      public String toServiceString(String... parameters)
    • getServiceName

      @Deprecated public String getServiceName()
      Deprecated.
    • getServiceInterface

      public String getServiceInterface()
    • setServiceInterface

      public URL setServiceInterface(String service)
    • getIntParameter

      @Deprecated public int getIntParameter(String key)
      Deprecated.
      Replace to getParameter(String, int)
      See Also:
    • getIntParameter

      @Deprecated public int getIntParameter(String key, int defaultValue)
      Deprecated.
      Replace to getParameter(String, int)
      See Also:
    • getPositiveIntParameter

      @Deprecated public int getPositiveIntParameter(String key, int defaultValue)
      Deprecated.
      Replace to getPositiveParameter(String, int)
      See Also:
    • getBooleanParameter

      @Deprecated public boolean getBooleanParameter(String key)
      Deprecated.
      Replace to getParameter(String, boolean)
      See Also:
    • getBooleanParameter

      @Deprecated public boolean getBooleanParameter(String key, boolean defaultValue)
      Deprecated.
      Replace to getParameter(String, boolean)
      See Also:
    • getMethodIntParameter

      @Deprecated public int getMethodIntParameter(String method, String key)
      Deprecated.
      Replace to getMethodParameter(String, String, int)
      See Also:
    • getMethodIntParameter

      @Deprecated public int getMethodIntParameter(String method, String key, int defaultValue)
      Deprecated.
      Replace to getMethodParameter(String, String, int)
      See Also:
    • getMethodPositiveIntParameter

      @Deprecated public int getMethodPositiveIntParameter(String method, String key, int defaultValue)
      Deprecated.
      Replace to getMethodPositiveParameter(String, String, int)
      See Also:
    • getMethodBooleanParameter

      @Deprecated public boolean getMethodBooleanParameter(String method, String key)
      Deprecated.
      Replace to getMethodParameter(String, String, boolean)
      See Also:
    • getMethodBooleanParameter

      @Deprecated public boolean getMethodBooleanParameter(String method, String key, boolean defaultValue)
      Deprecated.
      Replace to getMethodParameter(String, String, boolean)
      See Also:
    • toConfiguration

      public Configuration toConfiguration()
    • hashCode

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

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

      public static void putMethodParameter(String method, String key, String value, Map<String,Map<String,String>> methodParameters)
    • getApplication

      public String getApplication(String defaultValue)
    • getApplication

      public String getApplication()
    • getRemoteApplication

      public String getRemoteApplication()
    • getGroup

      public String getGroup()
    • getGroup

      public String getGroup(String defaultValue)
    • getVersion

      public String getVersion()
    • getVersion

      public String getVersion(String defaultValue)
    • getConcatenatedParameter

      public String getConcatenatedParameter(String key)
    • getCategory

      public String getCategory(String defaultValue)
    • getCategory

      public String[] getCategory(String[] defaultValue)
    • getCategory

      public String getCategory()
    • getSide

      public String getSide(String defaultValue)
    • getSide

      public String getSide()
    • getAttributes

      public Map<String,Object> getAttributes()
    • addAttributes

      public URL addAttributes(Map<String,Object> attributeMap)
    • getAttribute

      public Object getAttribute(String key)
    • getAttribute

      public Object getAttribute(String key, Object defaultValue)
    • putAttribute

      public URL putAttribute(String key, Object obj)
    • removeAttribute

      public URL removeAttribute(String key)
    • hasAttribute

      public boolean hasAttribute(String key)
    • getOriginalServiceParameters

      public Map<String,String> getOriginalServiceParameters(String service)
    • getServiceParameters

      public Map<String,String> getServiceParameters(String service)
    • getOriginalServiceParameter

      public String getOriginalServiceParameter(String service, String key)
    • getServiceParameter

      public String getServiceParameter(String service, String key)
    • getServiceParameter

      public String getServiceParameter(String service, String key, String defaultValue)
    • getServiceParameter

      public int getServiceParameter(String service, String key, int defaultValue)
    • getServiceParameter

      public double getServiceParameter(String service, String key, double defaultValue)
    • getServiceParameter

      public float getServiceParameter(String service, String key, float defaultValue)
    • getServiceParameter

      public long getServiceParameter(String service, String key, long defaultValue)
    • getServiceParameter

      public short getServiceParameter(String service, String key, short defaultValue)
    • getServiceParameter

      public byte getServiceParameter(String service, String key, byte defaultValue)
    • getServiceParameter

      public char getServiceParameter(String service, String key, char defaultValue)
    • getServiceParameter

      public boolean getServiceParameter(String service, String key, boolean defaultValue)
    • hasServiceParameter

      public boolean hasServiceParameter(String service, String key)
    • getPositiveServiceParameter

      public float getPositiveServiceParameter(String service, String key, float defaultValue)
    • getPositiveServiceParameter

      public double getPositiveServiceParameter(String service, String key, double defaultValue)
    • getPositiveServiceParameter

      public long getPositiveServiceParameter(String service, String key, long defaultValue)
    • getPositiveServiceParameter

      public int getPositiveServiceParameter(String service, String key, int defaultValue)
    • getPositiveServiceParameter

      public short getPositiveServiceParameter(String service, String key, short defaultValue)
    • getPositiveServiceParameter

      public byte getPositiveServiceParameter(String service, String key, byte defaultValue)
    • getServiceMethodParameterAndDecoded

      public String getServiceMethodParameterAndDecoded(String service, String method, String key)
    • getServiceMethodParameterAndDecoded

      public String getServiceMethodParameterAndDecoded(String service, String method, String key, String defaultValue)
    • getServiceMethodParameterStrict

      public String getServiceMethodParameterStrict(String service, String method, String key)
    • getServiceMethodParameter

      public String getServiceMethodParameter(String service, String method, String key)
    • getServiceMethodParameter

      public String getServiceMethodParameter(String service, String method, String key, String defaultValue)
    • getServiceMethodParameter

      public double getServiceMethodParameter(String service, String method, String key, double defaultValue)
    • getServiceMethodParameter

      public float getServiceMethodParameter(String service, String method, String key, float defaultValue)
    • getServiceMethodParameter

      public long getServiceMethodParameter(String service, String method, String key, long defaultValue)
    • getServiceMethodParameter

      public int getServiceMethodParameter(String service, String method, String key, int defaultValue)
    • getServiceMethodParameter

      public short getServiceMethodParameter(String service, String method, String key, short defaultValue)
    • getServiceMethodParameter

      public byte getServiceMethodParameter(String service, String method, String key, byte defaultValue)
    • hasServiceMethodParameter

      public boolean hasServiceMethodParameter(String service, String method, String key)
    • hasServiceMethodParameter

      public boolean hasServiceMethodParameter(String service, String method)
    • toSerializableURL

      public URL toSerializableURL()