modules/fxml/src/main/java/javafx/fxml/FXMLLoader.java

Print this page
rev 9240 : 8076423: JEP 253: Prepare JavaFX UI Controls & CSS APIs for Modularization


  60 import javafx.event.Event;
  61 import javafx.event.EventHandler;
  62 import javafx.util.Builder;
  63 import javafx.util.BuilderFactory;
  64 import javafx.util.Callback;
  65 
  66 import javax.script.Bindings;
  67 import javax.script.ScriptContext;
  68 import javax.script.ScriptEngine;
  69 import javax.script.ScriptEngineManager;
  70 import javax.script.ScriptException;
  71 import javax.script.SimpleBindings;
  72 import javax.xml.stream.XMLInputFactory;
  73 import javax.xml.stream.XMLStreamConstants;
  74 import javax.xml.stream.XMLStreamException;
  75 import javax.xml.stream.XMLStreamReader;
  76 import javax.xml.stream.util.StreamReaderDelegate;
  77 
  78 import com.sun.javafx.beans.IDProperty;
  79 import com.sun.javafx.fxml.BeanAdapter;
  80 import com.sun.javafx.fxml.LoadListener;
  81 import com.sun.javafx.fxml.ParseTraceElement;
  82 import com.sun.javafx.fxml.PropertyNotFoundException;
  83 import com.sun.javafx.fxml.expression.Expression;
  84 import com.sun.javafx.fxml.expression.ExpressionValue;
  85 import com.sun.javafx.fxml.expression.KeyPath;
  86 import java.net.MalformedURLException;
  87 import java.security.AccessController;
  88 import java.security.AllPermission;
  89 import java.security.PrivilegedAction;
  90 import java.util.EnumMap;
  91 import java.util.Locale;
  92 import java.util.StringTokenizer;
  93 import sun.reflect.CallerSensitive;
  94 import sun.reflect.Reflection;
  95 import sun.reflect.misc.ConstructorUtil;
  96 import sun.reflect.misc.MethodUtil;
  97 import sun.reflect.misc.ReflectUtil;
  98 
  99 /**
 100  * Loads an object hierarchy from an XML document.
 101  * @since JavaFX 2.0
 102  */
 103 public class FXMLLoader {
 104 
 105     // Indicates permission to get the ClassLoader
 106     private static final RuntimePermission GET_CLASSLOADER_PERMISSION =
 107         new RuntimePermission("getClassLoader");
 108 


2359     public boolean impl_isStaticLoad() {
2360         // SB-dependency: RT-21226 has been filed to track this
2361         return staticLoad;
2362     }
2363 
2364     /**
2365      * Sets the static load flag.
2366      *
2367      * @param staticLoad
2368      *
2369      * @treatAsPrivate
2370      * @deprecated
2371      */
2372     public void impl_setStaticLoad(boolean staticLoad) {
2373         // SB-dependency: RT-21226 has been filed to track this
2374         this.staticLoad = staticLoad;
2375     }
2376 
2377     /**
2378      * Returns this loader's load listener.
2379      *
2380      * @treatAsPrivate
2381      * @deprecated
2382      */
2383     public LoadListener impl_getLoadListener() {
2384         // SB-dependency: RT-21228 has been filed to track this
2385         return loadListener;
2386     }
2387 
2388     /**
2389      * Sets this loader's load listener.
2390      *
2391      * @param loadListener
2392      *
2393      * @treatAsPrivate
2394      * @deprecated
2395      */
2396     public void impl_setLoadListener(LoadListener loadListener) {
2397         // SB-dependency: RT-21228 has been filed to track this
2398         this.loadListener = loadListener;
2399     }
2400 
2401     /**
2402      * Loads an object hierarchy from a FXML document. The location from which
2403      * the document will be loaded must have been set by a prior call to
2404      * {@link #setLocation(URL)}.
2405      *
2406      * @return
2407      * The loaded object hierarchy.
2408      * @since JavaFX 2.1
2409      */
2410     @CallerSensitive
2411     public <T> T load() throws IOException {
2412         return loadImpl((System.getSecurityManager() != null)
2413                             ? Reflection.getCallerClass()
2414                             : null);
2415     }
2416 




  60 import javafx.event.Event;
  61 import javafx.event.EventHandler;
  62 import javafx.util.Builder;
  63 import javafx.util.BuilderFactory;
  64 import javafx.util.Callback;
  65 
  66 import javax.script.Bindings;
  67 import javax.script.ScriptContext;
  68 import javax.script.ScriptEngine;
  69 import javax.script.ScriptEngineManager;
  70 import javax.script.ScriptException;
  71 import javax.script.SimpleBindings;
  72 import javax.xml.stream.XMLInputFactory;
  73 import javax.xml.stream.XMLStreamConstants;
  74 import javax.xml.stream.XMLStreamException;
  75 import javax.xml.stream.XMLStreamReader;
  76 import javax.xml.stream.util.StreamReaderDelegate;
  77 
  78 import com.sun.javafx.beans.IDProperty;
  79 import com.sun.javafx.fxml.BeanAdapter;

  80 import com.sun.javafx.fxml.ParseTraceElement;
  81 import com.sun.javafx.fxml.PropertyNotFoundException;
  82 import com.sun.javafx.fxml.expression.Expression;
  83 import com.sun.javafx.fxml.expression.ExpressionValue;
  84 import com.sun.javafx.fxml.expression.KeyPath;
  85 import java.net.MalformedURLException;
  86 import java.security.AccessController;

  87 import java.security.PrivilegedAction;
  88 import java.util.EnumMap;
  89 import java.util.Locale;
  90 import java.util.StringTokenizer;
  91 import sun.reflect.CallerSensitive;
  92 import sun.reflect.Reflection;
  93 import sun.reflect.misc.ConstructorUtil;
  94 import sun.reflect.misc.MethodUtil;
  95 import sun.reflect.misc.ReflectUtil;
  96 
  97 /**
  98  * Loads an object hierarchy from an XML document.
  99  * @since JavaFX 2.0
 100  */
 101 public class FXMLLoader {
 102 
 103     // Indicates permission to get the ClassLoader
 104     private static final RuntimePermission GET_CLASSLOADER_PERMISSION =
 105         new RuntimePermission("getClassLoader");
 106 


2357     public boolean impl_isStaticLoad() {
2358         // SB-dependency: RT-21226 has been filed to track this
2359         return staticLoad;
2360     }
2361 
2362     /**
2363      * Sets the static load flag.
2364      *
2365      * @param staticLoad
2366      *
2367      * @treatAsPrivate
2368      * @deprecated
2369      */
2370     public void impl_setStaticLoad(boolean staticLoad) {
2371         // SB-dependency: RT-21226 has been filed to track this
2372         this.staticLoad = staticLoad;
2373     }
2374 
2375     /**
2376      * Returns this loader's load listener.



2377      */
2378     public LoadListener getLoadListener() {
2379         // SB-dependency: RT-21228 has been filed to track this
2380         return loadListener;
2381     }
2382 
2383     /**
2384      * Sets this loader's load listener.
2385      *
2386      * @param loadListener



2387      */
2388     public final void setLoadListener(LoadListener loadListener) {
2389         // SB-dependency: RT-21228 has been filed to track this
2390         this.loadListener = loadListener;
2391     }
2392 
2393     /**
2394      * Loads an object hierarchy from a FXML document. The location from which
2395      * the document will be loaded must have been set by a prior call to
2396      * {@link #setLocation(URL)}.
2397      *
2398      * @return
2399      * The loaded object hierarchy.
2400      * @since JavaFX 2.1
2401      */
2402     @CallerSensitive
2403     public <T> T load() throws IOException {
2404         return loadImpl((System.getSecurityManager() != null)
2405                             ? Reflection.getCallerClass()
2406                             : null);
2407     }
2408