1 /* 2 * Copyright (C) 2007-2010 Jlio Vilmar Gesser. 3 * Copyright (C) 2011, 2013-2015 The JavaParser Team. 4 * 5 * This file is part of JavaParser. 6 * 7 * JavaParser can be used either under the terms of 8 * a) the GNU Lesser General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * b) the terms of the Apache License 12 * 13 * You should have received a copy of both licenses in LICENCE.LGPL and 14 * LICENCE.APACHE. Please refer to those files for details. 15 * 16 * JavaParser is distributed in the hope that it will be useful, 17 * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 * GNU Lesser General Public License for more details. 20 */ 21 22 package com.github.javaparser.ast.nodeTypes; 23 24 /** 25 * Element with a declaration representable as a String. 26 * 27 * @author Federico Tomassetti 28 * @since July 2014 29 */ 30 public interface NodeWithDeclaration { 31 32 /** 33 * As {@link NodeWithDeclaration#getDeclarationAsString(boolean, boolean, boolean)} including 34 * the modifiers, the throws clause and the parameters with both type and name. 35 * @return String representation of declaration 36 */ 37 String getDeclarationAsString(); 38 39 /** 40 * As {@link NodeWithDeclaration#getDeclarationAsString(boolean, boolean, boolean)} including 41 * the parameters with both type and name. 42 * @param includingModifiers flag to include the modifiers (if present) in the string produced 43 * @param includingThrows flag to include the throws clause (if present) in the string produced 44 * @return String representation of declaration based on parameter flags 45 */ 46 String getDeclarationAsString(boolean includingModifiers, boolean includingThrows); 47 48 /** 49 * A simple representation of the element declaration. 50 * It should fit one string. 51 * @param includingModifiers flag to include the modifiers (if present) in the string produced 52 * @param includingThrows flag to include the throws clause (if present) in the string produced 53 * @param includingParameterName flag to include the parameter name (while the parameter type is always included) in the string produced 54 * @return String representation of declaration based on parameter flags 55 */ 56 String getDeclarationAsString(boolean includingModifiers, boolean includingThrows, boolean includingParameterName); 57 } 58