Package org.eclipse.angus.activation
Class MailcapFile
java.lang.Object
org.eclipse.angus.activation.MailcapFile
- All Implemented Interfaces:
jakarta.activation.MailcapRegistry
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static boolean
Another Map like above, but for fallback entries.A Map indexed by MIME type (string) that references a List of native commands (string) corresponding to the type.A Map indexed by MIME type (string) that references a Map of commands for each type. -
Constructor Summary
ConstructorsConstructorDescriptionMailcap file default constructor.The constructor that takes an input stream as an argument.MailcapFile
(String new_fname) The constructor that takes a filename as an argument. -
Method Summary
Modifier and TypeMethodDescriptionvoid
appendToMailcap
(String mail_cap) appendToMailcap: Append to this Mailcap DB, use the mailcap format: Comment == "# comment string" Entry == "mimetype; javabeanclass"getMailcapFallbackList
(String mime_type) Get the Map of fallback MailcapEntries based on the MIME type.getMailcapList
(String mime_type) Get the Map of MailcapEntries based on the MIME type.Get the Map of MailcapEntries from given db based on the MIME type.String[]
Return all the MIME types known to this mailcap file.String[]
getNativeCommands
(String mime_type) Return all the native comands for the given MIME type.Merge the first hash into the second.private void
parse
(BufferedReader reader) parse file into a hash table of MC Type Entry Objprotected void
A routine to parse individual entries in a Mailcap file.protected static void
reportParseError
(int expectedToken, int otherExpectedToken, int anotherExpectedToken, int actualToken, String actualTokenValue) protected static void
reportParseError
(int expectedToken, int otherExpectedToken, int actualToken, String actualTokenValue) protected static void
reportParseError
(int expectedToken, int actualToken, String actualTokenValue)
-
Field Details
-
type_hash
A Map indexed by MIME type (string) that references a Map of commands for each type. The comand Map is indexed by the command name and references a List of class names (strings) for each command. -
fallback_hash
Another Map like above, but for fallback entries. -
native_commands
A Map indexed by MIME type (string) that references a List of native commands (string) corresponding to the type. -
addReverse
private static boolean addReverse
-
-
Constructor Details
-
MailcapFile
The constructor that takes a filename as an argument.- Parameters:
new_fname
- The file name of the mailcap file.- Throws:
IOException
- for I/O errors
-
MailcapFile
The constructor that takes an input stream as an argument.- Parameters:
is
- the input stream- Throws:
IOException
- for I/O errors
-
MailcapFile
public MailcapFile()Mailcap file default constructor.
-
-
Method Details
-
getMailcapList
Get the Map of MailcapEntries based on the MIME type.Semantics: First check for the literal mime type, if that fails looks for wildcard <type>/\* and return that. Return the list of all that hit.
- Specified by:
getMailcapList
in interfacejakarta.activation.MailcapRegistry
- Parameters:
mime_type
- the MIME type- Returns:
- the map of MailcapEntries
-
getMailcapFallbackList
Get the Map of fallback MailcapEntries based on the MIME type.Semantics: First check for the literal mime type, if that fails looks for wildcard <type>/\* and return that. Return the list of all that hit.
- Specified by:
getMailcapFallbackList
in interfacejakarta.activation.MailcapRegistry
- Parameters:
mime_type
- the MIME type- Returns:
- the map of fallback MailcapEntries
-
getMailcapList
private Map<String,List<String>> getMailcapList(String mime_type, Map<String, Map<String, List<String>>> db) Get the Map of MailcapEntries from given db based on the MIME type.Semantics: First check for the literal mime type, if that fails looks for wildcard <type>/\* and return that. Return the list of all that hit.
- Parameters:
mime_type
- the MIME typedb
- the db to search in- Returns:
- the map of fallback MailcapEntries
-
getMimeTypes
Return all the MIME types known to this mailcap file.- Specified by:
getMimeTypes
in interfacejakarta.activation.MailcapRegistry
- Returns:
- a String array of the MIME types
-
getNativeCommands
Return all the native comands for the given MIME type.- Specified by:
getNativeCommands
in interfacejakarta.activation.MailcapRegistry
- Parameters:
mime_type
- the MIME type- Returns:
- a String array of the commands
-
mergeResults
private Map<String,List<String>> mergeResults(Map<String, List<String>> first, Map<String, List<String>> second) Merge the first hash into the second. This merge will only effect the hashtable that is returned, we don't want to touch the one passed in since its integrity must be maintained. -
appendToMailcap
appendToMailcap: Append to this Mailcap DB, use the mailcap format: Comment == "# comment string" Entry == "mimetype; javabeanclass"Example: # this is a comment image/gif jaf.viewers.ImageViewer
- Specified by:
appendToMailcap
in interfacejakarta.activation.MailcapRegistry
- Parameters:
mail_cap
- the mailcap string
-
parse
parse file into a hash table of MC Type Entry Obj- Throws:
IOException
-
parseLine
A routine to parse individual entries in a Mailcap file.Note that this routine does not handle line continuations. They should have been handled prior to calling this routine.
- Parameters:
mailcapEntry
- the mailcap entry- Throws:
MailcapParseException
- for parse errorsIOException
- for I/O errors
-
reportParseError
protected static void reportParseError(int expectedToken, int actualToken, String actualTokenValue) throws MailcapParseException - Throws:
MailcapParseException
-
reportParseError
protected static void reportParseError(int expectedToken, int otherExpectedToken, int actualToken, String actualTokenValue) throws MailcapParseException - Throws:
MailcapParseException
-
reportParseError
protected static void reportParseError(int expectedToken, int otherExpectedToken, int anotherExpectedToken, int actualToken, String actualTokenValue) throws MailcapParseException - Throws:
MailcapParseException
-