Package com.coroptis.cubiculus.rest.mappers

Source Code of com.coroptis.cubiculus.rest.mappers.JsonMapperAjPageable

/**
* Copyright 2012 cubiculus.com
*
*    Licensed under the Apache License, Version 2.0 (the "License");
*    you may not use this file except in compliance with the License.
*    You may obtain a copy of the License at
*
*        http://www.apache.org/licenses/LICENSE-2.0
*
*    Unless required by applicable law or agreed to in writing, software
*    distributed under the License is distributed on an "AS IS" BASIS,
*    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*    See the License for the specific language governing permissions and
*    limitations under the License.
*/
package com.coroptis.cubiculus.rest.mappers;

import java.util.ArrayList;

import com.coroptis.cubiculus.rest.model.AjLegoBox;
import com.coroptis.cubiculus.rest.model.AjPageable;
import com.sdicons.json.mapper.JSONMapper;
import com.sdicons.json.mapper.MapperException;
import com.sdicons.json.mapper.helper.SimpleMapperHelper;
import com.sdicons.json.mapper.helper.impl.ObjectMapper;
import com.sdicons.json.model.JSONArray;
import com.sdicons.json.model.JSONObject;
import com.sdicons.json.model.JSONValue;


public class JsonMapperAjPageable implements SimpleMapperHelper {

    @Override
    public Class getHelpedClass() {
  return AjPageable.class;
    }

    @Override
    public Object toJava(JSONValue aValue, Class aRequestedClass) throws MapperException {
  if (aValue.isObject()) {
      final JSONObject jsonObject = (JSONObject) aValue;
      final AjPageable out = new AjPageable();
      out.setAsc(Helper.getBooleanRequired(jsonObject, "asc",
        "AjPageable property asc was not found in json data"));
      out.setBase(Helper.getIntRequired(jsonObject, "base",
        "AjPageable property base was not found in json data"));
      out.setCurrentPageNo(Helper.getIntRequired(jsonObject, "currentPageNo",
        "AjPageable property currentPageNo was not found in json data"));
      out.setOrderBy(Helper.getStringRequired(jsonObject, "orderBy",
        "AjPageable property orderBy was not found in json data"));
      out.setRowCount(Helper.getIntRequired(jsonObject, "rowCount",
        "AjPageable property rowCount was not found in json data"));
      out.setRowPerPage(Helper.getIntRequired(jsonObject, "rowPerPage",
        "AjPageable property rowPerPage was not found in json data"));
      JSONValue list = jsonObject.get("currentPage");
      if (list == null) {
    throw new MapperException(
      "AjPageable property currentPage was not found in json data");
      } else {
    out.setCurrentPage(new ArrayList<AjLegoBox>());
    JSONArray array = (JSONArray) list;
    for (JSONValue jsonValue : array.getValue()) {
        out.getCurrentPage().add(
          (AjLegoBox) JSONMapper.toJava(jsonValue, AjLegoBox.class));
    }

      }
      return out;
  }
  throw new MapperException("AjPropertyValue cannot map: " + aValue.getClass().getName());
    }

    @Override
    public JSONValue toJSON(Object aPojo) throws MapperException {
  ObjectMapper objectMapper = new ObjectMapper();
  return objectMapper.toJSON(aPojo);
    }

}
TOP

Related Classes of com.coroptis.cubiculus.rest.mappers.JsonMapperAjPageable

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.