/// <summary>Registers a scheme.</summary> /// <remarks> /// Registers a scheme. /// The scheme can later be retrieved by its name /// using /// <see cref="GetScheme(string)">getScheme</see> /// or /// <see cref="Get(string)">get</see> /// . /// </remarks> /// <param name="sch">the scheme to register</param> /// <returns> /// the scheme previously registered with that name, or /// <code>null</code> if none was registered /// </returns> public Apache.Http.Conn.Scheme.Scheme Register(Apache.Http.Conn.Scheme.Scheme sch ) { Args.NotNull(sch, "Scheme"); Apache.Http.Conn.Scheme.Scheme old = registeredSchemes.Put(sch.GetName(), sch); return(old); }
/// <summary>Obtains a scheme by name, if registered.</summary> /// <remarks>Obtains a scheme by name, if registered.</remarks> /// <param name="name">the name of the scheme to look up (in lowercase)</param> /// <returns> /// the scheme, or /// <code>null</code> if there is none by this name /// </returns> public Apache.Http.Conn.Scheme.Scheme Get(string name) { Args.NotNull(name, "Scheme name"); // leave it to the caller to use the correct name - all lowercase //name = name.toLowerCase(); Apache.Http.Conn.Scheme.Scheme found = registeredSchemes.Get(name); return(found); }
/// <summary>Obtains a scheme by name.</summary> /// <remarks>Obtains a scheme by name.</remarks> /// <param name="name">the name of the scheme to look up (in lowercase)</param> /// <returns>the scheme, never <code>null</code></returns> /// <exception cref="System.InvalidOperationException">if the scheme with the given name is not registered /// </exception> public Apache.Http.Conn.Scheme.Scheme GetScheme(string name) { Apache.Http.Conn.Scheme.Scheme found = Get(name); if (found == null) { throw new InvalidOperationException("Scheme '" + name + "' not registered."); } return(found); }
/// <summary>Unregisters a scheme.</summary> /// <remarks>Unregisters a scheme.</remarks> /// <param name="name">the name of the scheme to unregister (in lowercase)</param> /// <returns> /// the unregistered scheme, or /// <code>null</code> if there was none /// </returns> public Apache.Http.Conn.Scheme.Scheme Unregister(string name) { Args.NotNull(name, "Scheme name"); // leave it to the caller to use the correct name - all lowercase //name = name.toLowerCase(); Apache.Http.Conn.Scheme.Scheme gone = Sharpen.Collections.Remove(registeredSchemes , name); return(gone); }