X-Git-Url: https://git.hedgecode.org/?p=chesshog-scanner.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fhedgecode%2Fchess%2Fscanner%2Fformat%2FPGNTag.java;fp=src%2Fmain%2Fjava%2Forg%2Fhedgecode%2Fchess%2Fscanner%2Fformat%2FPGNTag.java;h=74a066e155e0c3075d5703cf3ac7092c5ff32c4a;hp=10d6fecc83d0848ebcbd09eabbb8cd19cc6d70de;hb=6e3a8590a26312b6cea579777db885107cae88df;hpb=df574e5ec8ae08c1c50adbe30b597cd86e6ab3fa diff --git a/src/main/java/org/hedgecode/chess/scanner/format/PGNTag.java b/src/main/java/org/hedgecode/chess/scanner/format/PGNTag.java index 10d6fec..74a066e 100644 --- a/src/main/java/org/hedgecode/chess/scanner/format/PGNTag.java +++ b/src/main/java/org/hedgecode/chess/scanner/format/PGNTag.java @@ -19,6 +19,8 @@ package org.hedgecode.chess.scanner.format; import java.util.Arrays; import java.util.Comparator; +import org.hedgecode.chess.scanner.StringUtils; + /** * PGNTag * @@ -64,6 +66,7 @@ public enum PGNTag { MODE ( "Mode", false, PGNTag.EMPTY ), PLY_COUNT ( "PlyCount", false, PGNTag.EMPTY ); + // todo: -> PGNConstants public static final String EMPTY = ""; public static final String HYPHEN = "-"; public static final String ZERO = "0"; @@ -74,6 +77,8 @@ public enum PGNTag { public static final String TAG_FORMAT = "[%s \"%s\"]"; + public static final char[] TAG_SHIELD_CHARS = { '\\', '"' }; + private String tagName; private boolean isRequired; private String defaultValue; @@ -96,6 +101,12 @@ public enum PGNTag { return defaultValue; } + public static String formatTagValue(String tagValue) { + return StringUtils.shield( + tagValue, TAG_SHIELD_CHARS + ); + } + public static PGNTag[] tags() { PGNTag[] tags = values(); Arrays.sort(