Package de.xima.fc.web.common.json
Class JSONBuilder
- java.lang.Object
-
- de.xima.fc.web.common.json.JSONBuilder
-
public final class JSONBuilder extends Object
Responder-Implementierungen für JSON zur Request-Verarbeitung und/oder Response-Befüllung.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static StringbuildBenutzerMsg(Benutzer b, javax.servlet.http.HttpSession session, String lang, Object... params)static StringbuildEmptyObj()Liefert einen 'leeren' Response-Inhalt, der beispielsweise im Fehlerfall verwendet werden kann.static StringbuildEntityList(List<? extends ITransferableEntity> entityList, ArrayList<BeanAttribute> attrs, javax.servlet.http.HttpSession session, HashMap<String,String> returnValues)Stellt den Response-Inhalt im JSON-Format bereit, mit allen Entitäten welche übergeben wurdenstatic StringbuildEntityList(List<? extends ITransferableEntity> entityList, ArrayList<BeanAttribute> attrs, javax.servlet.http.HttpSession session, HashMap<String,String> returnValues, List<de.xima.cmn.i18n.LocalizedMessageWrapper> i18nMsgs)Diese Methode erlaubt es eine Liste mitLocalizedMessageWrapper-Objekten zu lokalisieren und der Map, die als ParameterreturnValuesmitkommt, hinzuzufügen.static StringbuildErrorMsg(Exception exception, javax.servlet.http.HttpSession session)static StringbuildErrorMsg(String error, javax.servlet.http.HttpSession session)static StringbuildErrorMsg(List<de.xima.cmn.i18n.LocalizedMessageWrapper> errorMsg, javax.servlet.http.HttpSession session)static StringbuildErrorMsgByKey(String i18nkey, String errorCode, javax.servlet.http.HttpSession session, Object... params)static StringbuildErrorMsgByKey(String i18nkey, javax.servlet.http.HttpSession session, Object... params)Liefert eine Fehlermeldung anhand des übergebenen i18n-Schlüsselsstatic StringbuildErrorMsgWithResult(String i18nkey, javax.servlet.http.HttpSession session, ITransferableEntity returnValue)Liefert eine Fehlermeldung anhand des übergebenen Schlüsses und Rückgabewertstatic <E extends ITransferable>
StringbuildExtendedEntityList(List<ExtendedEntityModel<E>> dataList, ArrayList<BeanAttribute> attr, javax.servlet.http.HttpSession session, HashMap<String,String> returnValues)static StringbuildList(List<? extends ITransferable> entityList, ArrayList<BeanAttribute> attr, javax.servlet.http.HttpSession session, HashMap<String,String> returnValues)Verarbeitet die konkreten Entitäten und baut den JSON-Response zusammenstatic StringbuildList(List<ArrayList<ValueDescriptor>> enumList, javax.servlet.http.HttpSession session)static StringbuildList(List<ArrayList<ValueDescriptor>> enumList, javax.servlet.http.HttpSession session, boolean plain)static StringbuildLoginMsg(Benutzer user, javax.servlet.http.HttpSession session, String lang, String userLogin, Long manID, Object... params)Erstellt den Response-Inhalt für die Benutzeranmeldung.static StringbuildLoginMsg(Benutzer user, javax.servlet.http.HttpSession session, String lang, String userLogin, Long manID, String targetUrl, Object... params)static StringbuildMessage(String msg, javax.servlet.http.HttpSession session, boolean success)static StringbuildMessageByKey(String i18nKey, javax.servlet.http.HttpSession session, boolean success, Object... params)Erstellt den Response-Inhalt mit einer Rückmeldung bezüglich des Löschvorgangsstatic StringbuildOtherList(de.xima.cmn.db.model.SerializableResultSet resultSet, javax.servlet.http.HttpSession session)static StringbuildOtherList(List<ArrayList<ValueDescriptor>> valueList, javax.servlet.http.HttpSession session)static StringbuildOtherSet(Set<ArrayList<ValueDescriptor>> valueList, javax.servlet.http.HttpSession session)Stellt den Response-Inhalt im JSON-Format bereit, mit allen Enums welche übergeben wurdenstatic StringbuildReturnJsonArrMsg(String msg, javax.servlet.http.HttpSession session, com.alibaba.fastjson.JSONArray returnValue, boolean success)static StringbuildReturnJsonObjMsg(String msg, javax.servlet.http.HttpSession session, com.alibaba.fastjson.JSONObject returnValue, boolean success)static StringbuildReturnMsg(String msg, javax.servlet.http.HttpSession session, String returnValue, boolean success)static StringbuildReturnMsgByKey(String i18nKey, javax.servlet.http.HttpSession session, String returnValue, boolean success)static StringbuildReturnValue(String returnValue, boolean success)static StringbuildSet(Set<ArrayList<ValueDescriptor>> enumList, javax.servlet.http.HttpSession session)static StringbuildSimpleIdMap(Map<Integer,String> simpleMap, javax.servlet.http.HttpSession session)static StringbuildSimpleList(List<String> simpleList, javax.servlet.http.HttpSession session)static StringbuildSuccessMsg(boolean success)static List<ArrayList<ValueDescriptor>>convert2ValueDescrList(de.xima.cmn.db.model.SerializableResultSet rs)static com.alibaba.fastjson.JSONWriterstartJSONObj(Writer out, boolean success)
-
-
-
Method Detail
-
buildLoginMsg
public static String buildLoginMsg(Benutzer user, javax.servlet.http.HttpSession session, String lang, String userLogin, Long manID, Object... params) throws Exception
Erstellt den Response-Inhalt für die Benutzeranmeldung.- Parameters:
user- Der betreffende Benutzer odernull, wenn kein entsprechender (gültiger) Benutzer existiert.session- Sessionparams- Parameter für die Verarbeitung des Logins- Returns:
- Response-Inhalt.
- Throws:
Exception- Wenn Probleme auftreten.
-
buildLoginMsg
public static String buildLoginMsg(Benutzer user, javax.servlet.http.HttpSession session, String lang, String userLogin, Long manID, String targetUrl, Object... params) throws Exception
- Throws:
Exception
-
buildBenutzerMsg
public static String buildBenutzerMsg(Benutzer b, javax.servlet.http.HttpSession session, String lang, Object... params) throws Exception
- Throws:
Exception
-
buildEntityList
public static String buildEntityList(List<? extends ITransferableEntity> entityList, ArrayList<BeanAttribute> attrs, javax.servlet.http.HttpSession session, HashMap<String,String> returnValues)
Stellt den Response-Inhalt im JSON-Format bereit, mit allen Entitäten welche übergeben wurden- Parameters:
entityList- Liste von Entitätenattrs- Response-Attribute, welche an Client geschickt werden sollensession- SessionreturnValues- Zuätzliche Parameter, die dem JSON-Response hinzugefügt werden sollen. Kannnullsein.- Returns:
- Response-Inhalt Im Fehlerfall wird eine Meldung an Client gegeben, dass bei der Anfrage ein Fehler aufgetretten ist
-
buildEntityList
public static String buildEntityList(List<? extends ITransferableEntity> entityList, ArrayList<BeanAttribute> attrs, javax.servlet.http.HttpSession session, HashMap<String,String> returnValues, List<de.xima.cmn.i18n.LocalizedMessageWrapper> i18nMsgs)
Diese Methode erlaubt es eine Liste mitLocalizedMessageWrapper-Objekten zu lokalisieren und der Map, die als ParameterreturnValuesmitkommt, hinzuzufügen. Es wird zunächst geprüft ob die MapreturnValuesbereits Einträge hat, wenn ja werden diese übernommen. Ist unter diesen Einträgen ein Eintrag mit dem Key "msg", so wird dieser extrahiert und in einenStringBuffergeschrieben. Im Anschluss wird über die Listei18nMsgsiteriert, die Einträge lokalisiert und denStringBuffermit den "msg"-Inhalt angefügt.- Parameters:
entityList- Liste von Entitätenattrs- Response-Attribute, welche an Client geschickt werden sollensession- SessionreturnValues- Zuätzliche Parameter, die dem JSON-Response hinzugefügt werden sollen. Kannnullsein. Dieser Liste werden die I18N-Einträge unter dem Key "msg" hinzugefügt.i18nMsgs- Liste mitLocalizedMessageWrapper-Objekten, die zu einer Zeichenkette konvertiert werden.- Returns:
- Response-Inhalt Im Fehlerfall wird eine Meldung an Client gegeben, dass bei der Anfrage ein Fehler aufgetretten ist
- See Also:
buildEntityList(List, ArrayList, HttpSession, HashMap)
-
buildOtherSet
public static String buildOtherSet(Set<ArrayList<ValueDescriptor>> valueList, javax.servlet.http.HttpSession session)
Stellt den Response-Inhalt im JSON-Format bereit, mit allen Enums welche übergeben wurden- Parameters:
valueList- Liste von Enumssession- theHttpSession- Returns:
- Response-Inhalt Im Fehlerfall wird eine Meldung an Client gegeben, dass bei der Anfrage ein Fehler aufgetretten ist
-
buildOtherList
public static String buildOtherList(List<ArrayList<ValueDescriptor>> valueList, javax.servlet.http.HttpSession session)
-
buildOtherList
public static String buildOtherList(de.xima.cmn.db.model.SerializableResultSet resultSet, javax.servlet.http.HttpSession session)
-
buildSimpleList
public static String buildSimpleList(List<String> simpleList, javax.servlet.http.HttpSession session)
-
buildSimpleIdMap
public static String buildSimpleIdMap(Map<Integer,String> simpleMap, javax.servlet.http.HttpSession session)
-
buildSet
public static String buildSet(Set<ArrayList<ValueDescriptor>> enumList, javax.servlet.http.HttpSession session) throws com.alibaba.fastjson.JSONException
- Throws:
com.alibaba.fastjson.JSONException
-
buildList
public static String buildList(List<ArrayList<ValueDescriptor>> enumList, javax.servlet.http.HttpSession session) throws com.alibaba.fastjson.JSONException
- Throws:
com.alibaba.fastjson.JSONException
-
buildList
public static String buildList(List<ArrayList<ValueDescriptor>> enumList, javax.servlet.http.HttpSession session, boolean plain) throws com.alibaba.fastjson.JSONException
- Throws:
com.alibaba.fastjson.JSONException
-
buildList
public static String buildList(List<? extends ITransferable> entityList, ArrayList<BeanAttribute> attr, javax.servlet.http.HttpSession session, HashMap<String,String> returnValues) throws PropertyException
Verarbeitet die konkreten Entitäten und baut den JSON-Response zusammen- Parameters:
entityList- Liste von Entitätenattr- Response-Attributesession- theHttpSessionreturnValues- Zuätzliche Parameter, die dem JSON-Response hinzugefügt werden sollen. Kannnullsein.- Returns:
- Baut Response-Inhalte im JSON-Format zusammen
- Throws:
PropertyException- on errors while building the json object
-
buildExtendedEntityList
public static <E extends ITransferable> String buildExtendedEntityList(List<ExtendedEntityModel<E>> dataList, ArrayList<BeanAttribute> attr, javax.servlet.http.HttpSession session, HashMap<String,String> returnValues) throws PropertyException
- Throws:
PropertyException
-
buildErrorMsgWithResult
public static String buildErrorMsgWithResult(String i18nkey, javax.servlet.http.HttpSession session, ITransferableEntity returnValue)
Liefert eine Fehlermeldung anhand des übergebenen Schlüsses und Rückgabewert- Parameters:
i18nkey- i18n-Key für Fehlermeldungsession-HttpSessionreturnValue- Zuätzliche Parameter, die dem JSON-Response hinzugefügt werden sollen. Kannnullsein.- Returns:
- Response-Inhalt.
-
buildErrorMsgByKey
public static String buildErrorMsgByKey(String i18nkey, javax.servlet.http.HttpSession session, Object... params)
Liefert eine Fehlermeldung anhand des übergebenen i18n-Schlüssels- Parameters:
i18nkey- i18n-Key für Fehlermeldungsession-HttpSessionparams- parameters- Returns:
- Response-Inhalt.
-
buildErrorMsgByKey
public static String buildErrorMsgByKey(String i18nkey, String errorCode, javax.servlet.http.HttpSession session, Object... params)
-
buildErrorMsg
public static String buildErrorMsg(Exception exception, javax.servlet.http.HttpSession session)
-
buildErrorMsg
public static String buildErrorMsg(String error, javax.servlet.http.HttpSession session)
-
buildErrorMsg
public static String buildErrorMsg(List<de.xima.cmn.i18n.LocalizedMessageWrapper> errorMsg, javax.servlet.http.HttpSession session)
-
buildMessageByKey
public static String buildMessageByKey(String i18nKey, javax.servlet.http.HttpSession session, boolean success, Object... params)
Erstellt den Response-Inhalt mit einer Rückmeldung bezüglich des Löschvorgangs- Parameters:
i18nKey- Schlüssel mit Meldungsession- Sessionsuccess- Erfolgswertparams- parameters- Returns:
- Response-Inhalt
-
buildMessage
public static String buildMessage(String msg, javax.servlet.http.HttpSession session, boolean success)
-
buildReturnMsg
public static String buildReturnMsg(String msg, javax.servlet.http.HttpSession session, String returnValue, boolean success)
-
buildReturnJsonArrMsg
public static String buildReturnJsonArrMsg(String msg, javax.servlet.http.HttpSession session, com.alibaba.fastjson.JSONArray returnValue, boolean success)
-
buildReturnJsonObjMsg
public static String buildReturnJsonObjMsg(String msg, javax.servlet.http.HttpSession session, com.alibaba.fastjson.JSONObject returnValue, boolean success)
-
buildReturnMsgByKey
public static String buildReturnMsgByKey(String i18nKey, javax.servlet.http.HttpSession session, String returnValue, boolean success)
-
buildEmptyObj
public static String buildEmptyObj()
Liefert einen 'leeren' Response-Inhalt, der beispielsweise im Fehlerfall verwendet werden kann.- Returns:
- Zeichenkette mit leerem Response-Inhalt
-
buildSuccessMsg
public static String buildSuccessMsg(boolean success)
-
startJSONObj
public static com.alibaba.fastjson.JSONWriter startJSONObj(Writer out, boolean success)
-
convert2ValueDescrList
public static List<ArrayList<ValueDescriptor>> convert2ValueDescrList(de.xima.cmn.db.model.SerializableResultSet rs)
- Parameters:
rs- the result of database query - row set
-
-