3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
11 package eu
.etaxonomy
.taxeditor
.navigation
;
13 import org
.apache
.log4j
.Logger
;
14 import org
.eclipse
.core
.commands
.operations
.IUndoContext
;
15 import org
.eclipse
.core
.commands
.operations
.UndoContext
;
16 import org
.eclipse
.core
.runtime
.IAdapterFactory
;
20 * <p>WorkbenchUndoContextAdapterFactory class.</p>
26 public class WorkbenchUndoContextAdapterFactory
implements IAdapterFactory
{
27 private static final Logger logger
= Logger
28 .getLogger(WorkbenchUndoContextAdapterFactory
.class);
29 private UndoContext defaultUndoContext
;
31 private static final Class
[] ADAPTER_LIST
= new Class
[] { IUndoContext
.class };
34 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
37 public Object
getAdapter(Object adaptableObject
, Class adapterType
) {
38 if (IUndoContext
.class.equals(adapterType
)) {
39 return NavigationUtil
.getWorkbenchUndoContext();
47 private Object
getDefaultUndoContext() {
48 if (defaultUndoContext
== null) {
49 defaultUndoContext
= new UndoContext();
51 return defaultUndoContext
;
55 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
58 * <p>getAdapterList</p>
60 * @return an array of {@link java.lang.Class} objects.
62 public Class
[] getAdapterList() {