[LIB-9] Separate chesshog-hedgefish module
[chesshog.git] / chesshog-format / src / main / java / org / hedgecode / chess / ascii / ASCIIBoardType.java
1 /*
2  * Copyright (c) 2018. Developed by Hedgecode.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *   http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 package org.hedgecode.chess.ascii;
18
19 /**
20  * ASCII chess diagram board types.
21  *
22  * @author Dmitry Samoshin aka gotty
23  */
24 public enum ASCIIBoardType {
25
26     HYPHEN (
27             ASCII.HYPHEN_LINE, ASCII.HYPHEN_LINE, ASCII.HYPHEN_LINE,
28             ASCII.HYPHEN_SEP, ASCII.HYPHEN_SEP, ASCII.EMPTY, ASCII.EMPTY
29     ),
30
31     DOT    (
32             ASCII.DOT_LINE, null, ASCII.DOT_LINE,
33             null, ASCII.DOT_EDGE, ASCII.DOT_EMPTY, ASCII.EMPTY
34     ),
35
36     TIGHT  (
37             ASCII.TIGHT_LINE, null, null,
38             ASCII.TIGHT_SEP, ASCII.TIGHT_SEP, ASCII.TIGHT_EMPTY, ASCII.TIGHT_EMPTY
39     ),
40
41     CP866  (
42             ASCII.CP866_HEADER, ASCII.CP866_LINE, ASCII.CP866_FOOTER,
43             ASCII.CP866_SEP, ASCII.CP866_EDGE, ASCII.EMPTY, ASCII.EMPTY
44     );
45
46     private String header;
47     private String line;
48     private String footer;
49     private String separator;
50     private String edge;
51     private char empty;
52     private char space;
53
54     ASCIIBoardType(
55             String header, String line, String footer,
56             String separator, String edge,
57             char empty, char space
58     ) {
59         this.header = header;
60         this.line = line;
61         this.footer = footer;
62         this.separator = separator;
63         this.edge = edge;
64         this.empty = empty;
65         this.space = space;
66     }
67
68     public String getHeader() {
69         return header;
70     }
71
72     public String getLine() {
73         return line;
74     }
75
76     public String getFooter() {
77         return footer;
78     }
79
80     public String getSeparator() {
81         return separator;
82     }
83
84     public String getEdge() {
85         return edge;
86     }
87
88     public char getEmpty() {
89         return empty;
90     }
91
92     public char getSpace() {
93         return space;
94     }
95
96 }