/******************************************************************************* * Copyright (c) 2001, 2005 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.jst.j2ee.common.internal.impl; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.jst.j2ee.application.internal.impl.ApplicationResourceFactory; import org.eclipse.jst.j2ee.client.internal.impl.ApplicationClientResourceFactory; import org.eclipse.jst.j2ee.ejb.internal.impl.EJBJarResourceFactory; import org.eclipse.jst.j2ee.internal.common.J2EEXMIResourceFactory; import org.eclipse.jst.j2ee.jca.internal.impl.ConnectorResourceFactory; import org.eclipse.jst.j2ee.webapplication.internal.impl.WebAppResourceFactory; import org.eclipse.jst.j2ee.webservice.internal.wsdd.WsddResourceFactory; import org.eclipse.jst.j2ee.webservice.wsclient.internal.impl.WebServicesClientResourceFactory; import org.eclipse.wst.common.internal.emf.resource.FileNameResourceFactoryRegistry; public class J2EEResourceFactoryRegistry extends FileNameResourceFactoryRegistry { public static J2EEResourceFactoryRegistry INSTANCE = new J2EEResourceFactoryRegistry(); static { EJBJarResourceFactory.register(); WebAppResourceFactory.register(); ApplicationClientResourceFactory.register(); ApplicationResourceFactory.register(); ConnectorResourceFactory.register(); WebServicesClientResourceFactory.register(); WsddResourceFactory.register(); //register() is not called on the JaxrpcmapResourceFactory because //the jaxprc-mapping descriptor does not have a standard short name. //The short names have to be registered once they are known. J2EEXMIResourceFactory.register(); } public J2EEResourceFactoryRegistry() { super(); } @Override public Resource.Factory delegatedGetFactory(URI uri) { if (J2EEResourceFactoryRegistry.INSTANCE == this) return super.delegatedGetFactory(uri); return J2EEResourceFactoryRegistry.INSTANCE.getFactory(uri); } }