Class MailcapFile

java.lang.Object
org.eclipse.angus.activation.MailcapFile
All Implemented Interfaces:
MailcapRegistry

public class MailcapFile extends Object implements MailcapRegistry
  • Constructor Details

    • MailcapFile

      public MailcapFile(String new_fname) throws IOException
      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

      public MailcapFile(InputStream is) throws IOException
      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

      public Map<String,List<String>> getMailcapList(String mime_type)
      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 interface MailcapRegistry
      Parameters:
      mime_type - the MIME type
      Returns:
      the map of MailcapEntries
    • getMailcapFallbackList

      public Map<String,List<String>> getMailcapFallbackList(String mime_type)
      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 interface MailcapRegistry
      Parameters:
      mime_type - the MIME type
      Returns:
      the map of fallback MailcapEntries
    • getMimeTypes

      public String[] getMimeTypes()
      Return all the MIME types known to this mailcap file.
      Specified by:
      getMimeTypes in interface MailcapRegistry
      Returns:
      a String array of the MIME types
    • getNativeCommands

      public String[] getNativeCommands(String mime_type)
      Return all the native comands for the given MIME type.
      Specified by:
      getNativeCommands in interface MailcapRegistry
      Parameters:
      mime_type - the MIME type
      Returns:
      a String array of the commands
    • appendToMailcap

      public void appendToMailcap(String mail_cap)
      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 interface MailcapRegistry
      Parameters:
      mail_cap - the mailcap string
    • parseLine

      protected void parseLine(String mailcapEntry) throws MailcapParseException, IOException
      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 errors
      IOException - 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