/******************************************************************************* * <copyright> * * Copyright (c) 2005, 2012 SAP AG. * 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: * SAP AG - initial API, implementation and documentation * mwenz - Bug 364126 - Make GaServiceImpl extensible * * </copyright> * *******************************************************************************/ package org.eclipse.graphiti.services; import org.eclipse.graphiti.internal.services.impl.CreateServiceImpl; import org.eclipse.graphiti.internal.services.impl.LayoutServiceImpl; import org.eclipse.graphiti.internal.services.impl.LinkServiceImpl; import org.eclipse.graphiti.internal.services.impl.MigrationServiceImpl; import org.eclipse.graphiti.internal.services.impl.PeServiceImpl; import org.eclipse.graphiti.services.impl.GaServiceImpl; /** * This class is the main access point to all public Graphiti services. These * services can be used to work on your pictogram model. E.g. there are services * for creation, layout and query. * * @noinstantiate This class is not intended to be instantiated by clients. * @noextend This class is not intended to be subclassed by clients. */ public class Graphiti { private static IGaService gaService; private static IPeService peService; private static ILayoutService layoutService; private static ICreateService createService; private static ILinkService linkService; private static IMigrationService migService; /** * * @return the creation service for GraphicsAlgoritm's */ public static IGaCreateService getGaCreateService() { return getGaService(); } /** * * @return the layout service for GraphicsAlgoritm's */ public static IGaLayoutService getGaLayoutService() { return getGaService(); } /** * * @return the full service for GraphicsAlgoritm's */ public static IGaService getGaService() { if (gaService == null) { gaService = new GaServiceImpl(); } return gaService; } /** * * @return the creation service for PictogramElement's */ public static IPeCreateService getPeCreateService() { return getPeService(); } /** * * @return the layout services for PictogramElement's */ public static IPeLayoutService getPeLayoutService() { return getPeService(); } /** * * @return the full service for PictogramElement's */ public static IPeService getPeService() { if (peService == null) { peService = new PeServiceImpl(); } return peService; } /** * * @return the layout service for PictogramElement's and GraphicsAlgorithm's */ public static ILayoutService getLayoutService() { if (layoutService == null) { layoutService = new LayoutServiceImpl(); } return layoutService; } /** * * @return the creation service for PictogramElement's and * GraphicsAlgorithm's */ public static ICreateService getCreateService() { if (createService == null) { createService = new CreateServiceImpl(); } return createService; } /** * * @return the link service (for links between PictogramElement's and * BusinessObject's) */ public static ILinkService getLinkService() { if (linkService == null) { linkService = new LinkServiceImpl(); } return linkService; } /** * * @return the migration service * * @since 0.8.0 */ public static IMigrationService getMigrationService() { if (migService == null) { migService = new MigrationServiceImpl(); } return migService; } }