blob: cee670c0b68c5e876ab394a96b2b741ece471755 [file] [log] [blame]
/*
* Copyright (C) 2012 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.motorola.studio.android.emulator.device.instance;
import java.util.Properties;
import org.eclipse.core.runtime.IPath;
import org.eclipse.sequoyah.device.framework.model.IInstanceBuilder;
/**
* DESCRIPTION:
* <br>
* This class represents a TmL IInstanceBuilder for Android Emulator Instances.
* <br>
* It is only necessary because TmL's AbstractNewEmulatorInstanceWizard could not be used
* for Android Emulator Device Instance New Wizard implementation, so an IInstanceBuilder
* became necessary for our Wizard implementation.
* <br>
* This class should be removed if TmL's Wizard begins to be used since this implementation
* is very similar to TmL DefaultInstanceBuilder implementation and Tml's Wizard would use
* it instead.
* <br>
* RESPONSIBILITY:
* <br>
* - Hold necessary information about a Android Emulator Device Instance for it to be
* created.
* <br>
* COLABORATORS:
* <br>
* IInstanceBuilder: implements this interface
* <br>
* USAGE:
* <br>
* The AndroidNewWizard uses this class to hold information for creating a Android Emulator Device
* Instance and passes it on to TmL's InstanceManager to carry on the creation.
*/
public class AndroidDevInstBuilder implements IInstanceBuilder
{
private final Properties properties;
private final String name;
/**
* Creates a new Instance Builder with the given information.
*
* @param instanceName the name of the instance to be created using this builder
* @param properties the properties of the instance to be created using this builder
*/
public AndroidDevInstBuilder(String instanceName, Properties properties)
{
this.properties = properties;
this.name = instanceName;
}
/**
* Always returns <code>null</code> since this information does
* not make sense for Android Emulator Instances.
*/
public IPath getLocationPath()
{
return null;
}
/**
* Retrieves the name of the instance to be created using this builder
*
* @return the name of the instance to be created using this builder
*/
public String getProjectName()
{
return name;
}
/**
* Retrieves the properties of the instance to be created using this builder
*
* @return the properties of the instance to be created using this builder
*/
public Properties getProperties()
{
return properties;
}
/**
* Retrieves the value of the give property key.
*
* @param key the key of the property
*
* @return the value for the property for the instance to be created using this builder
*/
public String getProperty(String key)
{
return properties.getProperty(key);
}
}