org.minidns.record

## Class SOA

- java.lang.Object
- - org.minidns.record.Data
  - - org.minidns.record.SOA

-     public class SOA
      extends Data

  DNS SOA (Start of Authority) record payload.
  Contains authoritative information about a DNS zone including primary nameserver, admin email, and timing parameters.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `int` | `expire` A 32 bit time value that specifies the upper limit on the time interval that can elapse before the zone is no longer authoritative.
    `long` | `minimum` The unsigned 32 bit minimum TTL field that should be exported with any RR from this zone.
    `DnsName` | `mname` The domain name of the name server that was the original or primary source of data for this zone.
    `int` | `refresh` A 32 bit time interval before the zone should be refreshed.
    `int` | `retry` A 32 bit time interval that should elapse before a failed refresh should be retried.
    `DnsName` | `rname` A domain name which specifies the mailbox of the person responsible for this zone.
    `long` | `serial` The unsigned 32 bit version number of the original copy of the zone.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SOA(DnsName mname, DnsName rname, long serial, int refresh, int retry, int expire, long minimum)`
    `SOA(String mname, String rname, long serial, int refresh, int retry, int expire, long minimum)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Record.TYPE` | `getType()` The payload type.
    `static SOA` | `parse(DataInputStream dis, byte[] data)`
    `void` | `serialize(DataOutputStream dos)` The internal method used to serialize Data subclasses.
    `String` | `toString()`

    - ### Methods inherited from class org.minidns.record.Data

      `equals, hashCode, length, toByteArray, toOutputStream, toOutputStream`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### expire

          public final int expire

      A 32 bit time value that specifies the upper limit on the time interval that can elapse before the zone is no longer authoritative.

    - #### minimum

          public final long minimum

      The unsigned 32 bit minimum TTL field that should be exported with any RR from this zone.

    - #### mname

          public final DnsName mname

      The domain name of the name server that was the original or primary source of data for this zone.

    - #### refresh

          public final int refresh

      A 32 bit time interval before the zone should be refreshed.

    - #### retry

          public final int retry

      A 32 bit time interval that should elapse before a failed refresh should be retried.

    - #### rname

          public final DnsName rname

      A domain name which specifies the mailbox of the person responsible for this zone.

    - #### serial

          public final long serial

      The unsigned 32 bit version number of the original copy of the zone. Zone transfers preserve this value. This value wraps and should be compared using sequence space arithmetic.

  - ### Constructor Detail

    - #### SOA

          public SOA(DnsName mname,
                     DnsName rname,
                     long serial,
                     int refresh,
                     int retry,
                     int expire,
                     long minimum)

    - #### SOA

          public SOA(String mname,
                     String rname,
                     long serial,
                     int refresh,
                     int retry,
                     int expire,
                     long minimum)

  - ### Method Detail

    - #### getType

          public Record.TYPE getType()

      Description copied from class: `Data`
      The payload type.
      Specified by:
        `getType` in class `Data`
      Returns:
        The payload type.

    - #### parse

          public static SOA parse(DataInputStream dis,
                                  byte[] data)
                           throws IOException

      Throws:
        `IOException`

    - #### serialize

          public void serialize(DataOutputStream dos)
                         throws IOException

      Description copied from class: `Data`
      The internal method used to serialize Data subclasses.
      Specified by:
        `serialize` in class `Data`
      Parameters:
        `dos` - the output stream to serialize to.
      Throws:
        `IOException` - if an I/O error occurs.

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`