protected URI createURI()

in velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/LinkTool.java [1004:1045]


    protected URI createURI()
    {
        try
        {
            // fail if there was an error in setting the port
            if (port > -2)
            {
                if (opaque)
                {
                    if (query != null && query.size() > 0)
                    {
                        getLog().warn("Ignoring given parameters in opaque URI: {}", getQuery());
                    }
                    // path is used as scheme-specific part
                    return new URI(scheme, path, fragment);
                }
                else if (forceRelative)
                {
                    if (path == null && query == null && fragment == null)
                    {
                        return null;
                    }
                    return new URI(null, null, null, -1, path, toQuery(query), fragment);
                }
                else
                {
                    // only create the URI if we have some values besides a port
                    if (scheme == null && user == null && host == null
                        && path == null && query == null && fragment == null)
                    {
                        return null;
                    }
                    return new URI(scheme, user, host, port, path, toQuery(query), fragment);
                }
            }
        }
        catch (Exception e)
        {
            getLog().error("Could not create URI", e);
        }
        return null;
    }