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.dnslabel;
012
013/**
014 * A reserved LDH label (R-LDH label), which have the property that they contain "--" in the third and fourth characters.
015 *
016 */
017public class ReservedLdhLabel extends LdhLabel {
018
019    protected ReservedLdhLabel(String label) {
020        super(label);
021        assert isReservedLdhLabelInternal(label);
022    }
023
024    public static boolean isReservedLdhLabel(String label) {
025        if (!isLdhLabel(label)) {
026            return false;
027        }
028        return isReservedLdhLabelInternal(label);
029    }
030
031    static boolean isReservedLdhLabelInternal(String label) {
032        return label.length() >= 4
033                && label.charAt(2) == '-'
034                && label.charAt(3) == '-';
035    }
036}