Ik ben op dit moment bezig met het schrijven van een Plugin voor Bukkit. Daarbij wil ik data opslaan in een Object. Ik heb nu een class aangemaakt met verschillende Strings en andere Variables. Die class wil ik als Object in een YML file opslaan.
Ik heb al mijn class Serializable gemaakt en het bestaat uit een Paar strings, List en int's.
Dit is 1 van de dingen die ik op wil slaan in een Yalm bestand. Ik wil Owners, Transmitters en Receivers krijgen als een valid Yalm file. De Transmitter en Receiver class hebben ook weer waardes die moeten worden weergeven als Yalm. Ik dacht dat Serializable juist voor jou ging regelen. Maar ik krijg de error:
http://code.google.com/p/snakeyaml/wiki/howto
Maar dat snap ik niet echt. En ik ben niet bekend met NetBeans
Ik heb al mijn class Serializable gemaakt en het bestaat uit een Paar strings, List en int's.
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
| public class WirelessChannel implements Serializable { /** * */ private static final long serialVersionUID = -3322590857684087871L; String Name; List<String> Owners; List<WirelessTransmitter> Transmitters; List<WirelessReceiver> Receivers; public WirelessChannel(String Cname, List<String> owners, List<WirelessTransmitter> transmitters, List<WirelessReceiver> receivers) { this.Name = Cname; this.Owners = owners; this.Transmitters = transmitters; this.Receivers = receivers; this.Owners = owners; } public WirelessChannel(String Cname, String owner) { this.Name = Cname; this.Owners = new ArrayList<String>(); this.Owners.add(owner); } public void AddTransmitter(WirelessTransmitter transmitter) { if (Transmitters == null) Transmitters = new ArrayList<WirelessTransmitter>(); Transmitters.add(transmitter); } public void AddReceiver(WirelessReceiver receiver) { if(Receivers == null) Receivers = new ArrayList<WirelessReceiver>(); Receivers.add(receiver); } public void AddOwner(String username) { this.Owners.add(username); } } |
Dit is 1 van de dingen die ik op wil slaan in een Yalm bestand. Ik wil Owners, Transmitters en Receivers krijgen als een valid Yalm file. De Transmitter en Receiver class hebben ook weer waardes die moeten worden weergeven als Yalm. Ik dacht dat Serializable juist voor jou ging regelen. Maar ik krijg de error:
Ik hoop dat iemand mij duidelijk kan uitleggen hoe ik een eigen class/object kan toevoegen als een Yalm formaat. Google vind maar 1 goed ding:23:21:59 [SEVERE] Could not pass event SIGN_CHANGE to WirelessRedstone
org.yaml.snakeyaml.error.YAMLException: No JavaBean properties found in net.WMis
iedjan.WirelessRedstone.WirelessChannel
at org.yaml.snakeyaml.introspector.PropertyUtils.getPropertiesMap(Proper
tyUtils.java:85)
at org.yaml.snakeyaml.introspector.PropertyUtils.getProperties(PropertyU
tils.java:103)
at org.yaml.snakeyaml.introspector.PropertyUtils.getProperties(PropertyU
tils.java:94)
at org.yaml.snakeyaml.representer.Representer.getProperties(Representer.
java:228)
at org.yaml.snakeyaml.representer.Representer$RepresentJavaBean.represen
tData(Representer.java:49)
at org.yaml.snakeyaml.representer.BaseRepresenter.representData(BaseRepr
esenter.java:114)
at org.yaml.snakeyaml.representer.BaseRepresenter.representMapping(BaseR
epresenter.java:168)
at org.yaml.snakeyaml.representer.SafeRepresenter$RepresentMap.represent
Data(SafeRepresenter.java:220)
at org.yaml.snakeyaml.representer.BaseRepresenter.representData(BaseRepr
esenter.java:100)
at org.yaml.snakeyaml.representer.BaseRepresenter.representMapping(BaseR
epresenter.java:168)
at org.yaml.snakeyaml.representer.SafeRepresenter$RepresentMap.represent
Data(SafeRepresenter.java:220)
at org.yaml.snakeyaml.representer.BaseRepresenter.representData(BaseRepr
esenter.java:100)
at org.yaml.snakeyaml.representer.BaseRepresenter.represent(BaseRepresen
ter.java:67)
at org.yaml.snakeyaml.Yaml.dumpAll(Yaml.java:221)
at org.yaml.snakeyaml.Yaml.dump(Yaml.java:205)
at org.bukkit.util.config.Configuration.save(Configuration.java:104)
at net.WMisiedjan.WirelessRedstone.WireBox.AddWirelessTransmitter(WireBo
x.java:64)
at net.WMisiedjan.WirelessRedstone.Listeners.BlockListen.onSignChange(Bl
ockListen.java:50)
at org.bukkit.plugin.java.JavaPluginLoader$30.execute(JavaPluginLoader.j
ava:447)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
a:58)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
ava:310)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:992)
at net.minecraft.server.Packet130UpdateSign.a(SourceFile:41)
at net.minecraft.server.NetworkManager.b(NetworkManager.java:217)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:75)
at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:399)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:309)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
http://code.google.com/p/snakeyaml/wiki/howto
Maar dat snap ik niet echt. En ik ben niet bekend met NetBeans