Skip to content

Instantly share code, notes, and snippets.

@adtennant
Last active August 29, 2015 14:25
Show Gist options
  • Save adtennant/ce37dc7dc68978862fb3 to your computer and use it in GitHub Desktop.
Save adtennant/ce37dc7dc68978862fb3 to your computer and use it in GitHub Desktop.
public class InnerClassCounterPageController {
private Boolean showAlert;
public InnerClassCounterPageController() {
showAlert = false;
}
public Boolean getShowAlert() {
return showAlert;
}
public CounterComponentListener getComponentListener() {
return new InnerClassComponentListener(this);
}
private class InnerClassComponentListener implements CounterComponentListener {
private InnerClassCounterPageController controller;
public InnerClassComponentListener(InnerClassCounterPageController controller) {
this.controller = controller;
}
public void onChange(Integer newValue) {
controller.showAlert = (newValue > 2);
}
}
}
<apex:page controller="InnerClassCounterPageController">
<apex:pageMessage severity="warning" strength="3" summary="It's over 2!" rendered="{!ShowAlert}"/>
<c:CounterComponent componentListener="{!ComponentListener}"/>
</apex:page>
public class MultipleCounterPageController {
private class ComponentListener1 implements CounterComponentListener {
private Boolean overTwo;
public void onChange(Integer newValue) {
overTwo = (newValue &gt; 2);
}
}
private class ComponentListener2 implements CounterComponentListener {
private Boolean equalsOne;
public void onChange(Integer newValue) {
equalsOne = (newValue == 1);
}
}
private ComponentListener1 listener1;
private ComponentListener2 listener2;
public MultipleCounterPageController() {
listener1 = new ComponentListener1();
listener2 = new ComponentListener2();
}
public Boolean getShowAlert1() {
return listener1.overTwo;
}
public Boolean getShowAlert2() {
return listener2.equalsOne;
}
public CounterComponentListener getComponentListener1() {
return listener1;
}
public CounterComponentListener getComponentListener2() {
return listener2;
}
}
<apex:page controller="MultipleCounterPageController">
<apex:pageMessage severity="warning" strength="3" summary="It's over 2!" rendered="{!ShowAlert1}"/>
<c:CounterComponent componentListener="{!ComponentListener1}"/>
<apex:pageMessage severity="error" strength="3" summary="ONE!!!!" rendered="{!ShowAlert2}"/>
<c:CounterComponent componentListener="{!ComponentListener2}"/>
</apex:page>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment