Java-Gaming.org
Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
Featured games (78)
games approved by the League of Dukes
Games in Showcase (406)
games submitted by our members
Games in WIP (293)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Snua - Create objects from XML  (Read 443 times)
0 Members and 1 Guest are viewing this topic.
Offline Sickan

Senior Member


Medals: 7



« Posted 2012-12-14 17:37:21 »

Hello!

Snua is a tiny little library that I MP'ed yesterday night and finished today. It's very young, and incomplete. Anyway, it uses DOM to parse XML and returns Java objects from that XML. Everything is built around using a generic Decoder interface (with inbuilt implementations of boolean, byte, char, double, float, int, long, short and String decoders). It takes an org.w3c.dom.Node argument and produces a generic object from it. Here is a tiny bit of code for showing off.

SnuaTest.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  
import java.io.FileInputStream;
import java.io.FileNotFoundException;

import se.sickan.snua.Resource;
import se.sickan.snua.ResourceException;
import se.sickan.snua.Resources;

public class SnuaTest implements Resource {
   public boolean booleanTest;
    public byte byteTest;
    public char charTest;
    public double doubleTest;
    public float floatTest;
    public int intTest;
    public long longTest;
    public short shortTest;
    public String stringTest;
    public static void main(String[] args) throws ResourceException, FileNotFoundException {
        Resources resources = new Resources(new FileInputStream("test.xml"));
        resources.loadResources();
        SnuaTest snuaTest = resources.getResource("test");
        System.out.println(snuaTest.booleanTest);
        System.out.println(snuaTest.byteTest);
        System.out.println(snuaTest.charTest);
        System.out.println(snuaTest.doubleTest);
        System.out.println(snuaTest.floatTest);
        System.out.println(snuaTest.intTest);
        System.out.println(snuaTest.longTest);
        System.out.println(snuaTest.shortTest);
        System.out.println(snuaTest.stringTest);
    }
}


And the complementary test.xml
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
<resources>
   <define name="SnuaTest" class="SnuaTest"/>
   <SnuaTest name="test">
      <booleanTest>false</booleanTest>
           <byteTest>0</byteTest>
           <charTest>p</charTest>
           <doubleTest>1d</doubleTest>
           <floatTest>2f</floatTest>
           <intTest>3</intTest>
           <longTest>4</longTest>
           <shortTest>5</shortTest>
           <stringTest>6</stringTest>
   </SnuaTest>
</resources>


And lastly, the glorious output:
1  
2  
3  
4  
5  
6  
7  
8  
9  
false
0
p
1.0
2.0
3
4
5
6


To download a baby, goto https://dl.dropbox.com/u/42258713/snua.zip!

I'm just here to learn.
Offline DQQAYME

Junior Member


Projects: 1



« Reply #1 - Posted 2013-05-22 08:11:20 »

Nice library and good idea, need find time and try Wink

P.s in source code so many cool things, and many of them even without feedback ;(

Pages: [1]
  ignore  |  Print  
 
 

Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
 
Get high quality music tracks for your game!

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

The invasion has landed! On Mars! And you're there to beat 'em!
cubemaster21 (84 views)
2013-05-17 21:29:12

alaslipknot (92 views)
2013-05-16 21:24:48

gouessej (123 views)
2013-05-16 00:53:38

gouessej (117 views)
2013-05-16 00:17:58

theagentd (127 views)
2013-05-15 15:01:13

theagentd (114 views)
2013-05-15 15:00:54

StreetDoggy (158 views)
2013-05-14 15:56:26

kutucuk (180 views)
2013-05-12 17:10:36

kutucuk (180 views)
2013-05-12 15:36:09

UnluckyDevil (187 views)
2013-05-12 05:09:57
Complex number cookbook
by Roquen
2013-04-24 12:47:31

2D Dynamic Lighting
by Oskuro
2013-04-17 16:46:12

2D Dynamic Lighting
by Oskuro
2013-04-17 16:45:57

2D Dynamic Lighting
by Oskuro
2013-04-17 16:23:20

Noise (bandpassed white)
by Roquen
2013-04-05 17:36:01

Noise (bandpassed white)
by Roquen
2013-04-03 16:17:38

Java Data structures
by Roquen
2013-03-29 13:21:12

Topic Request
by kutucuk
2013-03-22 21:42:01
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!
Page created in 0.065 seconds with 20 queries.