Package com.ibm.commons.platform

Source Code of com.ibm.commons.platform.EclipsePlatformFactory

/*
* © Copyright IBM Corp. 2012-2013
*
* 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.ibm.commons.platform;

import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.core.runtime.IExtensionRegistry;

import com.ibm.commons.Platform;



/**
* Eclipse Platform Factory.
* @ibm-not-published
*/
public class EclipsePlatformFactory implements IPlatformFactory {
 
  public EclipsePlatformFactory() {
  }
 
  public Platform createPlatform() {
    // Look if someone implemented an extension point to retrive the platform
        IExtensionRegistry reg = org.eclipse.core.runtime.Platform.getExtensionRegistry();
        if (reg != null) {
            IConfigurationElement[] elt = reg.getConfigurationElementsFor("com.ibm.commons.PlatformFactory"); // $NON-NLS-1$
            for( int i=0; i<elt.length; i++ ) {
                if( "platformFactory".equalsIgnoreCase(elt[i].getName()) ) { // $NON-NLS-1$
                    try {
                        Object o = elt[i].createExecutableExtension("class"); // $NON-NLS-1$
                        IPlatformFactory factory = (IPlatformFactory)o;
                        return factory.createPlatform();
                    } catch(Throwable ex) {
                        ex.printStackTrace();
                    }
                }
            }
        }
   
    // Return the default Eclipse platform
    return new GenericEclipsePlatform();
  }
}
TOP

Related Classes of com.ibm.commons.platform.EclipsePlatformFactory

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.