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 String
buildBenutzerMsg(Benutzer b, javax.servlet.http.HttpSession session, String lang, Object... params)
static String
buildEmptyObj()
Liefert einen 'leeren' Response-Inhalt, der beispielsweise im Fehlerfall verwendet werden kann.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 wurdenstatic 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 ParameterreturnValues
mitkommt, hinzuzufügen.static String
buildErrorMsg(Exception exception, javax.servlet.http.HttpSession session)
static String
buildErrorMsg(String error, javax.servlet.http.HttpSession session)
static String
buildErrorMsg(List<de.xima.cmn.i18n.LocalizedMessageWrapper> errorMsg, javax.servlet.http.HttpSession session)
static String
buildErrorMsgByKey(String i18nkey, String errorCode, javax.servlet.http.HttpSession session, Object... params)
static String
buildErrorMsgByKey(String i18nkey, javax.servlet.http.HttpSession session, Object... params)
Liefert eine Fehlermeldung anhand des übergebenen i18n-Schlüsselsstatic String
buildErrorMsgWithResult(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 String
buildList(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 String
buildList(List<ArrayList<ValueDescriptor>> enumList, javax.servlet.http.HttpSession session)
static String
buildList(List<ArrayList<ValueDescriptor>> enumList, javax.servlet.http.HttpSession session, boolean plain)
static String
buildLoginMsg(Benutzer user, javax.servlet.http.HttpSession session, String lang, String userLogin, Long manID, Object... params)
Erstellt den Response-Inhalt für die Benutzeranmeldung.static String
buildLoginMsg(Benutzer user, javax.servlet.http.HttpSession session, String lang, String userLogin, Long manID, String targetUrl, Object... params)
static String
buildMessage(String msg, javax.servlet.http.HttpSession session, boolean success)
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öschvorgangsstatic String
buildOtherList(de.xima.cmn.db.model.SerializableResultSet resultSet, javax.servlet.http.HttpSession session)
static String
buildOtherList(List<ArrayList<ValueDescriptor>> valueList, javax.servlet.http.HttpSession session)
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 wurdenstatic String
buildReturnJsonArrMsg(String msg, javax.servlet.http.HttpSession session, com.alibaba.fastjson.JSONArray returnValue, boolean success)
static String
buildReturnJsonObjMsg(String msg, javax.servlet.http.HttpSession session, com.alibaba.fastjson.JSONObject returnValue, boolean success)
static String
buildReturnMsg(String msg, javax.servlet.http.HttpSession session, String returnValue, boolean success)
static String
buildReturnMsgByKey(String i18nKey, javax.servlet.http.HttpSession session, String returnValue, boolean success)
static String
buildReturnValue(String returnValue, boolean success)
static String
buildSet(Set<ArrayList<ValueDescriptor>> enumList, javax.servlet.http.HttpSession session)
static String
buildSimpleIdMap(Map<Integer,String> simpleMap, javax.servlet.http.HttpSession session)
static String
buildSimpleList(List<String> simpleList, javax.servlet.http.HttpSession session)
static String
buildSuccessMsg(boolean success)
static List<ArrayList<ValueDescriptor>>
convert2ValueDescrList(de.xima.cmn.db.model.SerializableResultSet rs)
static com.alibaba.fastjson.JSONWriter
startJSONObj(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. Kannnull
sein.- 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 ParameterreturnValues
mitkommt, hinzuzufügen. Es wird zunächst geprüft ob die MapreturnValues
bereits 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 einenStringBuffer
geschrieben. Im Anschluss wird über die Listei18nMsgs
iteriert, die Einträge lokalisiert und denStringBuffer
mit 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. Kannnull
sein. 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
- theHttpSession
returnValues
- Zuätzliche Parameter, die dem JSON-Response hinzugefügt werden sollen. Kannnull
sein.- 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
-HttpSession
returnValue
- Zuätzliche Parameter, die dem JSON-Response hinzugefügt werden sollen. Kannnull
sein.- 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
-HttpSession
params
- 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
-
-