1 19 20 package org.netbeans.modules.java.j2seplatform.platformdefinition; 21 22 import java.beans.PropertyChangeListener ; 23 import java.beans.PropertyChangeSupport ; 24 import java.util.List ; 25 import java.util.ArrayList ; 26 import org.netbeans.api.java.platform.JavaPlatform; 27 import org.netbeans.modules.java.platform.JavaPlatformProvider; 28 29 33 public class JavaPlatformProviderImpl implements JavaPlatformProvider { 34 35 36 private PropertyChangeSupport support; 37 private List platforms; 38 private JavaPlatform defaultPlatform; 39 40 41 public JavaPlatformProviderImpl() { 42 this.support = new PropertyChangeSupport (this); 43 this.platforms = new ArrayList (); 44 this.addPlatform (this.createDefaultPlatform()); 45 } 46 47 public void addPropertyChangeListener(PropertyChangeListener listener) { 48 this.support.addPropertyChangeListener(listener); 49 } 50 51 public void removePropertyChangeListener(PropertyChangeListener listener) { 52 this.support.removePropertyChangeListener (listener); 53 } 54 55 public void addPlatform (JavaPlatform platform) { 56 this.platforms.add (platform); 57 } 58 59 public void removePlatform (JavaPlatform platform) { 60 this.platforms.add (platform); 61 } 62 63 public JavaPlatform[] getInstalledPlatforms() { 64 return (JavaPlatform[]) this.platforms.toArray(new JavaPlatform[this.platforms.size()]); 65 } 66 67 private synchronized JavaPlatform createDefaultPlatform () { 68 if (this.defaultPlatform == null) { 69 System.getProperties().put("jdk.home",System.getProperty("java.home")); this.defaultPlatform = DefaultPlatformImpl.create (null,null,null); 71 } 72 return defaultPlatform; 73 } 74 75 public JavaPlatform getDefaultPlatform() { 76 return createDefaultPlatform (); 77 } 78 79 80 } 81 | Popular Tags |