Skip to content

Instantly share code, notes, and snippets.

@csmith
Created October 15, 2013 17:08
Show Gist options
  • Save csmith/6995009 to your computer and use it in GitHub Desktop.
Save csmith/6995009 to your computer and use it in GitHub Desktop.
Generated observable options
class Foo {
private String bar;
private int baz;
public void setBar(String bar) {...}
public String getBar();
public void setBaz(int baz) {...}
public int getBaz();
}
@Generated
class ObservableFoo extends Foo {
public void addBarListener(...) {...}
public void removeBarListener(...) {...}
public void addBazListener(...) {...}
public void removeBazListener(...) {...}
interface BarListener { void barChanged(String oldValue, newValue); }
interface BazListener { void bazChanged(int oldValue, newValue); }
}
@Generated
class ObservableFoo extends Foo {
public void addListener(...) {...}
public void removeListener(...) {...}
interface FooListener {
void barChanged(String oldValue, newValue);
void bazChanged(int oldValue, newValue);
}
}
interface ObservableListener<T> {
void memberChanged(T source, String memberName, Object oldValue, Object value);
}
@Generated
class ObservableFoo extends Foo {
// Makes strings a bit less icky
public static final String MEMBER_NAME_BAR = "bar";
public static final String MEMBER_NAME_BAZ = "bar";
public void addListener(ObservableListener<ObservableFoo> listener) {...}
public void removeListener(...) {...}
}
interface ObservableListener<T> {
<V> void memberChanged(T source, Observable<V> member, V oldValue, V value);
}
@Generated
class ObservableFoo extends Foo {
public static final Observable<String> MEMBER_BAR = ...;
public static final Observable<Integer> MEMBER_BAZ = ...;
public void addListener(ObservableListener<ObservableFoo> listener) {...}
public void removeListener(...) {...}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment