001package fr.aumgn.bukkitutils.localization.loaders;
002
003import java.io.Reader;
004import java.util.Map;
005
006import com.google.gson.Gson;
007import com.google.gson.GsonBuilder;
008import com.google.gson.reflect.TypeToken;
009
010public class JsonMessagesLoader extends MessagesLoader {
011
012    @Override
013    public String[] getExtensions() {
014        return new String[] { "json" };
015    }
016
017    @Override
018    public Map<?, ?> loadRaw(Reader reader) {
019        Gson gson = new GsonBuilder()
020            .create();
021
022        TypeToken<Map<String, Object>> typeToken =
023                new TypeToken<Map<String, Object>>() {};
024        Object obj = gson.fromJson(reader, typeToken.getRawType());
025        return (Map<?, ?>) obj;
026    }
027}