001/*
002 * Copyright 2015-2024 the original author or authors
003 *
004 * This software is licensed under the Apache License, Version 2.0,
005 * the GNU Lesser General Public License version 2 or later ("LGPL")
006 * and the WTFPL.
007 * You may choose either license to govern your use of this software only
008 * upon the condition that you accept all of the terms of either
009 * the Apache License 2.0, the LGPL 2.1+ or the WTFPL.
010 */
011package org.minidns.record;
012
013import java.io.DataOutputStream;
014import java.io.IOException;
015
016import org.minidns.dnsname.DnsName;
017
018/**
019 * A resource record pointing to a target.
020 */
021public abstract class RRWithTarget extends Data {
022
023    public final DnsName target;
024
025    /**
026     * The target of this resource record.
027     * @deprecated {@link #target} instead.
028     */
029    @Deprecated
030    public final DnsName name;
031
032    @Override
033    public void serialize(DataOutputStream dos) throws IOException {
034        target.writeToStream(dos);
035    }
036
037    protected RRWithTarget(DnsName target) {
038        this.target = target;
039        this.name = target;
040    }
041
042    @Override
043    public String toString() {
044        return target + ".";
045    }
046
047    public final DnsName getTarget() {
048        return target;
049    }
050}