package cn.dreampie.route.config; import cn.dreampie.common.Render; import cn.dreampie.common.http.result.HttpStatus; import cn.dreampie.common.util.json.Jsoner; import cn.dreampie.route.holder.ExceptionHolder; import cn.dreampie.route.render.RenderFactory; import com.alibaba.fastjson.parser.Feature; import com.alibaba.fastjson.parser.deserializer.ObjectDeserializer; import com.alibaba.fastjson.serializer.ObjectSerializer; import com.alibaba.fastjson.serializer.SerializerFeature; import java.lang.reflect.Type; /** * The constant for Resty runtime. */ final public class ConstantLoader extends Loader { public void setDefaultForward(String url) { ExceptionHolder.setDefaultForward(url); } public void setDefaultRedirect(String url) { ExceptionHolder.setDefaultRedirect(url); } public void addFoward(HttpStatus status, String url) { ExceptionHolder.addFoward(status, url); } public void addRedirect(HttpStatus status, String url) { ExceptionHolder.addRedirect(status, url); } //render public void addRender(String extension, Render render) { RenderFactory.add(extension, render); } public void addDefaultRender(String extension, Render render) { RenderFactory.addDefault(extension, render); } public void addJsonConfig(Type type, ObjectSerializer serializer, ObjectDeserializer deserializer) { addJsonSerializer(type, serializer); addJsonDeserializer(type, deserializer); } public void addJsonSerializerFeature(SerializerFeature... features) { Jsoner.addSerializerFeature(features); } public void addJsonDeserializerFeature(Feature... features) { Jsoner.addDeserializerFeature(features); } public void addJsonSerializer(Type type, ObjectSerializer serializer) { Jsoner.addSerializer(type, serializer); } public void addJsonDeserializer(Type type, ObjectDeserializer deserializer) { Jsoner.addDeserializer(type, deserializer); } public void clear() { ExceptionHolder.clear(); RenderFactory.clear(); Jsoner.clear(); } }