/*******************************************************************************
* Copyright (c) 2008 Hallvard Traetteberg.
* 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:
* Hallvard Traetteberg - initial API and implementation
******************************************************************************/
package org.eclipse.e4.tm.builder;
import org.eclipse.emf.ecore.EObject;
public interface IBinderContext {
public <T> T adapt(Object value, Class<T> c);
public <T> T convert(String source, Class<T> c) throws Exception;
public Object update(EObject eObject);
public void dispose(EObject eObject);
public void updateStyle(EObject eObject);
public Object getFieldProperty(Object object, String name);
public Object getGetterProperty(Object object, String name);
public Exception setFieldProperty(Object object, String name, Object value);
public Exception setSetterProperty(Object object, String name, Object value);
public Object getMethodProperty(Object object, String methodSpec, Object[] args);
public Exception setMethodProperty(Object object, String methodSpec, Object[] args);
public void setProperty(Object object, String name, Object value) throws Exception;
public <T> T getRootObject(Class<T> c);
public <T> T getObject(EObject eObject, Class<T> c);
public void putObject(EObject eObject, Object object);
public EObject getEObject(Object object);
public void invalidateFeature(EObject eObject, String featureName);
public void fireObjectHandled(int id, EObject eObject, Object object);
}