jclouds/jclouds — pull request #1316 by adriancole (2013-02-18 17:19:15+00:00)
Title: added initial rdata implementation for DynECT

DynECT records have an internal `rdata` map that corresponds to the fields in Master binary format in DNS.

This is an initial implementation which shows RData as subtypes of `Map` with domain-specific accessors. Note: values are often `UnsignedInteger` as in DNS, usually numbers are unsigned 32-bit numbers.

ex. NS is pretty simple
```
import static org.jclouds.dynect.v3.domain.rdata.NSData.nsdata;
...
record = Record. builder()
.zone("egg.org")
.fqdn("egg.org")
.id(50959331)
.type("NS")
.ttl(86400)
.rdata(nsdata("ns4.p28.dynect.net."))
.build();

nsdname = record.getRdata().getNsdname()
```
while SOA is (the most) complicated

```
record = SOARecord.builder()
.zone("adrianc.zone.dynecttest.jclouds.org")
.fqdn("adrianc.zone.dynecttest.jclouds.org")
.id(50976579l)
.type("SOA")
.ttl(3600)
.serialStyle(INCREMENT) // note this is not in Record
.rdata(SOAData.builder()
.mname("ns1.p28.dynect.net.")
.rname("contact.jclouds.org.")
.serial(1)
.refresh(3600)
.retry(600)
.expire(604800)
.minimum(60).build()).build();

UnsignedInteger serial = record.getRdata().getSerial();
```