activemq-cpp-3.9.5
URLStreamHandler.h
Go to the documentation of this file.
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18#ifndef _DECAF_NET_URLSTREAMHANDLER_H_
19#define _DECAF_NET_URLSTREAMHANDLER_H_
20
21#include <decaf/util/Config.h>
22
23#include <decaf/lang/String.h>
25#include <decaf/net/URL.h>
26
27namespace decaf {
28namespace net {
29
30 class URLConnection;
31 class Proxy;
32
46 public:
47
49
50 protected:
51
64 virtual URLConnection* openConnection(const URL& url) = 0;
65
81 virtual URLConnection* openConnection(const URL& url, const Proxy* proxy);
82
94 virtual bool equals(const URL& source, const URL& other) const;
95
103 virtual int hashCode(const URL& url) const;
104
115 virtual bool hostsEqual(const URL& source, const URL& other) const;
116
128 virtual bool sameFile(const URL& source, const URL& other) const;
129
138 virtual decaf::lang::String toExternalForm(const URL& url) const;
139
149 virtual InetAddress getHostAddress(const URL& url) const;
150
158 virtual int getDefaultPort() const;
159
180 virtual void parseURL(URL& url, const decaf::lang::String& spec, int start, int limit);
181
206 void setURL(URL& url,
207 const decaf::lang::String& protocol, const decaf::lang::String& host, int port,
208 const decaf::lang::String& authority, const decaf::lang::String& userInfo,
209 const decaf::lang::String& path, const decaf::lang::String& query,
210 const decaf::lang::String& ref);
211
212 private:
213
214 friend class URL;
215
216 };
217
218}}
219
220#endif /* _DECAF_NET_URLSTREAMHANDLER_H_ */
An immutable sequence of characters.
Definition String.h:57
Represents an IP address.
Definition InetAddress.h:33
Definition Proxy.h:29
Concrete implementations of the abstract URLConnection class provide a communication link to a URL fo...
Definition URLConnection.h:41
The abstract class URLStreamHandler is the common superclass for all stream protocol handlers.
Definition URLStreamHandler.h:45
virtual int hashCode(const URL &url) const
Provides the default hashCode calculation.
virtual bool sameFile(const URL &source, const URL &other) const
Compare two URLs to see whether they refer to the same file, i.e., having the same protocol,...
virtual void parseURL(URL &url, const decaf::lang::String &spec, int start, int limit)
Parses the clear text URL in spec into a URL object.
virtual decaf::lang::String toExternalForm(const URL &url) const
Converts the URL into a string representation.
void setURL(URL &url, const decaf::lang::String &protocol, const decaf::lang::String &host, int port, const decaf::lang::String &authority, const decaf::lang::String &userInfo, const decaf::lang::String &path, const decaf::lang::String &query, const decaf::lang::String &ref)
Sets the fields of the URL This method is only intended to be used by subclasses of URLStreamHandler ...
virtual URLConnection * openConnection(const URL &url, const Proxy *proxy)
Establishes a new connection to the resource specified by the given URL.
virtual int getDefaultPort() const
Returns the default port for a URL parsed by this handler.
friend class URL
Definition URLStreamHandler.h:214
virtual InetAddress getHostAddress(const URL &url) const
Attempts to get the IP address of the host.
virtual bool hostsEqual(const URL &source, const URL &other) const
Compares the host components of two URLs.
virtual URLConnection * openConnection(const URL &url)=0
Establishes a new connection to the resource specified by the given URL.
virtual bool equals(const URL &source, const URL &other) const
Provides the default equals calculation.
#define DECAF_API
Definition Config.h:29
Definition URLStreamHandlerManager.h:26
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.
Definition AprPool.h:25