| /* |
| * 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); |
| } |
| } |