001package net.tnemc.plugincore.core.paste;
002
003/*
004 * The New Plugin Core
005 * Copyright (C) 2022 - 2025 Daniel "creatorfromhell" Vidmar
006 *
007 * This program is free software: you can redistribute it and/or modify
008 * it under the terms of the GNU Affero General Public License as published by
009 * the Free Software Foundation, either version 3 of the License, or
010 * (at your option) any later version.
011 *
012 * This program is distributed in the hope that it will be useful,
013 * but WITHOUT ANY WARRANTY; without even the implied warranty of
014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
015 * GNU Affero General Public License for more details.
016 *
017 * You should have received a copy of the GNU Affero General Public License
018 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
019 */
020
021/**
022 * Pastable
023 *
024 * @author creatorfromhell
025 * @since 1.0.0.2
026 */
027public interface IPasteable {
028
029  /**
030   * Retrieves the file name associated with this object.
031   *
032   * @return The file name as a String.
033   */
034  String fileName();
035
036  /**
037   * Retrieves the extension associated with this object.
038   *
039   * @return The extension as a String.
040   */
041  String extension();
042
043  /**
044   * Retrieves the syntax associated with this object.
045   *
046   * @return The syntax as a String.
047   */
048  String syntax();
049
050  /**
051   * Retrieves the content of the object.
052   *
053   * @return The content as a String.
054   */
055  String content();
056}