blob: 25a063f56a522f601b1724923bb52cfd259cb751 [file] [log] [blame]
/**
* Copyright (c) 2011, 2019 Mia-Software and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v2.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v20.html
*
* Contributors:
* Emmanuelle Rouillé (Mia-Software) - Bug 352618 - To be able to use non derived facet structural features and save them values.
* Nicolas Bros (Mia-Software) - Bug 361612 - New core for new version of the Facet metamodel
* Gregoire Dupe (Mia-Software) - Bug 361794 - [Restructuring] New customization meta-model
* Gregoire Dupe (Mia-Software) - Bug 373078 - API Cleaning
* Thomas Cicognani (Soft-Maint) - Bug 416223 - IFacetManagerFactory.getOrCreateFacetManager should not create an instance per call
* Thomas Cicognani (Soft-Maint) - Bug 463658 - Impossibility to just create a FacetManager
*/
package org.eclipse.modisco.facet.efacet.core.internal;
import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.modisco.facet.efacet.core.IFacetManager;
import org.eclipse.modisco.facet.efacet.core.IFacetManagerFactory;
public class FacetManagerFactory implements IFacetManagerFactory {
/**
* @deprecated Use
* {@link #getOrCreateDefaultFacetManagerWithSerializationResource(Resource)}
* instead. The new method name is more understandable
*/
@Deprecated
public IFacetManager getOrCreateFacetManager(final Resource resource) {
return getOrCreateDefaultFacetManagerWithSerializationResource(resource);
}
/**
* @deprecated Use {@link #getOrCreateDefaultFacetManager(ResourceSet)}
* instead. The new method name is more understandable
*/
@Deprecated
public IFacetManager getOrCreateFacetManager(final ResourceSet resourceSet) {
return getOrCreateDefaultFacetManager(resourceSet);
}
public IFacetManager getOrCreateDefaultFacetManagerWithSerializationResource(
final Resource resource) {
FacetManager result = null;
for (Adapter adapter : resource.eAdapters()) {
if (adapter instanceof FacetManager) {
result = (FacetManager) adapter;
}
}
if (result == null) {
result = new FacetManager(resource);
resource.eAdapters().add(result);
}
return result;
}
public IFacetManager getOrCreateDefaultFacetManager(
final ResourceSet resourceSet) {
FacetManager result = null;
for (Adapter adapter : resourceSet.eAdapters()) {
if (adapter instanceof FacetManager) {
result = (FacetManager) adapter;
}
}
if (result == null) {
result = new FacetManager(resourceSet);
resourceSet.eAdapters().add(result);
}
return result;
}
public IFacetManager createFacetManagerWithSerializationResource(
final Resource resource) {
return new FacetManager(resource);
}
public IFacetManager createFacetManager(final ResourceSet resourceSet) {
return new FacetManager(resourceSet);
}
}