EOS 2  1.1.0
Einfache Objektbasierte Sprache
ObjectFactory.java
gehe zur Dokumentation dieser Datei
1 package de.lathanda.eos.config;
2 
3 import java.awt.Color;
4 import java.lang.reflect.Modifier;
5 
6 import de.lathanda.eos.base.Alignment;
7 import de.lathanda.eos.base.FillStyle;
8 import de.lathanda.eos.base.LineStyle;
9 import de.lathanda.eos.vm.ObjectSource;
10 
11 public class ObjectFactory {
12  public ObjectSource getObjectSource(LangClass lc) throws ClassNotFoundException {
13  switch (lc.id) {
14  case "alignment":
15  return () -> {
16  return Alignment.CENTER;
17  };
18  case "boolean":
19  return () -> {
20  return false;
21  };
22  case "color":
23  return () -> {
24  return Color.BLACK;
25  };
26  case "real":
27  return () -> {
28  return 0d;
29  };
30 
31  case "fillstyle":
32  return () -> {
33  return FillStyle.FILLED;
34  };
35  case "integer":
36  return () -> {
37  return 0;
38  };
39  case "linestyle":
40  return () -> {
41  return LineStyle.SOLID;
42  };
43  default:
44  Class<?> cls = Class.forName(lc.javaclass);
45  if (Modifier.isAbstract(cls.getModifiers())) {
46  return null;
47  } else {
48  return new DefaultObjectSource(lc.javaclass);
49  }
50  }
51  }
52 }
ObjectSource getObjectSource(LangClass lc)
Impressum