## Uses of Class
org.minidns.record.Data

- Packages that use Data
  Package | Description
  --- | ---
  org.minidns.dnsmessage | DNS message parsing and serialization.
  org.minidns.edns | EDNS(0) extension mechanisms for DNS.
  org.minidns.record | DNS resource record types and implementations.

- - ### Uses of Data in org.minidns.dnsmessage

    Fields in org.minidns.dnsmessage with type parameters of type Data
    Modifier and Type | Field and Description
    --- | ---
    `List<Record<? extends Data>>` | DnsMessage.`additionalSection` The additional section.
    `List<Record<? extends Data>>` | DnsMessage.`answerSection` The answers section records.
    `List<Record<? extends Data>>` | DnsMessage.`authoritySection` The Authority Section.

    Methods in org.minidns.dnsmessage with type parameters of type Data
    Modifier and Type | Method and Description
    --- | ---
    `<D extends Data> List<Record<D>>` | DnsMessage.`filterAdditionalSectionBy(Class<D> type)`
    `<D extends Data> List<Record<D>>` | DnsMessage.`filterAnswerSectionBy(Class<D> type)`
    `<D extends Data> List<Record<D>>` | DnsMessage.`filterAuthoritySectionBy(Class<D> type)`
    `<D extends Data> Set<D>` | DnsMessage.`getAnswersFor(Question q)`
    `<D extends Data> Record<D>` | DnsMessage.`getFirstOfTypeFromAdditionalSection(Class<D> type)`
    `<D extends Data> Record<D>` | DnsMessage.`getFirstOfTypeFromAnswerSection(Class<D> type)`
    `<D extends Data> Record<D>` | DnsMessage.`getFirstOfTypeFromAuthoritySection(Class<D> type)`

    Methods in org.minidns.dnsmessage that return types with arguments of type Data
    Modifier and Type | Method and Description
    --- | ---
    `List<Record<? extends Data>>` | DnsMessage.`copyAnswers()` Copy the records found in the answer section into a new list.
    `List<Record<? extends Data>>` | DnsMessage.`copyAuthority()` Copy the records found in the authority section into a new list.
    `List<Record<? extends Data>>` | DnsMessage.Builder.`getAdditionalResourceRecords()`
    `List<Record<? extends Data>>` | DnsMessage.Builder.`getAnswers()`

    Method parameters in org.minidns.dnsmessage with type arguments of type Data
    Modifier and Type | Method and Description
    --- | ---
    `DnsMessage.Builder` | DnsMessage.Builder.`addAdditionalResourceRecord(Record<? extends Data> record)`
    `DnsMessage.Builder` | DnsMessage.Builder.`addAdditionalResourceRecords(List<Record<? extends Data>> records)`
    `DnsMessage.Builder` | DnsMessage.Builder.`addAnswer(Record<? extends Data> answer)`
    `DnsMessage.Builder` | DnsMessage.Builder.`addAnswers(Collection<Record<? extends Data>> records)`
    `DnsMessage.Builder` | DnsMessage.Builder.`addNameserverRecords(Record<? extends Data> record)`
    `DnsMessage.Builder` | DnsMessage.Builder.`setAdditionalResourceRecords(Collection<Record<? extends Data>> records)`
    `DnsMessage.Builder` | DnsMessage.Builder.`setAnswers(Collection<Record<? extends Data>> records)`
    `DnsMessage.Builder` | DnsMessage.Builder.`setNameserverRecords(Collection<Record<? extends Data>> records)`

  - ### Uses of Data in org.minidns.edns

    Method parameters in org.minidns.edns with type arguments of type Data
    Modifier and Type | Method and Description
    --- | ---
    `static Edns` | Edns.`fromRecord(Record<? extends Data> record)` Creates an EDNS instance from a record if it's an OPT record.

  - ### Uses of Data in org.minidns.record

    Classes in org.minidns.record with type parameters of type Data
    Modifier and Type | Class and Description
    --- | ---
    `class` | `Record<D extends Data>` A generic DNS record.

    Subclasses of Data in org.minidns.record
    Modifier and Type | Class and Description
    --- | ---
    `class` | `A` DNS A record payload representing an IPv4 address. Maps a domain name to an IPv4 address, the most common DNS record type.
    `class` | `AAAA` DNS AAAA record payload representing an IPv6 address. Maps a domain name to an IPv6 address, the IPv6 equivalent of A records.
    `class` | `CNAME` DNS CNAME (Canonical Name) record payload. Maps an alias domain name to a canonical domain name for DNS resolution.
    `class` | `DelegatingDnssecRR` Abstract base class for DNSSEC delegation records. Provides common functionality for DNSSEC records that delegate trust from parent zones to child zones.
    `class` | `DLV` DNS DLV (DNSSEC Lookaside Validation) record payload. Provides DNSSEC trust anchors from external validation repositories.
    `class` | `DNAME` DNS DNAME (Domain Name) redirection record payload. Provides redirection of an entire subtree of the DNS name space to another domain, similar to CNAME but for entire subtrees.
    `class` | `DNSKEY` DNS DNSKEY record payload for DNSSEC public keys. Contains a DNSSEC public key used to verify DNSSEC signatures for a DNS zone.
    `class` | `DS` DNS DS (Delegation Signer) record payload for DNSSEC. Contains the hash of a DNSKEY record used to authenticate delegated DNS zones in DNSSEC chain of trust.
    `class` | `InternetAddressRR<IA extends InetAddress>` Abstract base class for DNS resource records representing internet addresses. Extended by A and AAAA records to provide common functionality for IP address storage and retrieval.
    `class` | `MX` DNS MX (Mail Exchange) record payload. Specifies mail servers responsible for accepting email messages on behalf of a domain.
    `class` | `NS` DNS NS (Nameserver) record payload. Delegates a DNS zone to use the given authoritative name servers.
    `class` | `NSEC` DNS NSEC (Next Secure) record payload for DNSSEC. Provides authenticated denial of existence for DNS records and links to the next valid name in the zone.
    `class` | `NSEC3` DNS NSEC3 (Next Secure 3) record payload for DNSSEC. Provides authenticated denial of existence with hashed names to prevent zone enumeration attacks.
    `class` | `NSEC3PARAM` DNS NSEC3PARAM record payload for DNSSEC. Contains parameters used for NSEC3 hash calculations including algorithm, iterations, salt, and flags.
    `class` | `OPENPGPKEY` DNS OPENPGPKEY record payload for OpenPGP public keys. Associates OpenPGP public keys with domain names for secure email and code signing applications.
    `class` | `OPT` DNS OPT record payload for EDNS0 extensions. Enables extended DNS features and options beyond original DNS protocol.
    `class` | `PTR` DNS PTR (Pointer) record payload. Used for reverse DNS lookups, mapping IP addresses to domain names.
    `class` | `RRSIG` DNS RRSIG (Resource Record Signature) record payload for DNSSEC. Contains cryptographic signature covering a set of DNS records to provide authenticity and integrity verification.
    `class` | `RRWithTarget` Abstract base class for DNS resource records that point to a target domain name. Extended by record types like CNAME, NS, and others that contain a target field.
    `class` | `SOA` DNS SOA (Start of Authority) record payload. Contains authoritative information about a DNS zone including primary nameserver, admin email, and timing parameters.
    `class` | `SRV` DNS SRV (Service) record payload for service discovery. Specifies the location of services for a given domain with priority, weight, and port information for load balancing.
    `class` | `TLSA` DNS TLSA record payload for TLS certificate association. Associates TLS certificates with domain names for DANE-based authentication of TLS services.
    `class` | `TXT` DNS TXT record payload for arbitrary text data. Contains one or more text strings, commonly used for verification, policies, or other metadata.
    `class` | `UNKNOWN` DNS record payload for unknown or unsupported record types. Provides raw byte-level access to record data when the specific record type is not recognized by the library.

    Fields in org.minidns.record declared as Data
    Modifier and Type | Field and Description
    --- | ---
    `D` | Record.`payloadData` The payload object of this record.

    Methods in org.minidns.record with type parameters of type Data
    Modifier and Type | Method and Description
    --- | ---
    `<E extends Data> Record<E>` | Record.`as(Class<E> dataClass)` Return the record as record with the given `Data` class.
    `static <E extends Data> List<Record<E>>` | Record.`filter(Class<E> dataClass, Collection<Record<? extends Data>> input)`
    `static <E extends Data> void` | Record.`filter(Collection<Record<E>> result, Class<E> dataClass, Collection<Record<? extends Data>> input)`
    `<D extends Data> Class<D>` | Record.TYPE.`getDataClass()` Get the `Data` class for this type.
    `static <D extends Data> Record.TYPE` | Record.TYPE.`getType(Class<D> dataClass)` Retrieve the type for a given `Data` class.
    `<E extends Data> Record<E>` | Record.`ifPossibleAs(Class<E> dataClass)` Return the record if possible as record with the given `Data` class.

    Methods in org.minidns.record that return types with arguments of type Data
    Modifier and Type | Method and Description
    --- | ---
    `static Record<Data>` | Record.`parse(DataInputStream dis, byte[] data)` Parse a given record based on the full message data and the current stream position.

    Method parameters in org.minidns.record with type arguments of type Data
    Modifier and Type | Method and Description
    --- | ---
    `static <E extends Data> List<Record<E>>` | Record.`filter(Class<E> dataClass, Collection<Record<? extends Data>> input)`
    `static <E extends Data> void` | Record.`filter(Collection<Record<E>> result, Class<E> dataClass, Collection<Record<? extends Data>> input)`