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}