Bug 271823 Define common injection annotations
We currently have three copies of the various annotations for injection (@Inject, @In, @Out, etc). We should have a single set of annotations in a common place rather than copying them everywhere. This is inhibiting wider use of annotations within the e4 workbench because currently each bundle needs to redefine them. I propose creating a new bundle org.eclipse.e4.core.services.annotations that contains these common annotations (and possibly others in the future).
examples/org.eclipse.e4.demo.e4photo/src/org/eclipse/e4/demo/e4photo/ExifTable.java
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.e4.core.services.JSONObject;
import org.eclipse.e4.core.services.Logger;
import org.eclipse.e4.demo.e4photo.annotations.In;
import org.eclipse.e4.demo.e4photo.annotations.Out;
import org.eclipse.e4.demo.e4photo.annotations.PostConstruct;
import org.eclipse.jface.databinding.viewers.ObservableListContentProvider;
import org.eclipse.jface.databinding.viewers.ObservableMapLabelProvider;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.TableViewerColumn;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ControlAdapter;
import org.eclipse.swt.events.ControlEvent;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.TableColumn;
public class ExifTable {
	private PropertyChangeSupport changeSupport = new PropertyChangeSupport(this);
	private WritableList inputList = new WritableList();
	private IContainer input;
	private Exif selection;
	private String persistedState;
	@In
	private Composite parent;
	@In
	private Logger logger;