Skip to content

Commit 58791e9

Browse files
committed
make the check throw its exception
1 parent c3b6946 commit 58791e9

File tree

1 file changed

+26
-11
lines changed

1 file changed

+26
-11
lines changed

src/main/java/com/neuronrobotics/sdk/addons/kinematics/IVitaminHolder.java

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,32 +3,47 @@
33
import java.util.ArrayList;
44

55
public interface IVitaminHolder {
6-
ArrayList<VitaminLocation> getVitamins() ;
6+
ArrayList<VitaminLocation> getVitamins();
7+
78
default void addVitamin(VitaminLocation location) {
8-
for(VitaminLocation v:getVitamins()) {
9-
if(v.getName().contentEquals(location.getName())) {
10-
new RuntimeException("Vitamin Name "+v.getName()+"already exists");
9+
if(hasVitamin(location))
10+
throw new RuntimeException("Vitamin Name "+location.getName()+"already exists");
11+
addVitaminInternal( location);
12+
}
13+
14+
default boolean hasVitamin(VitaminLocation location) {
15+
for (VitaminLocation v : getVitamins()) {
16+
String name = v.getName();
17+
String name2 = location.getName();
18+
if (name.contentEquals(name2)) {
19+
return true;
1120
}
1221
}
13-
addVitaminInternal( location);
22+
return false;
1423
}
24+
1525
void addVitaminInternal(VitaminLocation location);
26+
1627
void removeVitamin(VitaminLocation loc);
17-
default ArrayList<VitaminLocation> getVitamins(VitaminFrame frame){
28+
29+
default ArrayList<VitaminLocation> getVitamins(VitaminFrame frame) {
1830
ArrayList<VitaminLocation> copy = new ArrayList<>();
19-
for(VitaminLocation v:getVitamins()) {
20-
if(v.getFrame()==frame)
31+
for (VitaminLocation v : getVitamins()) {
32+
if (v.getFrame() == frame)
2133
copy.add(v);
2234
}
2335
return copy;
2436
}
25-
default ArrayList<VitaminLocation> getOriginVitamins(){
37+
38+
default ArrayList<VitaminLocation> getOriginVitamins() {
2639
return getVitamins(VitaminFrame.LinkOrigin);
2740
}
28-
default ArrayList<VitaminLocation> getDefaultVitamins(){
41+
42+
default ArrayList<VitaminLocation> getDefaultVitamins() {
2943
return getVitamins(VitaminFrame.DefaultFrame);
3044
}
31-
default ArrayList<VitaminLocation> getPreviousLinkVitamins(){
45+
46+
default ArrayList<VitaminLocation> getPreviousLinkVitamins() {
3247
return getVitamins(VitaminFrame.previousLinkTip);
3348
}
3449
}

0 commit comments

Comments
 (0)