001/*
002 * Configurate
003 * Copyright (C) zml and Configurate contributors
004 *
005 * Licensed under the Apache License, Version 2.0 (the "License");
006 * you may not use this file except in compliance with the License.
007 * You may obtain a copy of the License at
008 *
009 *    http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017package org.spongepowered.configurate.jackson;
018
019/**
020 * Enumeration of field value separator styles.
021 *
022 * @since 4.0.0
023 */
024public enum FieldValueSeparatorStyle {
025
026    /**
027     * Style which uses spaces either side of the <code>:</code> character.
028     *
029     * @since 4.0.0
030     */
031    SPACE_BOTH_SIDES(" : "),
032
033    /**
034     * Style which uses a space after the <code>:</code> character.
035     *
036     * @since 4.0.0
037     */
038    SPACE_AFTER(": "),
039
040    /**
041     * Style which uses no spaces.
042     *
043     * @since 4.0.0
044     */
045    NO_SPACE(":");
046
047    private final String decorationType;
048
049    FieldValueSeparatorStyle(final String decorationType) {
050        this.decorationType = decorationType;
051    }
052
053    /**
054     * Get the literal separator for this type.
055     *
056     * @return literal separator value
057     * @since 4.0.0
058     */
059    public String value() {
060        return this.decorationType;
061    }
062
063}