/* * Copyright (c) 2012, 2015 Eike Stepper (Berlin, Germany) 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: * Eike Stepper - initial API and implementation */ package org.eclipse.emf.cdo.ui.internal.team.history; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EcoreFactory; import org.eclipse.core.runtime.IAdapterFactory; import org.eclipse.core.runtime.Platform; import org.eclipse.team.ui.history.IHistoryPageSource; /** * @author Eike Stepper */ public class CDOHistoryAdapterFactory implements IAdapterFactory { private static final Class<IHistoryPageSource> CLASS_IHISTORYPAGESOURCE = IHistoryPageSource.class; private static final Class<?>[] ADAPTER_TYPES = { CLASS_IHISTORYPAGESOURCE }; public CDOHistoryAdapterFactory() { } public Class<?>[] getAdapterList() { return ADAPTER_TYPES; } @SuppressWarnings("unchecked") public <T> T getAdapter(Object adaptableObject, Class<T> adapterType) { if (adapterType == CLASS_IHISTORYPAGESOURCE) { return (T)CDOHistoryPageSource.INSTANCE; } return null; } public static void load() { EObject dummy = EcoreFactory.eINSTANCE.createEObject(); Platform.getAdapterManager().loadAdapter(dummy, CLASS_IHISTORYPAGESOURCE.getName()); } }