001/* 002 * jPOS Project [http://jpos.org] 003 * Copyright (C) 2000-2026 jPOS Software SRL 004 * 005 * This program is free software: you can redistribute it and/or modify 006 * it under the terms of the GNU Affero General Public License as 007 * published by the Free Software Foundation, either version 3 of the 008 * License, or (at your option) any later version. 009 * 010 * This program is distributed in the hope that it will be useful, 011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 013 * GNU Affero General Public License for more details. 014 * 015 * You should have received a copy of the GNU Affero General Public License 016 * along with this program. If not, see <http://www.gnu.org/licenses/>. 017 */ 018 019package org.jpos.tlv; 020 021 022/** 023 * Describes the data format (encoding, length type) of a TLV field. 024 * @author Vishnu Pillai 025 */ 026public enum TLVDataFormat { 027 /** ASCII digits {@code 0-9}. */ 028 ASCII_NUMERIC, 029 /** ASCII alphabetic characters. */ 030 ASCII_ALPHA, 031 /** ASCII alphanumeric characters. */ 032 ASCII_ALPHA_NUMERIC, 033 /** ASCII alphanumeric characters and spaces. */ 034 ASCII_ALPHA_NUMERIC_SPACE, 035 /** ASCII alphanumeric and special characters. */ 036 ASCII_ALPHA_NUMERIC_SPECIAL, 037 /** Raw binary bytes. */ 038 BINARY, 039 /** Compressed numeric (digits packed into nibbles, with padding). */ 040 COMPRESSED_NUMERIC, 041 /** Constructed data object containing nested TLVs. */ 042 CONSTRUCTED, 043 /** Packed BCD numeric (two digits per byte). */ 044 PACKED_NUMERIC, 045 /** Packed BCD date in {@code YYMMDD} form. */ 046 PACKED_NUMERIC_DATE_YYMMDD, 047 /** Packed BCD time in {@code HHMMSS} form. */ 048 PACKED_NUMERIC_TIME_HHMMSS, 049 /** Proprietary/unspecified format. */ 050 PROPRIETARY 051}