blob: fd4f630b09515b67fb9097381c8275613d7cbc63 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2009 by SAP AG, Walldorf.
* 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 and implementation
*******************************************************************************/
package org.eclipse.jst.ws.jaxws.dom.integration.navigator;
import org.eclipse.core.runtime.IAdapterFactory;
import org.eclipse.emf.edit.ui.provider.PropertySource;
import org.eclipse.jst.ws.jaxws.dom.ui.IDOMPropertyValue;
import org.eclipse.ui.views.properties.IPropertySource;
/**
* Adapter factory for that creates adapter from {@link IDOMPropertyValue} to
* {@link IPropertySource} interface. This factory is registered in org.eclipse.core.runtime.adapters extension
* point and is called when object of type {@link IDOMPropertyValue} needs to be
* displayed or edited in property sheet.
*
* @author Georgi Vachkov
*/
@SuppressWarnings("unchecked")
public class DOMItemValuePropertySourceFactory implements IAdapterFactory
{
/*
* (non-Javadoc)
* @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
*/
public Object getAdapter(Object adaptableObject, Class adapterType)
{
assert adaptableObject instanceof IDOMPropertyValue;
final IDOMPropertyValue wrapper = (IDOMPropertyValue)adaptableObject;
return new PropertySource(wrapper.getEditableValue(), wrapper);
}
/*
* (non-Javadoc)
* @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
*/
public Class[] getAdapterList() {
return new Class[] {PropertySource.class};
}
}