1 /////////////////////////////////////////////////////////////////////////////////////////////// 2 // checkstyle: Checks Java source code and other text files for adherence to a set of rules. 3 // Copyright (C) 2001-2025 the original author or authors. 4 // 5 // This library is free software; you can redistribute it and/or 6 // modify it under the terms of the GNU Lesser General Public 7 // License as published by the Free Software Foundation; either 8 // version 2.1 of the License, or (at your option) any later version. 9 // 10 // This library is distributed in the hope that it will be useful, 11 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 // Lesser General Public License for more details. 14 // 15 // You should have received a copy of the GNU Lesser General Public 16 // License along with this library; if not, write to the Free Software 17 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 /////////////////////////////////////////////////////////////////////////////////////////////// 19 20 package com.puppycrawl.tools.checkstyle.api; 21 22 /** 23 * A block of text from an input file that does not necessarily 24 * have any grammatical structure. 25 * 26 */ 27 public interface TextBlock { 28 29 /** 30 * The text content of the text block. 31 * Each line is represented by one array entry. 32 * The linebreak characters are not part of the text content. 33 * 34 * @return the text content of the text block. 35 */ 36 String[] getText(); 37 38 /** 39 * The line in the input file where the text block starts. 40 * Counting starts from 1. 41 * 42 * @return first line of the text block 43 */ 44 int getStartLineNo(); 45 46 /** 47 * The last line of the text block in the input file. 48 * Counting starts from 1. 49 * 50 * @return last line of the text block 51 */ 52 int getEndLineNo(); 53 54 /** 55 * The column in the input file where the text block starts. 56 * Counting starts from 0. 57 * 58 * @return first line of the text block 59 */ 60 int getStartColNo(); 61 62 /** 63 * The column in the input file where the text block ends. 64 * Counting starts from 0. 65 * 66 * @return last line of the text block 67 */ 68 int getEndColNo(); 69 70 /** 71 * Checks if this comment intersects with a specified 72 * part of the file. 73 * 74 * @param startLineNo the starting line number in the file 75 * @param startColNo the starting column number in the file 76 * @param endLineNo the ending line number in the file 77 * @param endColNo the ending column number in the file 78 * @return true if the positions intersects with this comment. 79 */ 80 boolean intersects(int startLineNo, int startColNo, 81 int endLineNo, int endColNo); 82 83 }