KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > java > j2seplatform > platformdefinition > JavaPlatformProviderImpl


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.modules.java.j2seplatform.platformdefinition;
21
22 import java.beans.PropertyChangeListener JavaDoc;
23 import java.beans.PropertyChangeSupport JavaDoc;
24 import java.util.List JavaDoc;
25 import java.util.ArrayList JavaDoc;
26 import org.netbeans.api.java.platform.JavaPlatform;
27 import org.netbeans.modules.java.platform.JavaPlatformProvider;
28
29 /**
30  *
31  * @author tom
32  */

33 public class JavaPlatformProviderImpl implements JavaPlatformProvider {
34
35
36     private PropertyChangeSupport JavaDoc support;
37     private List JavaDoc platforms;
38     private JavaPlatform defaultPlatform;
39
40     /** Creates a new instance of JavaPlatformProviderImpl */
41     public JavaPlatformProviderImpl() {
42         this.support = new PropertyChangeSupport JavaDoc (this);
43         this.platforms = new ArrayList JavaDoc ();
44         this.addPlatform (this.createDefaultPlatform());
45     }
46     
47     public void addPropertyChangeListener(PropertyChangeListener JavaDoc listener) {
48         this.support.addPropertyChangeListener(listener);
49     }
50     
51     public void removePropertyChangeListener(PropertyChangeListener JavaDoc 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")); //NOI18N
70
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