Class MacStuff

java.lang.Object
edu.harvard.hul.ois.jhove.MacStuff

public class MacStuff extends Object
Code specific to Macintosh Java. This class consists of static methods, and should not be instantiated. Its methods should be called only on the Macintosh OS X platform. It requires the package com.apple.eio.FileManager.
Author:
Gary McGath
  • Method Details

    • isMacintosh

      public static boolean isMacintosh()
      Determines if we're running on a Macintosh, so appropriate UI adjustments can be made. In accordance with Apple's recommendations, this checks for the existence of the mrj.version property rather than checking the os.name property.
    • fileHasType

      public static boolean fileHasType(File file, String type) throws ClassNotFoundException
      Returns true if a file has the given file type. This method uses FileManager in a dynamic way, so that it will merely throw a ClassNotFound exception if it fails.

      Currently this code isn't actually used, since the Jhove application is specified as checking only internal signatures. Should some future version or add-on code wish to use it, the code should look something like this:

       
           try {
               if (sig.getType() == SignatureType.FILETYPE &&
                       MacStuff.isMacintosh()) {
                   if (!MacStuff.fileHasType(file, sig.getValueString())) {
                       info.setConsistent(false);
                   }
               }
           }
           catch (ClassNotFoundException cnfe) {
               // Mac classes missing -- can't check filetype.
           }
       
       
      Throws:
      ClassNotFoundException