public boolean isCompatible()

in dubbo-registry-extensions/dubbo-registry-nameservice/src/main/java/org/apache/dubbo/registry/nameservice/ServiceName.java [74:112]


    public boolean isCompatible(ServiceName serviceName) {

        // The argument must be the concrete NacosServiceName
        if (!serviceName.isConcrete()) {
            return false;
        }

        // Not match comparison
        if (!StringUtils.isEquals(this.category, serviceName.category)
            && !matchRange(this.category, serviceName.category)) {
            return false;
        }

        if (!StringUtils.isEquals(this.serviceInterface, serviceName.serviceInterface)) {
            return false;
        }

        // wildcard condition
        if (isWildcard(this.version)) {
            return true;
        }

        if (isWildcard(this.group)) {
            return true;
        }

        // range condition
        if (!StringUtils.isEquals(this.version, serviceName.version)
            && !matchRange(this.version, serviceName.version)) {
            return false;
        }

        if (!StringUtils.isEquals(this.group, serviceName.group) &&
            !matchRange(this.group, serviceName.group)) {
            return false;
        }

        return true;
    }