/[classpath]/classpath/java/awt/datatransfer/SystemFlavorMap.java
ViewVC logotype

Diff of /classpath/java/awt/datatransfer/SystemFlavorMap.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.4.2.3 by tromey, Thu Oct 6 00:59:30 2005 UTC revision 1.4.2.4 by gnu_andrew, Sun Nov 27 21:00:36 2005 UTC
# Line 41  package java.awt.datatransfer; Line 41  package java.awt.datatransfer;
41  import java.util.HashMap;  import java.util.HashMap;
42  import java.util.List;  import java.util.List;
43  import java.util.Map;  import java.util.Map;
44    import java.util.WeakHashMap;
45    
46  /**  /**
47    * This class maps between native platform type names and DataFlavors.    * This class maps between native platform type names and DataFlavors.
# Line 54  import java.util.Map; Line 55  import java.util.Map;
55  public final class SystemFlavorMap implements FlavorMap, FlavorTable  public final class SystemFlavorMap implements FlavorMap, FlavorTable
56  {  {
57    /**    /**
58     * The default (instance) flavor map.     * The map which maps the thread's <code>ClassLoaders</code> to
59       * <code>SystemFlavorMaps</code>.
60     */     */
61    private static FlavorMap defaultFlavorMap;    private static final Map systemFlavorMaps = new WeakHashMap();
62    
63    /**    /**
64     * Private constructor.     * Private constructor.
# Line 98  public final class SystemFlavorMap imple Line 100  public final class SystemFlavorMap imple
100    }    }
101    
102    /**    /**
103     * Returns the default (instance) (System)FlavorMap.     * Returns the (System)FlavorMap for the current thread's
104       * ClassLoader.
105     */     */
106    public static FlavorMap getDefaultFlavorMap ()    public static FlavorMap getDefaultFlavorMap ()
107    {    {
108      if (defaultFlavorMap == null)      ClassLoader classLoader = Thread.currentThread()
109        defaultFlavorMap = new SystemFlavorMap ();          .getContextClassLoader();
110        
111      return defaultFlavorMap;      //if ContextClassLoader not set, use system default
112        if(classLoader == null)
113          {
114            classLoader = ClassLoader.getSystemClassLoader();
115          }
116        
117        synchronized(systemFlavorMaps)
118          {
119            FlavorMap map = (FlavorMap)
120                systemFlavorMaps.get(classLoader);
121            if(map == null)
122              {
123                map = new SystemFlavorMap();
124                systemFlavorMaps.put(classLoader, map);
125              }
126            return map;
127          }
128    }    }
129    
130    /**    /**

Legend:
Removed from v.1.4.2.3  
changed lines
  Added in v.1.4.2.4

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26