001/* 002 * Licensed to the Apache Software Foundation (ASF) under one 003 * or more contributor license agreements. See the NOTICE file 004 * distributed with this work for additional information 005 * regarding copyright ownership. The ASF licenses this file 006 * to you under the Apache License, Version 2.0 (the 007 * "License"); you may not use this file except in compliance 008 * with the License. You may obtain a copy of the License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, 013 * software distributed under the License is distributed on an 014 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 015 * KIND, either express or implied. See the License for the 016 * specific language governing permissions and limitations 017 * under the License. 018 */ 019package org.apache.maven.doxia.module.apt; 020 021import org.apache.commons.lang3.StringUtils; 022import org.apache.maven.doxia.markup.TextMarkup; 023 024/** 025 * This interface defines all markups and syntaxes used by the <b>APT</b> format. 026 * 027 * @see <a href="https://maven.apache.org/doxia/references/apt-format.html">https://maven.apache.org/doxia/references/apt-format.html</a> 028 * @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a> 029 * @since 1.0 030 */ 031@SuppressWarnings("checkstyle:interfaceistype") 032public interface AptMarkup extends TextMarkup { 033 // ---------------------------------------------------------------------- 034 // Markup separators 035 // ---------------------------------------------------------------------- 036 037 /** APT backslash markup char: '\\' */ 038 char BACKSLASH = '\\'; 039 040 /** APT comment markup char: '~' */ 041 char COMMENT = '~'; 042 043 /** APT numbering decimal markup char: '1' */ 044 char NUMBERING = '1'; 045 046 /** APT numbering lower alpha markup char: 'a' */ 047 char NUMBERING_LOWER_ALPHA_CHAR = 'a'; 048 049 /** APT numbering lower roman markup char: 'i' */ 050 char NUMBERING_LOWER_ROMAN_CHAR = 'i'; 051 052 /** APT numbering upper alpha markup char: 'A' */ 053 char NUMBERING_UPPER_ALPHA_CHAR = 'A'; 054 055 /** APT numbering upper roman markup char: 'I' */ 056 char NUMBERING_UPPER_ROMAN_CHAR = 'I'; 057 058 /** APT page break markup char: '\f' */ 059 char PAGE_BREAK = '\f'; 060 061 /** APT percent markup char: '%' */ 062 char PERCENT = '%'; 063 064 /** APT tab markup char: '\t' */ 065 char TAB = '\t'; 066 067 // ---------------------------------------------------------------------- 068 // Markup syntax 069 // ---------------------------------------------------------------------- 070 071 /** Syntax for the anchor end: "}" */ 072 String ANCHOR_END_MARKUP = String.valueOf(RIGHT_CURLY_BRACKET); 073 074 /** Syntax for the anchor start: "{" */ 075 String ANCHOR_START_MARKUP = String.valueOf(LEFT_CURLY_BRACKET); 076 077 /** Syntax for the bold style end: ">>" */ 078 String BOLD_END_MARKUP = StringUtils.repeat(String.valueOf(GREATER_THAN), 2); 079 080 /** Syntax for the bold style start: "<<" */ 081 String BOLD_START_MARKUP = StringUtils.repeat(String.valueOf(LESS_THAN), 2); 082 083 /** Syntax for the verbatim source start: "+------+" */ 084 String VERBATIM_SOURCE_START_MARKUP = PLUS + StringUtils.repeat(String.valueOf(MINUS), 6) + PLUS; 085 086 /** Syntax for the header start: " -----" */ 087 String HEADER_START_MARKUP = SPACE + StringUtils.repeat(String.valueOf(MINUS), 5); 088 089 /** Syntax for the horizontal rule: "========" */ 090 String HORIZONTAL_RULE_MARKUP = StringUtils.repeat(String.valueOf(EQUAL), 8); 091 092 /** Syntax for the italic style end: ">" */ 093 String ITALIC_END_MARKUP = String.valueOf(GREATER_THAN); 094 095 /** Syntax for the italic style start: "<" */ 096 String ITALIC_START_MARKUP = String.valueOf(LESS_THAN); 097 098 /** Syntax for the link end: "}}" */ 099 String LINK_END_MARKUP = StringUtils.repeat(String.valueOf(RIGHT_CURLY_BRACKET), 2); 100 101 /** Syntax for the link start: "{{{" */ 102 String LINK_START_1_MARKUP = StringUtils.repeat(String.valueOf(LEFT_CURLY_BRACKET), 3); 103 104 /** Syntax for the link start: "}" */ 105 String LINK_START_2_MARKUP = String.valueOf(RIGHT_CURLY_BRACKET); 106 107 /** Syntax for the list end: "[]" */ 108 String LIST_END_MARKUP = String.valueOf(LEFT_SQUARE_BRACKET) + RIGHT_SQUARE_BRACKET; 109 110 /** Syntax for the list start: "*" */ 111 String LIST_START_MARKUP = String.valueOf(STAR); 112 113 /** Syntax for the mono-spaced style end: ">>>" */ 114 String MONOSPACED_END_MARKUP = StringUtils.repeat(String.valueOf(GREATER_THAN), 3); 115 116 /** Syntax for the mono-spaced style start: "<<<" */ 117 String MONOSPACED_START_MARKUP = StringUtils.repeat(String.valueOf(LESS_THAN), 3); 118 119 /** Syntax for the verbatim start: "------" */ 120 String VERBATIM_START_MARKUP = StringUtils.repeat(String.valueOf(MINUS), 6); 121 122 /** Syntax for the non breaking space: "\ " */ 123 String NON_BREAKING_SPACE_MARKUP = String.valueOf(BACKSLASH) + SPACE; 124 125 /** Syntax for the page break: "\f" */ 126 String PAGE_BREAK_MARKUP = String.valueOf(PAGE_BREAK); 127 128 /** Syntax for the section title start: "*" */ 129 String SECTION_TITLE_START_MARKUP = String.valueOf(STAR); 130 131 /** Syntax for the table cell start: "|" */ 132 String TABLE_CELL_SEPARATOR_MARKUP = String.valueOf(PIPE); 133 134 /** Syntax for the table column, centered style: "-*" */ 135 String TABLE_COL_CENTERED_ALIGNED_MARKUP = StringUtils.repeat(String.valueOf(MINUS), 2) + STAR; 136 137 /** Syntax for the table column, left style: "-+" */ 138 String TABLE_COL_LEFT_ALIGNED_MARKUP = StringUtils.repeat(String.valueOf(MINUS), 2) + PLUS; 139 140 /** Syntax for the table column, right style: "-:" */ 141 String TABLE_COL_RIGHT_ALIGNED_MARKUP = StringUtils.repeat(String.valueOf(MINUS), 2) + COLON; 142 143 /** Syntax for the table row end: "|" */ 144 String TABLE_ROW_SEPARATOR_MARKUP = String.valueOf(PIPE); 145 146 /** Syntax for the table row start: "*--" */ 147 String TABLE_ROW_START_MARKUP = STAR + StringUtils.repeat(String.valueOf(MINUS), 2); 148 149 /** Syntax for the verbatim source end: "+------+" */ 150 String VERBATIM_SOURCE_END_MARKUP = VERBATIM_SOURCE_START_MARKUP; 151 152 /** Syntax for the verbatim end: "------" */ 153 String VERBATIM_END_MARKUP = VERBATIM_START_MARKUP; 154}