Adam Bien's Weblog

Thursday Sep 06, 2007

Generic Data Transfer Object checked into p4j5

A sample implementation of the Generic Data Transfer Object pattern is checked in to p4j5. The idea of the GDTO is to provide a flexible, but type-unsafe, way to transport data between tiers.
Beyond pure data transport the GDTO can be also used for validation. The flexibility of the GDTO costs also performance - there are more instances involved.

It is also not very easy to work with GDTO directly:

  private GenericDTO generic;
 
    public void setUp(){
         this.generic = new GenericDTO("Cart");
    }
 
   public void testAdd() {
        assertEquals(0,this.generic.getNumberOfAttributes());
        StringType description = new StringType(null,"a simple cart for test purposes");
        this.generic.add("description", description);
        assertEquals(1,this.generic.getNumberOfAttributes());
        assertFalse(this.generic.isEmpty());
        String toString = generic.toString();
        assertNotNull(toString);
        System.out.println(toString);
    }

However it's intended to be used in reflective way (e.g. binding the UI automatically to the GDTO). Changes to the underlying data also do not affect the compatibility of the interfaces/layers - however the stability of the interface requires more testing. The lack or renaming of attributes can cause runtime exceptions.



*NEW* Workshop: "Real World Java EE 6/7 Bootstrap" and book: Real World Java EE Night Hacks--Dissecting the Business Tier

Comments:

Post a Comment:
  • HTML Syntax: NOT allowed
Meta
My Recent Book
Java One 2009/2011
...the last 150 posts
...the last 10 comments
Links
License