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/Location.java
private Exif exif;
	public Location(Composite parent) {
		parent.setLayout(new FillLayout());
		parent.setData("org.eclipse.e4.ui.css.id", "location");
		browserParent = parent;
	}
	@In
	public void setInput(Exif input) {
		if (input == null || this.exif == input) {
			return;
		}
		this.exif = (Exif) input;
		
		
		if (exif == null || exif.getGpsLatitude() == null) {
			if (browser != null) {
				browser.dispose();
				browser = null;
			}
		} else {
			if (browser == null) {
				browser = new Browser(browserParent, SWT.NONE);
				browserParent.layout();
			}
			browser.setUrl("http://maps.google.com/maps?q="
					+ exif.getGpsLatitude() + "+" + exif.getGpsLongitude());
		}
	}
}