43
43
private JNLPFile jnlpFile;
45
45
/** list of jars, packages, properties, and extensions */
46
private List resources = new ArrayList(); // mixed list makes easier for lookup code
46
private List<Object> resources = new ArrayList<Object>();
47
// mixed list makes easier for lookup code
50
50
* Create a representation of one information section of the
66
66
* Returns the JVMs.
68
68
public JREDesc[] getJREs() {
69
List resources = getResources(JREDesc.class);
70
return (JREDesc[]) resources.toArray( new JREDesc[resources.size()] );
69
List<JREDesc> resources = getResources(JREDesc.class);
70
return resources.toArray( new JREDesc[resources.size()] );
92
92
* Returns all of the JARs.
94
94
public JARDesc[] getJARs() {
95
List resources = getResources(JARDesc.class);
96
return (JARDesc[]) resources.toArray( new JARDesc[resources.size()] );
95
List<JARDesc> resources = getResources(JARDesc.class);
96
return resources.toArray( new JARDesc[resources.size()] );
102
102
* @param partName the part name, null and "" equivalent
104
104
public JARDesc[] getJARs(String partName) {
105
List resources = getResources(JARDesc.class);
105
List<JARDesc> resources = getResources(JARDesc.class);
107
107
for (int i = resources.size(); i-- > 0;) {
108
JARDesc jar = (JARDesc) resources.get(i);
108
JARDesc jar = resources.get(i);
110
110
if (!(""+jar.getPart()).equals(""+partName))
111
111
resources.remove(i);
114
return (JARDesc[]) resources.toArray( new JARDesc[resources.size()] );
114
return resources.toArray( new JARDesc[resources.size()] );
118
118
* Returns the Extensions.
120
120
public ExtensionDesc[] getExtensions() {
121
List resources = getResources(ExtensionDesc.class);
122
return (ExtensionDesc[]) resources.toArray( new ExtensionDesc[resources.size()] );
121
List<ExtensionDesc> resources = getResources(ExtensionDesc.class);
122
return resources.toArray( new ExtensionDesc[resources.size()] );
126
126
* Returns the Packages.
128
128
public PackageDesc[] getPackages() {
129
List resources = getResources(PackageDesc.class);
130
return (PackageDesc[]) resources.toArray( new PackageDesc[resources.size()] );
129
List<PackageDesc> resources = getResources(PackageDesc.class);
130
return resources.toArray( new PackageDesc[resources.size()] );
137
137
* @return the PackageDesc objects matching the class name
139
139
public PackageDesc[] getPackages(String className) {
140
List resources = getResources(PackageDesc.class);
140
List<PackageDesc> resources = getResources(PackageDesc.class);
142
142
for (int i = resources.size(); i-- > 0;) {
143
PackageDesc pk = (PackageDesc) resources.get(i);
143
PackageDesc pk = resources.get(i);
145
145
if (!pk.matches(className))
146
146
resources.remove(i);
149
return (PackageDesc[]) resources.toArray( new PackageDesc[resources.size()] );
149
return resources.toArray( new PackageDesc[resources.size()] );
153
153
* Returns the Properties as a list.
155
155
public PropertyDesc[] getProperties() {
156
List resources = getResources(PropertyDesc.class);
157
return (PropertyDesc[]) resources.toArray( new PropertyDesc[resources.size()] );
156
List<PropertyDesc> resources = getResources(PropertyDesc.class);
157
return resources.toArray( new PropertyDesc[resources.size()] );
161
161
* Returns the properties as a map.
163
public Map getPropertiesMap() {
164
Properties properties = new Properties();
165
List resources = getResources(PropertyDesc.class);
163
public Map<String,String> getPropertiesMap() {
164
Map<String,String> properties = new HashMap<String,String>();
165
List<PropertyDesc> resources = getResources(PropertyDesc.class);
166
166
for (int i=0; i < resources.size(); i++) {
167
PropertyDesc prop = (PropertyDesc) resources.get(i);
167
PropertyDesc prop = resources.get(i);
168
168
properties.put( prop.getKey(), prop.getValue() );
206
206
* Returns all resources of the specified type.
208
public List getResources(Class type) {
209
List result = new ArrayList();
208
public <T> List<T> getResources(Class<T> type) {
209
List<T> result = new ArrayList<T>();
211
211
for (int i=0; i < resources.size(); i++)
212
212
if ( type.isAssignableFrom(resources.get(i).getClass()) )
213
result.add(resources.get(i));
213
result.add(type.cast(resources.get(i)));