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 Details

    • buildLoginMsg

      public static String buildLoginMsg(IUser user, javax.servlet.http.HttpSession session, String lang, String userLogin, String targetUrl, Object... params) throws Exception
      Throws:
      Exception
    • buildLoginMsg

      @Deprecated public static String buildLoginMsg(Benutzer user, javax.servlet.http.HttpSession session, String lang, String userLogin, Long manID, Object... params) throws Exception
      Throws:
      Exception
    • buildLoginMsg

      @Deprecated 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

      @Deprecated public static String buildBenutzerMsg(Benutzer b, javax.servlet.http.HttpSession session, String lang, Object... params) throws Exception
      Deprecated.
      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ä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:
    • 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(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ä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
    • 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 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