The resource class describes an object, accessible through the server. Resource objects are required to have the following properties:
- They must be persistent (their life-time can span multiple server life-time).
- They must be editable, so that one can change some of their aspects (such as any associated attribute).
- They must be self-described: each resource must now what kind of attribute it understands.
- They must be able to update themselves: some of the meta-information associated with a resource may require lot of CPU to compute.
- They must implement some name-service policy.
These resource objects do not define how they are accessed. See the sub-classes for specific accesses.