All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.deechael.khl.configuration.SectionPathData Maven / Gradle / Ivy

There is a newer version: 1.09.0
Show newest version
package net.deechael.khl.configuration;

import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import java.util.Collections;
import java.util.List;

final class SectionPathData {

    private Object data;
    private List comments;
    private List inlineComments;

    public SectionPathData(@Nullable Object data) {
        this.data = data;
        comments = Collections.emptyList();
        inlineComments = Collections.emptyList();
    }

    @Nullable
    public Object getData() {
        return data;
    }

    public void setData(@Nullable final Object data) {
        this.data = data;
    }

    /**
     * If no comments exist, an empty list will be returned. A null entry in the
     * list represents an empty line and an empty String represents an empty
     * comment line.
     *
     * @return A unmodifiable list of the requested comments, every entry
     * represents one line.
     */
    @NotNull
    public List getComments() {
        return comments;
    }

    /**
     * Represents the comments on a {@link ConfigurationSection} entry.
     * 

* A null entry in the List is an empty line and an empty String entry is an * empty comment line. Any existing comments will be replaced, regardless of * what the new comments are. * * @param comments New comments to set every entry represents one line. */ public void setComments(@Nullable final List comments) { this.comments = (comments == null) ? Collections.emptyList() : Collections.unmodifiableList(comments); } /** * If no comments exist, an empty list will be returned. A null entry in the * list represents an empty line and an empty String represents an empty * comment line. * * @return A unmodifiable list of the requested comments, every entry * represents one line. */ @NotNull public List getInlineComments() { return inlineComments; } /** * Represents the comments on a {@link ConfigurationSection} entry. *

* A null entry in the List is an empty line and an empty String entry is an * empty comment line. Any existing comments will be replaced, regardless of * what the new comments are. * * @param inlineComments New comments to set every entry represents one * line. */ public void setInlineComments(@Nullable final List inlineComments) { this.inlineComments = (inlineComments == null) ? Collections.emptyList() : Collections.unmodifiableList(inlineComments); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy