Class Url

java.lang.Object
org.refcodes.web.Url
All Implemented Interfaces:
org.refcodes.mixin.CredentialsAccessor, org.refcodes.mixin.Dumpable, org.refcodes.mixin.IdentityAccessor, org.refcodes.mixin.PathAccessor, org.refcodes.mixin.PortAccessor, org.refcodes.mixin.SecretAccessor, org.refcodes.net.IpAddressAccessor, FragmentAccessor, HostAccessor, QueryFieldsAccessor, SchemeAccessor
Direct Known Subclasses:
UrlBuilder

public class Url extends Object implements org.refcodes.mixin.Dumpable, SchemeAccessor, HostAccessor, org.refcodes.net.IpAddressAccessor, org.refcodes.mixin.PortAccessor, org.refcodes.mixin.PathAccessor, QueryFieldsAccessor, FragmentAccessor, org.refcodes.mixin.CredentialsAccessor
The Url class represents an immutable URL: An URL looks something like this: "scheme://[identity[:secret]@]host[:port][/path][?query][#fragment] In contrast to the java.net URL, this URL also supports "relative" locators with neither a scheme nor a host declaration. If the relative locator starts with a "/" slash, then we assume not having a host being provided: "/path?query#fragment" When it does *not* start with a "/" slash, then we assume that the first element being the host: "[identity[:secret]@]host[:port]/path[?query][#fragment]"