/* * Copyright (c) 2018-2019. Developed by Hedgecode. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.hedgecode.chess.qrcode; /** * Mode of data type stored in chess-specific QR Codes. * * @author Dmitry Samoshin aka gotty */ public enum ChessQRCodeMode { FEN, TCD, PGN, TCG, ZIP; public static final int CODE_LENGTH = 3; public boolean isPosition() { return FEN.equals(this) || TCD.equals(this); } public boolean isGame() { return PGN.equals(this) || TCG.equals(this); } public boolean isArchive() { return ZIP.equals(this); } public static ChessQRCodeMode byCode(String code) { for (ChessQRCodeMode mode : ChessQRCodeMode.values()) { if (mode.name().equals(code)) return mode; } return null; } }