Class JSONBuilder


  • public final class JSONBuilder
    extends Object
    Responder-Implementierungen für JSON zur Request-Verarbeitung und/oder Response-Befüllung.
    • Method Detail

      • 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äten
        attrs - Response-Attribute, welche an Client geschickt werden sollen
        session - Session
        returnValues - Zuätzliche Parameter, die dem JSON-Response hinzugefügt werden sollen. Kann null 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 mit LocalizedMessageWrapper-Objekten zu lokalisieren und der Map, die als Parameter returnValues mitkommt, hinzuzufügen. Es wird zunächst geprüft ob die Map returnValues 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 einen StringBuffer geschrieben. Im Anschluss wird über die Liste i18nMsgs iteriert, die Einträge lokalisiert und den StringBuffer mit den "msg"-Inhalt angefügt.
        Parameters:
        entityList - Liste von Entitäten
        attrs - Response-Attribute, welche an Client geschickt werden sollen
        session - Session
        returnValues - Zuätzliche Parameter, die dem JSON-Response hinzugefügt werden sollen. Kann null sein. Dieser Liste werden die I18N-Einträge unter dem Key "msg" hinzugefügt.
        i18nMsgs - Liste mit LocalizedMessageWrapper-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 Enums
        session - the HttpSession
        Returns:
        Response-Inhalt Im Fehlerfall wird eine Meldung an Client gegeben, dass bei der Anfrage ein Fehler aufgetretten ist
      • 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äten
        attr - Response-Attribute
        session - the HttpSession
        returnValues - Zuätzliche Parameter, die dem JSON-Response hinzugefügt werden sollen. Kann null sein.
        Returns:
        Baut Response-Inhalte im JSON-Format zusammen
        Throws:
        PropertyException - on errors while building the json object
      • 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 Fehlermeldung
        session - HttpSession
        returnValue - Zuätzliche Parameter, die dem JSON-Response hinzugefügt werden sollen. Kann null 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 Fehlermeldung
        session - 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 Meldung
        session - Session
        success - Erfolgswert
        params - 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)
      • buildReturnValue

        public static String buildReturnValue​(String returnValue,
                                              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