Skip to content

Commit 6cf09de

Browse files
committed
added methods for get all all elements of a specific type
1 parent cea64dc commit 6cf09de

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

src/ru/contentforge/formconstructor/form/response/CustomFormResponse.java

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
import java.util.ArrayList;
88
import java.util.HashSet;
9+
import java.util.List;
910

1011
public class CustomFormResponse extends Response<CustomFormHandler> {
1112

@@ -38,6 +39,14 @@ public <T extends CustomFormElement> T get(String elementId, Class<T> clazz){
3839
return clazz.cast(get(elementId));
3940
}
4041

42+
public <T extends CustomFormElement> List<T> get(Class<T> clazz){
43+
ArrayList<T> list = new ArrayList<>();
44+
for(CustomFormElement element: elements){
45+
if(clazz.isInstance(element)) list.add(clazz.cast(element));
46+
}
47+
return list;
48+
}
49+
4150
public Label getLabel(int index){
4251
return (Label) elements.get(index);
4352
}
@@ -46,6 +55,10 @@ public Label getLabel(String elementId){
4655
return get(elementId, Label.class);
4756
}
4857

58+
public List<Label> getLabels(){
59+
return get(Label.class);
60+
}
61+
4962
public Input getInput(int index){
5063
return (Input) elements.get(index);
5164
}
@@ -54,6 +67,10 @@ public Input getInput(String elementId){
5467
return get(elementId, Input.class);
5568
}
5669

70+
public List<Input> getInputs(){
71+
return get(Input.class);
72+
}
73+
5774
public Toggle getToggle(int index){
5875
return (Toggle) elements.get(index);
5976
}
@@ -62,6 +79,10 @@ public Toggle getToggle(String elementId){
6279
return get(elementId, Toggle.class);
6380
}
6481

82+
public List<Toggle> getToggles(){
83+
return get(Toggle.class);
84+
}
85+
6586
public StepSlider getStepSlider(int index){
6687
return (StepSlider) elements.get(index);
6788
}
@@ -70,6 +91,10 @@ public StepSlider getStepSlider(String elementId){
7091
return get(elementId, StepSlider.class);
7192
}
7293

94+
public List<StepSlider> getStepSliders(){
95+
return get(StepSlider.class);
96+
}
97+
7398
public Dropdown getDropdown(int index){
7499
return (Dropdown) elements.get(index);
75100
}
@@ -78,6 +103,10 @@ public Dropdown getDropdown(String elementId){
78103
return get(elementId, Dropdown.class);
79104
}
80105

106+
public List<Dropdown> getDropdowns(){
107+
return get(Dropdown.class);
108+
}
109+
81110
@Override
82111
public void handle(Player player) {
83112
if(handler == null) return;

0 commit comments

Comments
 (0)