package de.ralfebert.rcputils.wired;
import org.eclipse.riena.core.wire.Wire;
import org.eclipse.riena.core.wire.WirePuller;
import org.eclipse.ui.IViewSite;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.part.ViewPart;
import org.osgi.framework.Bundle;
import org.osgi.framework.FrameworkUtil;
public abstract class WiredViewPart extends ViewPart {
private WirePuller wire;
@Override
public void init(IViewSite site) throws PartInitException {
super.init(site);
Bundle bundle = FrameworkUtil.getBundle(this.getClass());
if (bundle != null) {
wire = Wire.instance(this).andStart(bundle.getBundleContext());
}
}
@Override
public void dispose() {
super.dispose();
if (wire != null) {
wire.stop();
wire = null;
}
}
}