package foundation.route; import foundation.json.IJSONProvider; import foundation.json.IJSONWriter; public abstract class Route implements IJSONProvider { protected RouteBrowseCode browseCode; protected String from; protected RouteType routeType; protected String remark; public Route(RouteBrowseCode browseCode, String from) { this.browseCode = browseCode; this.from = formateFrom(from); } protected abstract String formateFrom(String from); public String getFrom() { return from; } @Override public void writeJSON(IJSONWriter writer) { writer.beginObject(); writer.write("browseCode", browseCode.toString()); onWriteJSON(writer); writer.endObject(); } protected void onWriteJSON(IJSONWriter writer) { } public RouteType getRouteType() { return routeType; } @Override public String toString() { return remark; } }