All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cc.owoo.godpen.content.json.JsonString Maven / Gradle / Ivy

package cc.owoo.godpen.content.json;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;

/**
 * 当值为字符串时,能够进行的操作
 * Created by nimensei
 * 2022-05-28 上午 01:58
 **/
public final class JsonString extends Json {
    private CharSequence charSequence;

    JsonString(CharSequence charSequence) {
        this.charSequence = charSequence;
    }

    @Override
    public Object getObject() {
        return charSequence;
    }

    @Override
    boolean setObject(Object data) {
        if (!(data instanceof CharSequence value))
            return false;
        this.charSequence = value;
        return true;
    }

    @Override
    boolean setValue(String key, Object value) {
        return false;
    }

    @Override
    boolean setValue(int index, Object value) {
        return false;
    }

    @Override
    Object getValue(String key) {
        return null;
    }

    @Override
    Object getValue(int index) {
        return null;
    }

    @Override
    public Object removeValue(String key) {
        return null;
    }

    @Override
    public Object removeValue(int index) {
        return null;
    }

    @Override
    Boolean getBooleanValue() {
        return charSequence.toString().equals("true");
    }

    @Override
    Number getNumberValue() {
        try {
            return new BigDecimal(charSequence.toString());
        } catch (Exception e) {
            return null;
        }
    }

    @Override
    CharSequence getCharSequenceValue() {
        return charSequence;
    }

    @Override
    public HashMap getHashMap() {
        return Translate.parseHashMap(charSequence);
    }

    @Override
    public ArrayList getArrayList() {
        return Translate.parseArrayList(charSequence);
    }

    @Override
    public int getSize() {
        return 0;
    }
}