Fiddle with databinding snippets

Change-Id: I2df57936d3f245129ff54f0e4e5780e183b10191
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet007ColorLabelProvider.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet007ColorLabelProvider.java
index a5a8ada..194acf0 100644
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet007ColorLabelProvider.java
+++ b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet007ColorLabelProvider.java
@@ -195,8 +195,7 @@
 			if (index == 0) {
 				return null;
 			}
-			Person person = (Person) element;
-			return person.getGender() == Gender.MALE ? maleColor : femaleColor;
+			return ((Person) element).getGender() == Gender.MALE ? maleColor : femaleColor;
 		}
 
 		@Override
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet018CheckboxTableViewerCheckedSelection.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet018CheckboxTableViewerCheckedSelection.java
index 0634ab2..dbf27ad 100644
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet018CheckboxTableViewerCheckedSelection.java
+++ b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet018CheckboxTableViewerCheckedSelection.java
@@ -86,15 +86,14 @@
 		Person wendy = createPerson("Wendy");
 		Person butters = createPerson("Butters");
 
-		setFriends(stan, new Person[] { kyle, eric, kenny, wendy });
-		setFriends(kyle, new Person[] { stan, eric, kenny });
-		setFriends(eric, new Person[] { eric });
-		setFriends(kenny, new Person[] { stan, kyle, eric });
-		setFriends(wendy, new Person[] { stan });
-		setFriends(butters, new Person[0]);
+		stan.setFriends(kyle, eric, kenny, wendy);
+		kyle.setFriends(stan, eric, kenny);
+		eric.setFriends(eric);
+		kenny.setFriends(stan, kyle, eric);
+		wendy.setFriends(stan);
+		butters.setFriends();
 
-		Person[] people = new Person[] { stan, kyle, eric, kenny, wendy, butters };
-		viewModel.setPeople(Arrays.asList(people));
+		viewModel.setPeople(Arrays.asList(stan, kyle, eric, kenny, wendy, butters));
 		return viewModel;
 	}
 
@@ -104,10 +103,6 @@
 		return person;
 	}
 
-	private static void setFriends(Person person, Person[] friends) {
-		person.setFriends(new HashSet<>(Arrays.asList(friends)));
-	}
-
 	/** Helper class for implementing JavaBeans support. */
 	public static abstract class AbstractModelObject {
 		private PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(this);
@@ -155,6 +150,10 @@
 			return new HashSet<>(friends);
 		}
 
+		public void setFriends(Person... friends) {
+			setFriends(new HashSet<>(Arrays.asList(friends)));
+		}
+
 		public void setFriends(Set<Person> friends) {
 			firePropertyChange("friends", this.friends, this.friends = new HashSet<>(friends));
 		}
@@ -163,6 +162,7 @@
 		public String toString() {
 			return name;
 		}
+
 	}
 
 	/**
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet034ComboViewerAndEnum.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet034ComboViewerAndEnum.java
index 57f5c4a..0248f30 100644
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet034ComboViewerAndEnum.java
+++ b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet034ComboViewerAndEnum.java
@@ -18,7 +18,6 @@
 import org.eclipse.core.databinding.DataBindingContext;
 import org.eclipse.core.databinding.beans.typed.PojoProperties;
 import org.eclipse.core.databinding.observable.Realm;
-import org.eclipse.core.databinding.observable.value.IObservableValue;
 import org.eclipse.jface.databinding.swt.DisplayRealm;
 import org.eclipse.jface.databinding.swt.typed.WidgetProperties;
 import org.eclipse.jface.databinding.viewers.typed.ViewerProperties;
@@ -34,7 +33,7 @@
 
 	public static void main(String[] args) {
 		final Display display = new Display();
-		final Person model = new Person("Pat", Gender.Unknown);
+		final Person model = new Person("Pat", Gender.UNKNOWN);
 
 		Realm.runWithDefault(DisplayRealm.getRealm(display), () -> {
 			Shell shell = new View(model).createShell();
@@ -51,7 +50,18 @@
 	}
 
 	enum Gender {
-		Male, Female, Unknown;
+		MALE("Male"), FEMALE("Female"), UNKNOWN("Unknown"), OTHER("Other");
+
+		private String displayName;
+
+		private Gender(String displayName) {
+			this.displayName = displayName;
+		}
+
+		@Override
+		public String toString() {
+			return displayName;
+		}
 	}
 
 	/**
@@ -120,13 +130,13 @@
 			// Bind the fields
 			DataBindingContext bindingContext = new DataBindingContext();
 
-			IObservableValue<String> nameObservable = WidgetProperties.text(SWT.Modify).observe(name);
-			bindingContext.bindValue(nameObservable, PojoProperties.value(Person.class, "name").observe(viewModel));
+			bindingContext.bindValue(WidgetProperties.text(SWT.Modify).observe(name),
+					PojoProperties.value(Person.class, "name").observe(viewModel));
 
 			// The second key to binding a combo to an Enum is to use a
 			// selection observable from the ComboViewer:
-			IObservableValue<Gender> genderObservable = ViewerProperties.singleSelection(Gender.class).observe(gender);
-			bindingContext.bindValue(genderObservable, PojoProperties.value(Person.class, "gender").observe(viewModel));
+			bindingContext.bindValue(ViewerProperties.singleSelection(Gender.class).observe(gender),
+					PojoProperties.value(Person.class, "gender").observe(viewModel));
 
 			shell.pack();
 			shell.open();