List of usage examples for com.google.gson.typeadapters RuntimeTypeAdapterFactory of
public static <T> RuntimeTypeAdapterFactory<T> of(Class<T> baseType, String typeFieldName)
From source file:AAMAirline.service.PdfServlet.java
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { RuntimeTypeAdapterFactory<Jsonable> rta = RuntimeTypeAdapterFactory.of(Jsonable.class, "_class") .registerSubtype(Ciudad.class, "Ciudad").registerSubtype(Tiquete.class, "Tiquete") .registerSubtype(Ruta.class, "Ruta").registerSubtype(Avion.class, "Avion") .registerSubtype(Usuario.class, "Usuario").registerSubtype(Asiento.class, "Asiento") .registerSubtype(Vuelo.class, "Vuelo"); response.setContentType("aplication/pdf"); response.setHeader("Content-Disposition", "inline;filename=\"report.pdf\""); PdfDocument pdf = new PdfDocument(new PdfWriter(response.getOutputStream())); Gson gson = new GsonBuilder().registerTypeAdapterFactory(rta).setDateFormat("dd/MM/yyyy").create(); String json;//from www.j a v a 2s . c om try (Document document = new Document(pdf)) { Paragraph p; p = new Paragraph("TIQUETE DE VUELO"); p.setTextAlignment(TextAlignment.CENTER); p.setBold(); p.setBackgroundColor(Color.PINK); document.add(p); String h = "Vuelo %s, %s - %s, %s %s %s"; String codigo_tiquete = request.getParameter("tiquete"); Tiquete ticket = AAMAirlineModel.consultaTiquete(codigo_tiquete); ArrayList<String> asientosIda = AAMAirlineModel.getAsientosPDF(ticket.getCodigo_Tiquete(), ticket.getVueloida().getAvion().getCodigo_Avion()); ArrayList asientosVuelta; String asientos = ""; String horaVuelta = ""; Float precio = (ticket.getVueloida().getPrecio()) * (asientosIda.size()); if (ticket.getVueloVuelta() != null) { asientosVuelta = AAMAirlineModel.getAsientosPDF(ticket.getCodigo_Tiquete(), ticket.getVueloVuelta().getAvion().getCodigo_Avion()); horaVuelta = " / salida vuelo Vuelta " + ticket.getVueloVuelta().getHora_salida() + " horas "; asientos = asientos + "Vuelta \n"; for (int i = 0; i < asientosVuelta.size(); i++) { asientos = asientos + asientosVuelta.get(i) + "\n"; } precio += (ticket.getVueloVuelta().getPrecio() * asientosVuelta.size()); } String horaida = ticket.getVueloida().getHora_salida(); String algo = " horas "; h = String.format(h, ticket.getVueloida().getCodigo_Vuelo(), ticket.getVueloida().getRuta().getCiudadO().getNombre(), ticket.getVueloida().getRuta().getCiudadD().getNombre(), ticket.getVueloida().getDia_salida(), " salida vuelo ida :" + horaida + algo, horaVuelta); p = new Paragraph(h); p.setTextAlignment(TextAlignment.LEFT); p.setBold(); document.add(p); for (int i = 0; i < asientosIda.size(); i++) { asientos = asientos + "Ida: \n"; asientos = asientos + asientosIda.get(i) + "\n"; } p = new Paragraph("------------- Asientos ------------- \n" + asientos); document.add(p); p = new Paragraph("COSTO TOTAL: $ " + precio); p.setTextAlignment(TextAlignment.RIGHT); p.setBold(); p.setBackgroundColor(Color.PINK); document.add(p); } catch (SQLException ex) { Logger.getLogger(PdfServlet.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:airline.service.AirlineService.java
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset-UTF-8"); try (PrintWriter out = response.getWriter()) { response.setContentType("text/xml"); RuntimeTypeAdapterFactory<Jsonable> rta = RuntimeTypeAdapterFactory.of(Jsonable.class, "_class") .registerSubtype(Ciudad.class, "Ciudad").registerSubtype(Vuelo.class, "Vuelo") .registerSubtype(Avion.class, "Avion").registerSubtype(Reservacion.class, "Reservacion") .registerSubtype(Tiquete.class, "Tiquete").registerSubtype(Asiento.class, "Asiento") .registerSubtype(Usuario.class, "Usuario").registerSubtype(Viaje.class, "Viaje"); Gson gson = new GsonBuilder().registerTypeAdapterFactory(rta).setDateFormat("yyyy-MM-dd").create(); String json;/*from w w w . j a va2 s. c o m*/ String accion = request.getParameter("action"); System.out.println(accion); List<Ciudad> ciudades; List<Vuelo> vuelos; List<Avion> aviones; List<Viaje> viajes; List<Viaje> viajes2; List<Reservacion> reservaciones; List<Tiquete> tiquetes; List<Usuario> usuarios; List<Asiento> asientosIda; List<Asiento> asientosVuelta; Usuario usuario; Viaje v; Ciudad c1; Vuelo vu; Avion a; Reservacion r1; Asiento a1; switch (accion) { case "ciudadListAll": ciudades = model.selectAllCities(); json = gson.toJson(ciudades); out.write(json); break; case "vueloListPromo": vuelos = model.selectAllFlightsPromo(); json = gson.toJson(vuelos); out.write(json); break; case "viajeListSearch": String origen = request.getParameter("origen"); String destino = request.getParameter("destino"); String diaIda = request.getParameter("diaIda"); String fechaIda = request.getParameter("fechaIda"); viajes = model.searchTravels(origen, destino, diaIda, fechaIda); json = gson.toJson(viajes); out.write(json); break; case "viajeListSearchByDestiny": String origen_vuelo = request.getParameter("origen"); String destino_vuelo = request.getParameter("destino"); String diaVuelta = request.getParameter("diaVuelta"); String fechaVuelta = request.getParameter("fechaVuelta"); viajes = model.searchTravels(destino_vuelo, origen_vuelo, diaVuelta, fechaVuelta); json = gson.toJson(viajes); out.write(json); break; case "selectFacturaUltimos12": reservaciones = model.selectFacturaUltimos12(); json = gson.toJson(reservaciones); out.write(json); break; case "selectReCurrentYear": reservaciones = model.selectReCurrentYear(); json = gson.toJson(reservaciones); out.write(json); break; case "selectReservacionByUser": String Nusuario = request.getParameter("usuario"); reservaciones = model.selectReservacionByUser(Nusuario); json = gson.toJson(reservaciones); out.write(json); break; case "selectClientsByPlane": String plane1 = request.getParameter("avion"); tiquetes = model.selectClientsByPlane(plane1); json = gson.toJson(tiquetes); out.write(json); break; case "selectTiquetes": String reserv1 = request.getParameter("reservacionNumero"); tiquetes = model.selectTiquete(reserv1); json = gson.toJson(tiquetes); out.write(json); break; case "viajesListAll": viajes = model.selectAllTravels(); json = gson.toJson(viajes); out.write(json); break; case "avionesListAll": aviones = model.selectAllPlanes(); json = gson.toJson(aviones); out.write(json); break; case "vuelosListAll": vuelos = model.selectAllFlights(); json = gson.toJson(vuelos); out.write(json); break; case "usuariosListAll": usuarios = model.selectAllUsers(); json = gson.toJson(usuarios); out.write(json); break; case "asientosIda": String jsonViaje1 = request.getParameter("viajeIda"); Viaje viajeIda = gson.fromJson(jsonViaje1, Viaje.class); asientosIda = model.selectSitsByTrip(viajeIda); json = gson.toJson(asientosIda); out.write(json); break; case "asientosVuelta": String jsonViaje2 = request.getParameter("viajeVuelta"); Viaje viajeVuelta = gson.fromJson(jsonViaje2, Viaje.class); asientosVuelta = model.selectSitsByTrip(viajeVuelta); json = gson.toJson(asientosVuelta); out.write(json); break; case "avionAdd": String jsonAvion = request.getParameter("avion"); Avion avion = gson.fromJson(jsonAvion, Avion.class); int avionNumber = model.insertAvion(avion); json = gson.toJson(avionNumber); out.write(json); break; case "reservacionAdd1": String jsonReservacion = request.getParameter("reservacion"); Reservacion reservacion = gson.fromJson(jsonReservacion, Reservacion.class); int reservacionNumber = model.insertReservacionOneWay(reservacion); json = gson.toJson(reservacion); out.write(json); break; case "reservacionAdd2": String jsonReservacion2 = request.getParameter("reservacion2"); Reservacion reservacion2 = gson.fromJson(jsonReservacion2, Reservacion.class); int reservacionNumber2 = model.insertReservacionTwoWays(reservacion2); json = gson.toJson(reservacionNumber2); out.write(json); break; case "ciudadAdd": String jsonCiudad = request.getParameter("ciudad"); Ciudad ciudad = gson.fromJson(jsonCiudad, Ciudad.class); int ciudadNumber = model.insertCiudad(ciudad); json = gson.toJson(ciudadNumber); out.write(json); break; case "viajeAdd": String jsonViaje = request.getParameter("viaje"); Viaje viaje = gson.fromJson(jsonViaje, Viaje.class); int viajeNumber = model.ViajeAdd(viaje); json = gson.toJson(viajeNumber); out.write(json); break; case "tiqueteAdd": String tiquete = request.getParameter("tiquete"); Tiquete tiquete1 = gson.fromJson(tiquete, Tiquete.class); int tiqueteNumber = model.insertIntoTiquete(tiquete1); json = gson.toJson(tiqueteNumber); out.write(json); break; case "vueloAdd": String jsonVuelo = request.getParameter("vuelo"); Vuelo vuelo = gson.fromJson(jsonVuelo, Vuelo.class); int vueloNumber = model.VueloAdd(vuelo); json = gson.toJson(vueloNumber); out.write(json); break; case "usuarioAdd": String jsonUsuario = request.getParameter("usuario"); Usuario user = gson.fromJson(jsonUsuario, Usuario.class); model.insertUsuario(user); int UsuarioNumber = 1; json = gson.toJson(UsuarioNumber); out.write(json); break; case "usuarioExiste": String nombreUsuario = request.getParameter("nombreUsuario"); boolean exist = model.usuarioExiste(nombreUsuario); json = gson.toJson(exist); out.write(json); break; case "userLogin": Usuario user1; user1 = new Usuario(request.getParameter("usuario"), request.getParameter("contrasena"), "", "", "", new Date(), "", 0, 0, 0); user1 = model.userLogin(user1); if (user1.getTipo() != 0) { request.getSession().setAttribute("usuario", user1); switch (user1.getTipo()) { case 1: // user usuario = model.userLogin(user1); request.getSession().setAttribute("usuario", usuario); request.getRequestDispatcher("/index.jsp").forward(request, response); break; case 2: // manager request.getRequestDispatcher("/viajes.jsp").forward(request, response); break; } } else { request.setAttribute("error", "Usuario/Clave incorrecto"); request.getRequestDispatcher("/login.jsp").forward(request, response); } break; case "userLogout": request.getSession().removeAttribute("usuario"); request.getSession().invalidate(); request.getRequestDispatcher("/index.jsp").forward(request, response); break; case "getViaje": int numero = Integer.parseInt(request.getParameter("numeroV")); v = model.selectTravel(numero); json = gson.toJson(v); out.write(json); break; case "getCiudad": String codigoC = request.getParameter("codigoC"); c1 = model.selectCity(codigoC); json = gson.toJson(c1); out.write(json); break; case "getAvion": String placaA = request.getParameter("placaA"); a = model.selectPlane(placaA); json = gson.toJson(a); out.write(json); break; case "getVuelo": int numeroVu = Integer.parseInt(request.getParameter("numeroVu")); vu = model.selectFlight(numeroVu); json = gson.toJson(vu); out.write(json); break; case "ciudadDelete": String codigo = request.getParameter("codigo"); int n1 = model.deleteCiudad(codigo); json = gson.toJson(n1); out.write(json); break; case "viajeDelete": String numero_viaje = request.getParameter("numero_viaje"); int n2 = model.deleteViaje(numero_viaje); json = gson.toJson(n2); out.write(json); break; case "vueloDelete": String numero_vuelo = request.getParameter("numero_vuelo"); int n3 = model.deleteVuelo(numero_vuelo); json = gson.toJson(n3); out.write(json); break; case "avionDelete": String placa = request.getParameter("placa"); int n4 = model.deleteAvion(placa); json = gson.toJson(n4); out.write(json); break; case "ciudadUpdate": String jsonCiudad2 = request.getParameter("ciudad"); Ciudad ciudad2 = gson.fromJson(jsonCiudad2, Ciudad.class); int ciudadNumber2 = model.updateCiudad(ciudad2); json = gson.toJson(ciudadNumber2); out.write(json); break; case "avionUpdate": String jsonAvion2 = request.getParameter("avion"); Avion avion2 = gson.fromJson(jsonAvion2, Avion.class); int avionNumber2 = model.updateAvion(avion2); json = gson.toJson(avionNumber2); out.write(json); break; case "vueloUpdate": String jsonVuelo2 = request.getParameter("vuelo"); Vuelo vuelo2 = gson.fromJson(jsonVuelo2, Vuelo.class); int vueloNumber2 = model.VueloUpdate(vuelo2); json = gson.toJson(vueloNumber2); out.write(json); break; case "asientoUpdate": String asiento1 = request.getParameter("asiento"); Asiento asiento2 = gson.fromJson(asiento1, Asiento.class); int asiento3 = model.updateAsientoOcupado(asiento2); a1 = model.selectSitByNumber(asiento2.getNumero()); json = gson.toJson(a1); out.write(json); } } catch (Exception e) { System.out.println(e); } }
From source file:airline.service.GeneratePDF.java
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //Set content type to application / pdf //browser will open the document only if this is set response.setContentType("application/pdf"); //Get the output stream for writing PDF object OutputStream out = response.getOutputStream(); try {/*from www . j a va 2 s . c o m*/ RuntimeTypeAdapterFactory<Jsonable> rta = RuntimeTypeAdapterFactory.of(Jsonable.class, "_class") .registerSubtype(Reservacion.class, "Reservacion").registerSubtype(Tiquete.class, "Tiquete") .registerSubtype(Viaje.class, "Viaje"); Gson gson = new GsonBuilder().registerTypeAdapterFactory(rta).setDateFormat("dd/MM/yyyy").create(); String json; List<Viaje> viajes; String jsonReservacion = request.getParameter("reservacion"); Reservacion reservacion = gson.fromJson(jsonReservacion, Reservacion.class); String jsonViajes = request.getParameter("viajes"); viajes = gson.fromJson(jsonViajes, new TypeToken<ArrayList<Viaje>>() { }.getType()); Document document = new Document(); /* Basic PDF Creation inside servlet */ PdfWriter.getInstance(document, out); document.open(); document.add(new Paragraph(" FACTURA DE COMPRA")); document.add(Chunk.NEWLINE); document.add(new Paragraph("Viajes")); document.add(Chunk.NEWLINE); document.add(createViajesTable(viajes)); document.add(Chunk.NEWLINE); document.add(new Paragraph("Reservacion")); document.add(Chunk.NEWLINE); document.add(createReservacionTable(reservacion)); document.close(); } catch (DocumentException exc) { throw new IOException(exc.getMessage()); } finally { out.close(); } }
From source file:cc.recommenders.utils.gson.GsonUtil.java
License:Open Source License
public static synchronized Gson getInstance() { if (gson == null) { final GsonBuilder builder = new GsonBuilder(); builder.registerTypeAdapter(VmMethodName.class, new GsonNameSerializer()); builder.registerTypeAdapter(IMethodName.class, new GsonNameSerializer()); builder.registerTypeAdapter(VmMethodName.class, new GsonMethodNameDeserializer()); builder.registerTypeAdapter(IMethodName.class, new GsonMethodNameDeserializer()); builder.registerTypeAdapter(VmTypeName.class, new GsonNameSerializer()); builder.registerTypeAdapter(ITypeName.class, new GsonNameSerializer()); builder.registerTypeAdapter(VmTypeName.class, new GsonTypeNameDeserializer()); builder.registerTypeAdapter(ITypeName.class, new GsonTypeNameDeserializer()); builder.registerTypeAdapter(VmFieldName.class, new GsonNameSerializer()); builder.registerTypeAdapter(IFieldName.class, new GsonNameSerializer()); builder.registerTypeAdapter(VmFieldName.class, new GsonFieldNameDeserializer()); builder.registerTypeAdapter(IFieldName.class, new GsonFieldNameDeserializer()); ///*from w w w. j av a 2 s. co m*/ builder.registerTypeAdapter(File.class, new GsonFileDeserializer()); builder.registerTypeAdapter(File.class, new GsonFileSerializer()); // builder.setPrettyPrinting(); // builder.setDateFormat("dd.MM.yyyy HH:mm:ss"); builder.registerTypeAdapter(Date.class, new ISO8601DateParser()); builder.registerTypeAdapter(Multimap.class, new MultimapTypeAdapter()); // builder.registerTypeAdapter(Usage.class, new UsageTypeAdapter()); builder.registerTypeAdapter(Query.class, new UsageTypeAdapter()); RuntimeTypeAdapterFactory<UsageFeature> rtaf = RuntimeTypeAdapterFactory.of(UsageFeature.class, "$type") .registerSubtype(CallFeature.class).registerSubtype(ClassFeature.class) .registerSubtype(DefinitionFeature.class).registerSubtype(FirstMethodFeature.class) .registerSubtype(ParameterFeature.class).registerSubtype(SuperMethodFeature.class) .registerSubtype(TypeFeature.class); builder.registerTypeAdapterFactory(rtaf); builder.registerTypeAdapter(CallFeature.class, new ObjectUsageFeatureRedirector<CallFeature>()); builder.registerTypeAdapter(ClassFeature.class, new ObjectUsageFeatureRedirector<ClassFeature>()); builder.registerTypeAdapter(DefinitionFeature.class, new ObjectUsageFeatureRedirector<DefinitionFeature>()); builder.registerTypeAdapter(FirstMethodFeature.class, new ObjectUsageFeatureRedirector<FirstMethodFeature>()); builder.registerTypeAdapter(ParameterFeature.class, new ObjectUsageFeatureRedirector<ParameterFeature>()); builder.registerTypeAdapter(SuperMethodFeature.class, new ObjectUsageFeatureRedirector<SuperMethodFeature>()); builder.registerTypeAdapter(TypeFeature.class, new ObjectUsageFeatureRedirector<TypeFeature>()); builder.enableComplexMapKeySerialization(); gson = builder.create(); } return gson; }
From source file:com.quadbits.gdxhelper.scenemodel.LWPSceneModelManager.java
License:Apache License
protected Gson getGson() { if (gson != null) { return gson; }/*from www .j av a2 s. co m*/ // AssetsScale types RuntimeTypeAdapterFactory<AssetsScaleBaseModel> assetsScaleTypeFactory = RuntimeTypeAdapterFactory .of(AssetsScaleBaseModel.class, "type"); for (Class<? extends AssetsScaleBaseModel> modelSubtype : gsonAssetsScaleBaseModelSubtypes) { assetsScaleTypeFactory.registerSubtype(modelSubtype); } // Actor types RuntimeTypeAdapterFactory<ActorModel> actorTypeFactory = RuntimeTypeAdapterFactory.of(ActorModel.class, "type"); for (Class<? extends ActorModel> modelSubtype : gsonActorModelSubtypes) { actorTypeFactory.registerSubtype(modelSubtype); } // Controller types RuntimeTypeAdapterFactory<ControllerModel> controllerTypeFactory = RuntimeTypeAdapterFactory .of(ControllerModel.class, "type"); for (Class<? extends ControllerModel> modelSubtype : gsonControllerModelSubtypes) { controllerTypeFactory.registerSubtype(modelSubtype); } // Create gson gson = new GsonBuilder().registerTypeAdapterFactory(assetsScaleTypeFactory) .registerTypeAdapterFactory(actorTypeFactory).registerTypeAdapterFactory(controllerTypeFactory) .setPrettyPrinting().create(); return gson; }
From source file:com.qualcomm.robotcore.hardware.configuration.UserConfigurationTypeManager.java
License:Open Source License
protected Gson newGson() { RuntimeTypeAdapterFactory<UserConfigurationType> userDeviceTypeAdapterFactory = RuntimeTypeAdapterFactory .of(UserConfigurationType.class, "flavor") .registerSubtype(UserI2cSensorType.class, UserConfigurationType.Flavor.I2C.toString()) .registerSubtype(MotorConfigurationType.class, UserConfigurationType.Flavor.MOTOR.toString()); return new GsonBuilder().excludeFieldsWithoutExposeAnnotation() .registerTypeAdapterFactory(userDeviceTypeAdapterFactory).create(); }
From source file:controller.CitasControllerServlet.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods.// ww w.j a v a 2s. com * * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, Exception { response.setContentType("text/html;charset=UTF-8"); try (PrintWriter out = response.getWriter()) { /* TODO output your page here. You may use following sample code. */ response.setContentType("text/xml"); RuntimeTypeAdapterFactory<Jsonable> rta = RuntimeTypeAdapterFactory.of(Jsonable.class, "_class") .registerSubtype(Cita.class, "Cita"); Gson gson = new GsonBuilder().registerTypeAdapterFactory(rta).setDateFormat("dd/MM/yyyy").create(); String json; String accion = request.getParameter("action"); List<Cita> citas; switch (accion) { case "CitaListAll": citas = CitaModel.citasConsultarTodos(); json = gson.toJson(citas); out.write(json); break; case "CitaListSearch": String criteria; criteria = request.getParameter("criteria"); citas = CitaModel.citaListSearch(criteria); json = gson.toJson(citas); out.write(json); break; case "CitaAdd": json = request.getParameter("product"); Usuario productoJava = gson.fromJson(json, Usuario.class); int added = Model.UsuarioAdd(productoJava); if (productoJava.getCategoria() != null && added == 1) { added = Model.UsuarioCategoriaAdd(productoJava.getCodigo(), productoJava.getCategoria()); } if (added == 1) { json = gson.toJson(0); // ok } else { json = gson.toJson(1); // ya existe } out.write(json); break; case "CitasDelete": json = request.getParameter("product"); Usuario usuarioJava = gson.fromJson(json, Usuario.class); int deleted = Model.UsuarioDelete(usuarioJava); if (deleted == 1) { json = gson.toJson(0); // ok } else { json = gson.toJson(1); // ya existe } out.write(json); break; case "CitasUpdate": json = request.getParameter("product"); Usuario updateUsuario = gson.fromJson(json, Usuario.class); int updated = Model.UsuarioUpdate(updateUsuario); if (updated == 1) { json = gson.toJson(0); // ok } else { json = gson.toJson(1); // ya existe } out.write(json); break; } } }
From source file:io.urbanthings.api.transit.TransitApiManager.java
License:Apache License
protected final static Gson getGson() { if (gson == null) { GsonBuilder builder = new GsonBuilder(); builder.setDateFormat("yyyy-MM-dd'T'HH:mm:ss"); RuntimeTypeAdapterFactory<JourneyLeg> journeyLegAdapterFactory = RuntimeTypeAdapterFactory .of(JourneyLeg.class, "type"); journeyLegAdapterFactory.registerSubtype(TransitJourneyLeg.class, "TransitJourneyLeg"); builder.registerTypeAdapterFactory(journeyLegAdapterFactory); RuntimeTypeAdapterFactory<PlacePoint> placePointAdapterFactory = RuntimeTypeAdapterFactory .of(PlacePoint.class, "subClassType"); placePointAdapterFactory.registerSubtype(TransitStop.class, "TransitStop"); builder.registerTypeAdapterFactory(placePointAdapterFactory); RuntimeTypeAdapterFactory<StopCall> stopCallAdapterFactory = RuntimeTypeAdapterFactory .of(StopCall.class, "subClassType"); stopCallAdapterFactory.registerSubtype(MonitoredStopCall.class, "MonitoredStopCall"); builder.registerTypeAdapterFactory(stopCallAdapterFactory); gson = builder.create();/*from w w w.j a v a2 s .c o m*/ } return gson; }
From source file:org.apache.zeppelin.jupyter.JupyterUtil.java
License:Apache License
public JupyterUtil() { this.cellTypeFactory = RuntimeTypeAdapterFactory.of(Cell.class, "cell_type") .registerSubtype(MarkdownCell.class, "markdown").registerSubtype(CodeCell.class, "code") .registerSubtype(RawCell.class, "raw").registerSubtype(HeadingCell.class, "heading"); this.outputTypeFactory = RuntimeTypeAdapterFactory.of(Output.class, "output_type") .registerSubtype(ExecuteResult.class, "execute_result") .registerSubtype(DisplayData.class, "display_data").registerSubtype(Stream.class, "stream") .registerSubtype(Error.class, "error"); this.markdownProcessor = new PegdownParser(); }
From source file:org.raspinloop.config.GsonProperties.java
License:Apache License
@SuppressWarnings("unchecked") private <T> GsonBuilder registerImpl(Collection<HardwareProperties> objects, GsonBuilder builder, Class<T> type) {//w w w . j a va2 s . c o m RuntimeTypeAdapterFactory<T> typeFactory = RuntimeTypeAdapterFactory.of(type, "java_type"); for (HardwareProperties obj : objects) { if (type.isInstance(obj)) { typeFactory.registerSubtype((Class<? extends T>) obj.getClass(), obj.getClass().getName()); } } return builder.registerTypeAdapterFactory(typeFactory); }