View Javadoc
1   package org.apache.maven.doxia.module.apt;
2   
3   /*
4    * Licensed to the Apache Software Foundation (ASF) under one
5    * or more contributor license agreements.  See the NOTICE file
6    * distributed with this work for additional information
7    * regarding copyright ownership.  The ASF licenses this file
8    * to you under the Apache License, Version 2.0 (the
9    * "License"); you may not use this file except in compliance
10   * with the License.  You may obtain a copy of the License at
11   *
12   *   http://www.apache.org/licenses/LICENSE-2.0
13   *
14   * Unless required by applicable law or agreed to in writing,
15   * software distributed under the License is distributed on an
16   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17   * KIND, either express or implied.  See the License for the
18   * specific language governing permissions and limitations
19   * under the License.
20   */
21  
22  import org.apache.maven.doxia.markup.TextMarkup;
23  import org.codehaus.plexus.util.StringUtils;
24  
25  /**
26   * This interface defines all markups and syntaxes used by the <b>APT</b> format.
27   *
28   * @see <a href="http://maven.apache.org/doxia/references/apt-format.html">http://maven.apache.org/doxia/references/apt-format.html</a>
29   *
30   * @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
31   * @version $Id: AptMarkup.java 1633964 2014-10-23 22:01:01Z hboutemy $
32   * @since 1.0
33   */
34  @SuppressWarnings( "checkstyle:interfaceistype" )
35  public interface AptMarkup
36      extends TextMarkup
37  {
38      // ----------------------------------------------------------------------
39      // Markup separators
40      // ----------------------------------------------------------------------
41  
42      /** APT backslash markup char: '\\' */
43      char BACKSLASH = '\\';
44  
45      /** APT comment markup char: '~' */
46      char COMMENT = '~';
47  
48      /** APT numbering decimal markup char: '1' */
49      char NUMBERING = '1';
50  
51      /** APT numbering lower alpha markup char: 'a' */
52      char NUMBERING_LOWER_ALPHA_CHAR = 'a';
53  
54      /** APT numbering lower roman markup char: 'i' */
55      char NUMBERING_LOWER_ROMAN_CHAR = 'i';
56  
57      /** APT numbering upper alpha markup char: 'A' */
58      char NUMBERING_UPPER_ALPHA_CHAR = 'A';
59  
60      /** APT numbering upper roman markup char: 'I' */
61      char NUMBERING_UPPER_ROMAN_CHAR = 'I';
62  
63      /** APT page break markup char: '\f' */
64      char PAGE_BREAK = '\f';
65  
66      /** APT percent markup char: '%' */
67      char PERCENT = '%';
68  
69      /** APT tab markup char: '\t' */
70      char TAB = '\t';
71  
72      // ----------------------------------------------------------------------
73      // Markup syntax
74      // ----------------------------------------------------------------------
75  
76      /** Syntax for the anchor end: "}" */
77      String ANCHOR_END_MARKUP = String.valueOf( RIGHT_CURLY_BRACKET );
78  
79      /** Syntax for the anchor start: "{" */
80      String ANCHOR_START_MARKUP = String.valueOf( LEFT_CURLY_BRACKET );
81  
82      /** Syntax for the bold style end: ">>" */
83      String BOLD_END_MARKUP = StringUtils.repeat( String.valueOf( GREATER_THAN ), 2 );
84  
85      /** Syntax for the bold style start: "<<" */
86      String BOLD_START_MARKUP = StringUtils.repeat( String.valueOf( LESS_THAN ), 2 );
87  
88      /** Syntax for the boxed verbatim start: "+------+" */
89      String BOXED_VERBATIM_START_MARKUP = String.valueOf( PLUS )
90          + StringUtils.repeat( String.valueOf( MINUS ), 6 ) + String.valueOf( PLUS );
91  
92      /** Syntax for the header start: " -----" */
93      String HEADER_START_MARKUP = String.valueOf( SPACE ) + StringUtils.repeat( String.valueOf( MINUS ), 5 );
94  
95      /** Syntax for the horizontal rule: "========" */
96      String HORIZONTAL_RULE_MARKUP = StringUtils.repeat( String.valueOf( EQUAL ), 8 );
97  
98      /** Syntax for the italic style end: ">" */
99      String ITALIC_END_MARKUP = String.valueOf( GREATER_THAN );
100 
101     /** Syntax for the italic style start: "<" */
102     String ITALIC_START_MARKUP = String.valueOf( LESS_THAN );
103 
104     /** Syntax for the link end: "}}" */
105     String LINK_END_MARKUP = StringUtils.repeat( String.valueOf( RIGHT_CURLY_BRACKET ), 2 );
106 
107     /** Syntax for the link start: "{{{" */
108     String LINK_START_1_MARKUP = StringUtils.repeat( String.valueOf( LEFT_CURLY_BRACKET ), 3 );
109 
110     /** Syntax for the link start: "}" */
111     String LINK_START_2_MARKUP = String.valueOf( RIGHT_CURLY_BRACKET );
112 
113     /** Syntax for the list end: "[]" */
114     String LIST_END_MARKUP = String.valueOf( LEFT_SQUARE_BRACKET ) + String.valueOf( RIGHT_SQUARE_BRACKET );
115 
116     /** Syntax for the list start: "*" */
117     String LIST_START_MARKUP = String.valueOf( STAR );
118 
119     /** Syntax for the mono-spaced style end: ">>>" */
120     String MONOSPACED_END_MARKUP = StringUtils.repeat( String.valueOf( GREATER_THAN ), 3 );
121 
122     /** Syntax for the mono-spaced style start: "<<<" */
123     String MONOSPACED_START_MARKUP = StringUtils.repeat( String.valueOf( LESS_THAN ), 3 );
124 
125     /** Syntax for the non boxed verbatim start: "------" */
126     String NON_BOXED_VERBATIM_START_MARKUP = StringUtils.repeat( String.valueOf( MINUS ), 6 );
127 
128     /** Syntax for the non breaking space: "\ " */
129     String NON_BREAKING_SPACE_MARKUP = String.valueOf( BACKSLASH ) + String.valueOf( SPACE );
130 
131     /** Syntax for the page break: "\f" */
132     String PAGE_BREAK_MARKUP = String.valueOf( PAGE_BREAK );
133 
134     /** Syntax for the section title start: "*" */
135     String SECTION_TITLE_START_MARKUP = String.valueOf( STAR );
136 
137     /** Syntax for the table cell start: "|" */
138     String TABLE_CELL_SEPARATOR_MARKUP = String.valueOf( PIPE );
139 
140     /** Syntax for the table column, centered style: "-*" */
141     String TABLE_COL_CENTERED_ALIGNED_MARKUP = StringUtils.repeat( String.valueOf( MINUS ), 2 )
142         + String.valueOf( STAR );
143 
144     /** Syntax for the table column, left style: "-+" */
145     String TABLE_COL_LEFT_ALIGNED_MARKUP = StringUtils.repeat( String.valueOf( MINUS ), 2 )
146         + String.valueOf( PLUS );
147 
148     /** Syntax for the table column, right style: "-:" */
149     String TABLE_COL_RIGHT_ALIGNED_MARKUP = StringUtils.repeat( String.valueOf( MINUS ), 2 )
150         + String.valueOf( COLON );
151 
152     /** Syntax for the table row end: "|" */
153     String TABLE_ROW_SEPARATOR_MARKUP = String.valueOf( PIPE );
154 
155     /** Syntax for the table row start: "*--" */
156     String TABLE_ROW_START_MARKUP = String.valueOf( STAR ) + StringUtils.repeat( String.valueOf( MINUS ), 2 );
157 
158     /** Syntax for the boxed verbatim end: "+------+" */
159     String BOXED_VERBATIM_END_MARKUP = BOXED_VERBATIM_START_MARKUP;
160 
161     /** Syntax for the non boxed verbatim end: "------" */
162     String NON_BOXED_VERBATIM_END_MARKUP = NON_BOXED_VERBATIM_START_MARKUP;
163 }