BowlerKernel
LinkType.java
Go to the documentation of this file.
1 package com.neuronrobotics.sdk.addons.kinematics;
2 
3 import java.util.ArrayList;
4 import java.util.HashMap;
5 import java.util.Map;
6 import java.util.NoSuchElementException;
7 
8 // TODO: Auto-generated Javadoc
12 public enum LinkType {
13 
14 
15 
16 
17 
19  PID("pid"),
20 
22  PID_TOOL("pid-tool"),
23 
25  PID_PRISMATIC("pid-prismatic"),
26 
28  ANALOG_ROTORY("analog-rotory"),
29 
31  ANALOG_PRISMATIC("analog-prismatic"),
32 
34  DUMMY("dummy"),
35 
37  VIRTUAL("virtual"),
38 
39 
41  GCODE_STEPPER_ROTORY("gcode-stepper-rotory"),
43  GCODE_STEPPER_TOOL("gcode-stepper-tool"),
45  GCODE_STEPPER_PRISMATIC("gcode-stepper-prismatic"),
47  GCODE_HEATER_TOOL("gcode-heater-tool"),
48 
50  CAMERA("camera"),
52  USERDEFINED(null);
53 
55  private final String name;
56 
58  private static final Map<String, LinkType> map =
59  new HashMap<String, LinkType>();
60 
61  static {
62  for (LinkType type : LinkType.values()) {
63  map.put(type.name, type);
64  }
65  }
66 
67  public static ArrayList<String> getUserDefined(){
68  ArrayList<String> back = new ArrayList<String>();
69  for(String s:map.keySet()) {
70  if(map.get(s)==USERDEFINED) {
71  back.add(s);
72  }
73  }
74  return back;
75 
76  }
81  public static void addType(String type){
82  map.put(type, USERDEFINED);
83  }
84 
90  private LinkType(String name) {
91  this.name = name;
92  }
93 
99  public String getName() {
100  return name;
101  }
102 
109  public static LinkType fromString(String name) {
110  if (!map.containsKey(name)) {
111  map.put(name, USERDEFINED);
112  }
113  return map.get(name);
114  }
115 
116 
117 
118 
119  /* (non-Javadoc)
120  * @see java.lang.Enum#toString()
121  */
122  @Override
123  public String toString(){
124  return name;
125  }
126 }
static ArrayList< String > getUserDefined()
Definition: LinkType.java:67