Hello,
I don't really know the best way to code entity classes in Mootools.
Let's consider the following entities:
- Activity:
Contains the following properties:
¤ startDate (of type date)
¤ endDate (of type date)
¤ station (of type Station entity)
¤ vehicles (list of Vehicle entities)
- Station
¤ code (string)
¤ name (string)
- Vehicle
¤ id (string)
I need:
a) To be able to set properties at instantiation, .NET style. For
example:
########
var break = new Activity ({
"startDate": Date.parse("2011-4-12 21:45:00"),
"endDate": Date.parse("2011-4-12 22:00:00"),
"station": Stations.stockholm,
"vehicles": [ Vehicles.v2110, Vehicles.v2111 ]
});
########
b) To easily encode this Activity object (+ children) in JSON, which
would result in:
########
{
"startDate": "2011-4-12 21:45:00",
"endDate": "2011-4-12 22:00:00",
"station": {
"code": "CST",
"name": "Stockholm C"
},
"vehicles": [ {
"id": "v2110"
}, {
"id": "v2111"
}
]
}
########
c) To have a clean "public" interface to get and set an object's
properties, hiding the underlying implementation. For example:
########
"var breakStartDate = break.startDate" + "break.startDate = newDate"
"var breakStartDate = break.getStartDate()" +
"break.setStartDate(newDate)"
########
I'm sure many of you have faced this problem. How do you handle it?