Class ParsedURLData
java.lang.Object
org.apache.batik.util.ParsedURLData
- Direct Known Subclasses:
ParsedURLDataProtocolHandler.DataParsedURLData
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static Listprotected StringThe extracted charset parameter from the Content-Type header.protected StringThe extracted type/subtype from the Content-Type header.static final byte[]GZIP header magic number bytes, like found in a gzipped files, which are encoded in Intel format (i.e. little indian).booleanprotected static final Stringprotected static final Stringprotected static final Stringprotected static final Stringintprotected URLThe URL that was ultimately used to fetch the resource.Since the Data instance is 'hidden' in the ParsedURL instance we make all our methods public. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected URLbuildURL()Attempts to build a normal java.net.URL instance from this URL.static InputStreamcheckGZIP(InputStream is) This is a utility function others can call that checks if is is a GZIP stream if so it returns a GZIPInputStream that will decode the contents, otherwise it returns (or a buffered version of is) untouched.booleancomplete()Returns true if the URL looks well formed and complete.booleanImplement Object.equals for ParsedURLData.protected voidextractContentTypeParts(String userAgent) Extracts the type/subtype and charset parameter from the Content-Type header.getContentEncoding(String userAgent) Returns the content encoding if available.getContentType(String userAgent) Returns the content type if available.getContentTypeCharset(String userAgent) Returns the content type's charset parameter, if available.getContentTypeMediaType(String userAgent) Returns the content type's type/subtype, if available.Returns the URL up to and include the port number on the host.Returns the URL that was ultimately used to fetch the resource represented by theParsedURL.booleanhasContentTypeParameter(String userAgent, String param) Returns whether the Content-Type header has the given parameter.inthashCode()Implement Object.hashCode.openStream(String userAgent, Iterator mimeTypes) Open the stream and check for common compression types.protected InputStreamopenStreamInternal(String userAgent, Iterator mimeTypes, Iterator encodingTypes) openStreamRaw(String userAgent, Iterator mimeTypes) Open the stream and returns it.protected booleansameFile(ParsedURLData other) toString()Return a string representation of the data.
-
Field Details
-
HTTP_USER_AGENT_HEADER
- See Also:
-
HTTP_ACCEPT_HEADER
- See Also:
-
HTTP_ACCEPT_LANGUAGE_HEADER
- See Also:
-
HTTP_ACCEPT_ENCODING_HEADER
- See Also:
-
acceptedEncodings
-
GZIP_MAGIC
public static final byte[] GZIP_MAGICGZIP header magic number bytes, like found in a gzipped files, which are encoded in Intel format (i.e. little indian). -
protocol
Since the Data instance is 'hidden' in the ParsedURL instance we make all our methods public. This makes it easy for the various Protocol Handlers to update an instance as parsing proceeds. -
host
-
port
public int port -
path
-
ref
-
contentType
-
contentEncoding
-
stream
-
hasBeenOpened
public boolean hasBeenOpened -
contentTypeMediaType
The extracted type/subtype from the Content-Type header. -
contentTypeCharset
The extracted charset parameter from the Content-Type header. -
postConnectionURL
The URL that was ultimately used to fetch the resource.
-
-
Constructor Details
-
ParsedURLData
public ParsedURLData()Void constructor -
ParsedURLData
Build from an existing URL.
-
-
Method Details
-
checkGZIP
This is a utility function others can call that checks if is is a GZIP stream if so it returns a GZIPInputStream that will decode the contents, otherwise it returns (or a buffered version of is) untouched.- Parameters:
is- Stream that may potentially be a GZIP stream.- Throws:
IOException
-
buildURL
Attempts to build a normal java.net.URL instance from this URL.- Throws:
MalformedURLException
-
hashCode
-
equals
-
getContentType
-
getContentTypeMediaType
-
getContentTypeCharset
-
hasContentTypeParameter
-
extractContentTypeParts
Extracts the type/subtype and charset parameter from the Content-Type header. -
getContentEncoding
-
complete
public boolean complete()Returns true if the URL looks well formed and complete. This does not garuntee that the stream can be opened but is a good indication that things aren't totally messed up. -
openStream
Open the stream and check for common compression types. If the stream is found to be compressed with a standard compression type it is automatically decompressed.- Parameters:
userAgent- The user agent opening the stream (may be null).mimeTypes- The expected mime types of the content in the returned InputStream (mapped to Http accept header among other possability). The elements of the iterator must be strings (may be null)- Throws:
IOException
-
openStreamRaw
Open the stream and returns it. No checks are made to see if the stream is compressed or encoded in any way.- Parameters:
userAgent- The user agent opening the stream (may be null).mimeTypes- The expected mime types of the content in the returned InputStream (mapped to Http accept header among other possability). The elements of the iterator must be strings (may be null)- Throws:
IOException
-
openStreamInternal
protected InputStream openStreamInternal(String userAgent, Iterator mimeTypes, Iterator encodingTypes) throws IOException - Throws:
IOException
-
getPortStr
Returns the URL up to and include the port number on the host. Does not include the path or fragment pieces. -
sameFile
-
toString
-
getPostConnectionURL
Returns the URL that was ultimately used to fetch the resource represented by theParsedURL.
-