Save This Page
Home » openjdk-7 » javax » xml » transform » [javadoc | source]
    1   /*
    2    * Copyright 2004-2006 Sun Microsystems, Inc.  All Rights Reserved.
    3    * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    4    *
    5    * This code is free software; you can redistribute it and/or modify it
    6    * under the terms of the GNU General Public License version 2 only, as
    7    * published by the Free Software Foundation.  Sun designates this
    8    * particular file as subject to the "Classpath" exception as provided
    9    * by Sun in the LICENSE file that accompanied this code.
   10    *
   11    * This code is distributed in the hope that it will be useful, but WITHOUT
   12    * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   13    * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   14    * version 2 for more details (a copy is included in the LICENSE file that
   15    * accompanied this code).
   16    *
   17    * You should have received a copy of the GNU General Public License version
   18    * 2 along with this work; if not, write to the Free Software Foundation,
   19    * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   20    *
   21    * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
   22    * CA 95054 USA or visit www.sun.com if you need additional information or
   23    * have any questions.
   24    */
   25   
   26   package javax.xml.transform;
   27   
   28   import java.security;
   29   import java.net;
   30   import java.io;
   31   import java.util;
   32   
   33   /**
   34    * This class is duplicated for each JAXP subpackage so keep it in sync.
   35    * It is package private and therefore is not exposed as part of the JAXP
   36    * API.
   37    *
   38    * Security related methods that only work on J2SE 1.2 and newer.
   39    */
   40   class SecuritySupport  {
   41   
   42   
   43       ClassLoader getContextClassLoader() throws SecurityException{
   44           return (ClassLoader)
   45           AccessController.doPrivileged(new PrivilegedAction() {
   46               public Object run() {
   47                   ClassLoader cl = null;
   48                   //try {
   49                   cl = Thread.currentThread().getContextClassLoader();
   50                   //} catch (SecurityException ex) { }
   51                   if (cl == null)
   52                       cl = ClassLoader.getSystemClassLoader();
   53                   return cl;
   54               }
   55           });
   56       }
   57   
   58       String getSystemProperty(final String propName) {
   59           return (String)
   60               AccessController.doPrivileged(new PrivilegedAction() {
   61                   public Object run() {
   62                       return System.getProperty(propName);
   63                   }
   64               });
   65       }
   66   
   67       FileInputStream getFileInputStream(final File file)
   68           throws FileNotFoundException
   69       {
   70           try {
   71               return (FileInputStream)
   72                   AccessController.doPrivileged(new PrivilegedExceptionAction() {
   73                       public Object run() throws FileNotFoundException {
   74                           return new FileInputStream(file);
   75                       }
   76                   });
   77           } catch (PrivilegedActionException e) {
   78               throw (FileNotFoundException)e.getException();
   79           }
   80       }
   81   
   82       InputStream getResourceAsStream(final ClassLoader cl,
   83                                              final String name)
   84       {
   85           return (InputStream)
   86               AccessController.doPrivileged(new PrivilegedAction() {
   87                   public Object run() {
   88                       InputStream ris;
   89                       if (cl == null) {
   90                           ris = ClassLoader.getSystemResourceAsStream(name);
   91                       } else {
   92                           ris = cl.getResourceAsStream(name);
   93                       }
   94                       return ris;
   95                   }
   96               });
   97       }
   98   
   99       boolean doesFileExist(final File f) {
  100       return ((Boolean)
  101               AccessController.doPrivileged(new PrivilegedAction() {
  102                   public Object run() {
  103                       return new Boolean(f.exists());
  104                   }
  105               })).booleanValue();
  106       }
  107   
  108   }

Save This Page
Home » openjdk-7 » javax » xml » transform » [javadoc | source]