<%--
Document : index
Created on : 16/10/2012, 18:16:05
Author : pirm
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Hello World!</h1>
<form action="Servlet" method="POST">
<!--tipos primitivos e String-->
<input type="text" name="pessoa.bytee" value="1"/><br/>
<input type="text" name="pessoa.shortt" value="1"/><br/>
<input type="text" name="pessoa.intt" value="1"/><br/>
<input type="text" name="pessoa.longg" value="1"/><br/>
<input type="text" name="pessoa.floatt" value="1"/><br/>
<input type="text" name="pessoa.doublee" value="1"/><br/>
<input type="text" name="pessoa.charr" value="x"/><br/>
<input type="text" name="pessoa.booleann" value="true"/><br/>
<input type="text" name="pessoa.string" value="oi"/><br/>
<!--vetores -->
<input type="text" name="pessoa.arrayByte" value="1"/><br/>
<input type="text" name="pessoa.arrayShort" value="1"/><br/>
<input type="text" name="pessoa.arrayInt" value="1"/><br/>
<input type="text" name="pessoa.arrayLong" value="1"/><br/>
<input type="text" name="pessoa.arrayFloat" value="1"/><br/>
<input type="text" name="pessoa.arrayDouble" value="1"/><br/>
<input type="text" name="pessoa.arrayChar" value="x"/><br/>
<input type="text" name="pessoa.arrayBoolean" value="true"/><br/>
<input type="text" name="pessoa.arrayString" value="oi"/><br/>
<input type="text" name="pessoa.arrayByte" value="1"/><br/>
<input type="text" name="pessoa.arrayShort" value="1"/><br/>
<input type="text" name="pessoa.arrayInt" value="1"/><br/>
<input type="text" name="pessoa.arrayLong" value="1"/><br/>
<input type="text" name="pessoa.arrayFloat" value="1"/><br/>
<input type="text" name="pessoa.arrayDouble" value="1"/><br/>
<input type="text" name="pessoa.arrayChar" value="x"/><br/>
<input type="text" name="pessoa.arrayBoolean" value="true"/><br/>
<input type="text" name="pessoa.arrayString" value="oi"/><br/>
<input type="text" name="pessoa.arrayByte" value="1"/><br/>
<input type="text" name="pessoa.arrayShort" value="1"/><br/>
<input type="text" name="pessoa.arrayInt" value="1"/><br/>
<input type="text" name="pessoa.arrayLong" value="1"/><br/>
<input type="text" name="pessoa.arrayFloat" value="1"/><br/>
<input type="text" name="pessoa.arrayDouble" value="1"/><br/>
<input type="text" name="pessoa.arrayChar" value="x"/><br/>
<input type="text" name="pessoa.arrayBoolean" value="true"/><br/>
<input type="text" name="pessoa.arrayString" value="oi"/><br/>
<!-- Utilizando Collections -->
<input type="text" name="pessoa.list" value="oi"/><br/>
<input type="text" name="pessoa.set" value="oi1"/><br/>
<input type="text" name="pessoa.map" value="oi"/><br/>
<input type="text" name="pessoa.list" value="oi"/><br/>
<input type="text" name="pessoa.set" value="oi2"/><br/>
<input type="text" name="pessoa.map" value="oi"/><br/>
<input type="text" name="pessoa.list" value="oi"/><br/>
<input type="text" name="pessoa.set" value="oi3"/><br/>
<input type="text" name="pessoa.map" value="oi"/><br/>
<!-- Date -->
<input type="text" name="pessoa.date.date" value="24"/><br/>
<input type="text" name="pessoa.date.month" value="0"/><br/>
<input type="text" name="pessoa.date.year" value="112"/><br/>
<!-- javaBean -->
<input type="text" name="pessoa.pessoa.bytee" value="1"/><br/>
<input type="text" name="pessoa.pessoa.shortt" value="1"/><br/>
<input type="text" name="pessoa.pessoa.intt" value="1"/><br/>
<!-- String com multiplos parameters -->
<input type="text" name="pessoa.string" value="oi"/><br/>
<input type="text" name="pessoa.string" value="oi"/><br/>
<input type="text" name="pessoa.string" value="oi"/><br/>
<input type="text" name="pessoa.string" value="oi"/><br/>
<input type="submit" value="Enviar"/>
</form>
</body>
</html>
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package br.com.projeto.controller;
import java.io.Serializable;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
*
* @author pirm
*/
public class Pessoa implements Serializable {
private byte bytee;
private short shortt;
private int intt;
private long longg;
private float floatt;
private double doublee;
private char charr;
private boolean booleann;
private String string;
private byte[] arrayByte;
private short[] arrayShort;
private int[] arrayInt;
private long[] arrayLong;
private float[] arrayFloat;
private double[] arrayDouble;
private char[] arrayChar;
private boolean[] arrayBoolean;
private String[] arrayString;
private List list;
private Set set;
private Map map;
private Date date;
private Pessoa pessoa;
public Pessoa() {
}
public byte getBytee() {
return bytee;
}
public void setBytee(byte bytee) {
this.bytee = bytee;
}
public short getShortt() {
return shortt;
}
public void setShortt(short shortt) {
this.shortt = shortt;
}
public int getIntt() {
return intt;
}
public void setIntt(int intt) {
this.intt = intt;
}
public long getLongg() {
return longg;
}
public void setLongg(long longg) {
this.longg = longg;
}
public float getFloatt() {
return floatt;
}
public void setFloatt(float floatt) {
this.floatt = floatt;
}
public double getDoublee() {
return doublee;
}
public void setDoublee(double doublee) {
this.doublee = doublee;
}
public char getCharr() {
return charr;
}
public void setCharr(char charr) {
this.charr = charr;
}
public boolean isBooleann() {
return booleann;
}
public void setBooleann(boolean booleann) {
this.booleann = booleann;
}
public String getString() {
return string;
}
public void setString(String string) {
this.string = string;
}
public byte[] getArrayByte() {
return arrayByte;
}
public void setArrayByte(byte[] arrayByte) {
this.arrayByte = arrayByte;
}
public short[] getArrayShort() {
return arrayShort;
}
public void setArrayShort(short[] arrayShort) {
this.arrayShort = arrayShort;
}
public int[] getArrayInt() {
return arrayInt;
}
public void setArrayInt(int[] arrayInt) {
this.arrayInt = arrayInt;
}
public long[] getArrayLong() {
return arrayLong;
}
public void setArrayLong(long[] arrayLong) {
this.arrayLong = arrayLong;
}
public float[] getArrayFloat() {
return arrayFloat;
}
public void setArrayFloat(float[] arrayFloat) {
this.arrayFloat = arrayFloat;
}
public double[] getArrayDouble() {
return arrayDouble;
}
public void setArrayDouble(double[] arrayDouble) {
this.arrayDouble = arrayDouble;
}
public char[] getArrayChar() {
return arrayChar;
}
public void setArrayChar(char[] arrayChar) {
this.arrayChar = arrayChar;
}
public boolean[] getArrayBoolean() {
return arrayBoolean;
}
public void setArrayBoolean(boolean[] arrayBoolean) {
this.arrayBoolean = arrayBoolean;
}
public String[] getArrayString() {
return arrayString;
}
public void setArrayString(String[] arrayString) {
this.arrayString = arrayString;
}
public List getList() {
return list;
}
public void setList(List list) {
this.list = list;
}
public Set getSet() {
return set;
}
public void setSet(Set set) {
this.set = set;
}
public Map getMap() {
return map;
}
public void setMap(Map map) {
this.map = map;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public Pessoa getPessoa() {
return pessoa;
}
public void setPessoa(Pessoa pessoa) {
this.pessoa = pessoa;
}
@Override
public String toString() {
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("\n----------------------------------------------\n\nPessoa:");
stringBuilder.append("\nbyte: ").append(bytee);
stringBuilder.append("\nshort: ").append(shortt);
stringBuilder.append("\nint: ").append(intt);
stringBuilder.append("\nlong: ").append(longg);
stringBuilder.append("\nfloat: ").append(floatt);
stringBuilder.append("\ndouble: ").append(doublee);
stringBuilder.append("\nchar: ").append(charr);
stringBuilder.append("\nboolean: ").append(booleann);
stringBuilder.append("\nString: ").append(string);
if (arrayByte != null) {
stringBuilder.append("\narrayByte: ");
for (byte e : arrayByte) {
stringBuilder.append(e).append(",");
}
}
if (arrayShort != null) {
stringBuilder.append("\narrayShort: ");
for (short e : arrayShort) {
stringBuilder.append(e).append(",");
}
}
if (arrayInt != null) {
stringBuilder.append("\narrayInt: ");
for (int e : arrayInt) {
stringBuilder.append(e).append(",");
}
}
if (arrayLong != null) {
stringBuilder.append("\narrayLong: ");
for (long e : arrayLong) {
stringBuilder.append(e).append(",");
}
}
if (arrayFloat != null) {
stringBuilder.append("\narrayFloat: ");
for (float e : arrayFloat) {
stringBuilder.append(e).append(",");
}
}
if (arrayDouble != null) {
stringBuilder.append("\narrayDouble: ");
for (double e : arrayDouble) {
stringBuilder.append(e).append(",");
}
}
if (arrayChar != null) {
stringBuilder.append("\narrayChar: ");
for (char e : arrayChar) {
stringBuilder.append(e).append(",");
}
}
if (arrayBoolean != null) {
stringBuilder.append("\narrayBoolean: ");
for (boolean e : arrayBoolean) {
stringBuilder.append(e).append(",");
}
}
if (arrayString != null) {
stringBuilder.append("\narrayString: ");
for (String e : arrayString) {
stringBuilder.append(e).append(",");
}
}
if (list != null) {
stringBuilder.append("\nlist: ");
for (Object o : list) {
stringBuilder.append(o.toString()).append(",");
}
}
if (set != null) {
stringBuilder.append("\nset: ");
Iterator iterator = set.iterator();
while (iterator.hasNext()) {
Object o = iterator.next();
stringBuilder.append(o.toString()).append(",");
}
}
if (map != null) {
stringBuilder.append("\nmap: ");
Iterator iterator = map.keySet().iterator();
while (iterator.hasNext()) {
Object o = iterator.next();
stringBuilder.append(o.toString()).append(",");
}
}
if (date != null) {
stringBuilder.append("\ndate: ").append(date.getDate()).append("/").append((date.getMonth() + 1)).append("/").append((date.getYear() + 1900));
}
if (pessoa != null) {
stringBuilder.append(pessoa);
}
stringBuilder.append("\n----------------------------------------------");
return stringBuilder.toString();
}
}
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package br.com.projeto.controller;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* @author pirm
*/
@WebServlet(name = "Servlet", urlPatterns = {"/Servlet"})
public class Servlet extends HttpServlet {
/**
* Processes requests for both HTTP
* <code>GET</code> and
* <code>POST</code> methods.
*
* @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 {
Pessoa pessoa = (Pessoa) JavaBeanUtils.requestToObject(Pessoa.class, request);
System.out.println(pessoa);
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/**
* Handles the HTTP
* <code>GET</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Handles the HTTP
* <code>POST</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Returns a short description of the servlet.
*
* @return a String containing servlet description
*/
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package br.com.projeto.controller;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.http.HttpServletRequest;
/**
*
* @author pirm
*/
public class JavaBeanUtils {
public static Object requestToObject(Class classe, HttpServletRequest request) {
Object object = null;
try {
object = classe.getConstructor().newInstance();
} catch (Exception ex) {
Logger.getLogger(JavaBeanUtils.class.getName()).log(Level.SEVERE, null, ex);
}
Enumeration<String> enumerationString = request.getParameterNames();
while (enumerationString.hasMoreElements()) {
String stringParameterName = (String) enumerationString.nextElement();
StringBuilder stringBuilderAttribute = new StringBuilder();
for (int i = 0; i < stringParameterName.length(); i++) {
stringBuilderAttribute.append(stringParameterName.charAt(i));
if (stringBuilderAttribute.toString().equals(classe.getSimpleName().toLowerCase())) {
/*
* Quando o nome do stringParameterName for igual ao nome da Class
*/
System.out.println("Classe: " + stringBuilderAttribute);
stringBuilderAttribute = new StringBuilder();
Object objectReturned = object;
for (int j = (i + 2); j < stringParameterName.length(); j++) {
char c = stringParameterName.charAt(j);
if (c != '.') {
stringBuilderAttribute.append(c);
} else {
/*
* É UM OBJETO
*/
System.out.println("MÉTODO: faz(isObject, " + objectReturned.getClass() + ", " + stringBuilderAttribute + ", " + stringParameterName + ", map)");
objectReturned = faz(true, objectReturned, stringBuilderAttribute.toString(), stringParameterName, request);
stringBuilderAttribute = new StringBuilder();
}
}
/*
* É UM ATRIBUTO
*/
System.out.println("MÉTODO: faz(isAttribute, " + objectReturned.getClass() + ", " + stringBuilderAttribute + ", " + stringParameterName + ", map)");
faz(false, objectReturned, stringBuilderAttribute.toString(), stringParameterName, request);
}
}
}
return object;
}
private static Object faz(boolean isObject, Object object, String attribute, String parameterName, HttpServletRequest request) {
if (isObject) {
/*
* É UM OBJETO JAVABEAN
*/
System.out.println("objeto:atributo: " + attribute);
System.out.println("Checando se o objeto é nulo ... para criar nova instancia !");
Object objectAttribute = javaBeanGetAttribute(object, attribute);
if (objectAttribute == null) {
System.out.println("Objecto é nulo ... criando objeto !");
Object objectNew = objectAndAttributeToAttributeObject(object, attribute);
setAttribute(object, attribute, objectNew);
return objectNew;
} else {
System.out.println("Objecto não é nulo ... retornando objeto através do método");
return javaBeanGetAttribute(object, attribute);
}
} else {
/*
* É UM ATRIBUTO
*/
System.out.println("atributo: " + attribute);
String[] arrayStringAttributeValue = request.getParameterValues(parameterName);
System.out.println("attribute value: ");
for (String string : arrayStringAttributeValue) {
System.out.print("," + string);
}
setAttribute(object, attribute, arrayStringAttributeValue);
}
return null;
}
private static Object javaBeanGetAttribute(Object object, String attribute) {
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("get");
for (int i = 0; i < attribute.length(); i++) {
if (i == 0) {
Character c = attribute.charAt(i);
stringBuilder.append(c.toString().toUpperCase());
} else {
stringBuilder.append(attribute.charAt(i));
}
}
try {
return object.getClass().getDeclaredMethod(stringBuilder.toString()).invoke(object);
} catch (Exception ex) {
Logger.getLogger(JavaBeanUtils.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
}
private static void javaBeanSetAttribute(Object object, String attribute, Object value) {
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("set");
for (int i = 0; i < attribute.length(); i++) {
if (i == 0) {
Character c = attribute.charAt(i);
stringBuilder.append(c.toString().toUpperCase());
} else {
stringBuilder.append(attribute.charAt(i));
}
}
Method[] arrayMethod = object.getClass().getDeclaredMethods();
Class classField = null;
for (Method method : arrayMethod) {
if (method.getName().equals(stringBuilder.toString())) {
Class[] arrayClassTypes = method.getParameterTypes();
classField = arrayClassTypes[0];
}
}
try {
object.getClass().getDeclaredMethod(stringBuilder.toString(), classField).invoke(object, value);
} catch (Exception ex) {
Logger.getLogger(JavaBeanUtils.class.getName()).log(Level.SEVERE, null, ex);
}
}
private static Object objectAndAttributeToAttributeObject(Object object, String attribute) {
Field[] arrayField = object.getClass().getDeclaredFields();
Object objectNew;
for (Field field : arrayField) {
if (field.getName().equals(attribute)) {
try {
Class classField = field.getType();
if (classField.equals(List.class)) {
classField = ArrayList.class;
} else if (classField.equals(Map.class)) {
classField = HashMap.class;
}
objectNew = classField.getConstructor().newInstance();
System.out.println("new Instance:" + classField.getSimpleName());
return objectNew;
} catch (Exception ex) {
Logger.getLogger(JavaBeanUtils.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
return null;
}
private static void setAttribute(Object object, String attribute, Object value) {
System.out.println("metodo: setAttribute(" + object.getClass().getSimpleName() + ", " + attribute + ", " + value.getClass().getSimpleName() + ")");
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("set");
for (int i = 0; i < attribute.length(); i++) {
if (i == 0) {
Character c = attribute.charAt(i);
stringBuilder.append(c.toString().toUpperCase());
} else {
stringBuilder.append(attribute.charAt(i));
}
}
System.out.println("metodo a comparar: " + stringBuilder);
Method[] arrayMethod = object.getClass().getDeclaredMethods();
for (Method method : arrayMethod) {
if (method.getName().equals(stringBuilder.toString())) {
System.out.println("Classe possui o metodo ..." + method.getName());
Class[] arrayClassTypes = method.getParameterTypes();
try {
Object objectAttribute = javaBeanGetAttribute(object, attribute);
String stringClassField = arrayClassTypes[0].getSimpleName();
System.out.println("inserindo objeto do tipo ... " + stringClassField + " em " + method.getName());
if (stringClassField.equals("byte") || stringClassField.equals("Byte")) {
String[] arrayStringValue = (String[]) value;
String stringValue = arrayStringValue[0];
javaBeanSetAttribute(object, attribute, Byte.parseByte(stringValue));
} else if (stringClassField.equals("short") || stringClassField.equals("Short")) {
String[] arrayStringValue = (String[]) value;
String stringValue = arrayStringValue[0];
javaBeanSetAttribute(object, attribute, Short.parseShort(stringValue));
} else if (stringClassField.equals("int") || stringClassField.equals("Integer")) {
String[] arrayStringValue = (String[]) value;
String stringValue = arrayStringValue[0];
javaBeanSetAttribute(object, attribute, Integer.parseInt(stringValue));
} else if (stringClassField.equals("long") || stringClassField.equals("Long")) {
String[] arrayStringValue = (String[]) value;
String stringValue = arrayStringValue[0];
javaBeanSetAttribute(object, attribute, Long.parseLong(stringValue));
} else if (stringClassField.equals("float") || stringClassField.equals("Float")) {
String[] arrayStringValue = (String[]) value;
String stringValue = arrayStringValue[0];
javaBeanSetAttribute(object, attribute, Float.parseFloat(stringValue));
} else if (stringClassField.equals("double") || stringClassField.equals("Double")) {
String[] arrayStringValue = (String[]) value;
String stringValue = arrayStringValue[0];
javaBeanSetAttribute(object, attribute, Double.parseDouble(stringValue));
} else if (stringClassField.equals("char") || stringClassField.equals("Character")) {
String[] arrayStringValue = (String[]) value;
String stringValue = arrayStringValue[0];
javaBeanSetAttribute(object, attribute, stringValue.charAt(0));
} else if (stringClassField.equals("boolean") || stringClassField.equals("Boolean")) {
String[] arrayStringValue = (String[]) value;
String stringValue = arrayStringValue[0];
javaBeanSetAttribute(object, attribute, Boolean.parseBoolean(stringValue));
} else if (stringClassField.equals("String")) {
String[] arrayStringValue = (String[]) value;
String stringValue = arrayStringValue[0];
if (arrayStringValue.length > 1) {
StringBuilder stringBuilder1 = new StringBuilder();
for (int i = 0; i < arrayStringValue.length; i++) {
if (i != (arrayStringValue.length - 1)) {
stringBuilder1.append(arrayStringValue[i]).append(",");
} else {
stringBuilder1.append(arrayStringValue[i]);
}
}
stringValue = stringBuilder1.toString();
}
javaBeanSetAttribute(object, attribute, stringValue);
} else if (stringClassField.equals("byte[]") || stringClassField.equals("Byte[]")) {
String[] arrayString = (String[]) value;
byte[] array = new byte[arrayString.length];
for (int i = 0; i < arrayString.length; i++) {
array[i] = Byte.parseByte(arrayString[i]);
}
javaBeanSetAttribute(object, attribute, array);
} else if (stringClassField.equals("short[]") || stringClassField.equals("Short[]")) {
String[] arrayString = (String[]) value;
short[] array = new short[arrayString.length];
for (int i = 0; i < arrayString.length; i++) {
array[i] = Short.parseShort(arrayString[i]);
}
javaBeanSetAttribute(object, attribute, array);
} else if (stringClassField.equals("int[]") || stringClassField.equals("Integer[]")) {
String[] arrayString = (String[]) value;
int[] array = new int[arrayString.length];
for (int i = 0; i < arrayString.length; i++) {
array[i] = Integer.parseInt(arrayString[i]);
}
javaBeanSetAttribute(object, attribute, array);
} else if (stringClassField.equals("long[]") || stringClassField.equals("Long[]")) {
String[] arrayString = (String[]) value;
long[] array = new long[arrayString.length];
for (int i = 0; i < arrayString.length; i++) {
array[i] = Long.parseLong(arrayString[i]);
}
javaBeanSetAttribute(object, attribute, array);
} else if (stringClassField.equals("float[]") || stringClassField.equals("Float[]")) {
String[] arrayString = (String[]) value;
float[] array = new float[arrayString.length];
for (int i = 0; i < arrayString.length; i++) {
array[i] = Float.parseFloat(arrayString[i]);
}
javaBeanSetAttribute(object, attribute, array);
} else if (stringClassField.equals("double[]") || stringClassField.equals("Double[]")) {
String[] arrayString = (String[]) value;
double[] array = new double[arrayString.length];
for (int i = 0; i < arrayString.length; i++) {
array[i] = Double.parseDouble(arrayString[i]);
}
javaBeanSetAttribute(object, attribute, array);
} else if (stringClassField.equals("char[]") || stringClassField.equals("Character[]")) {
String[] arrayString = (String[]) value;
char[] array = new char[arrayString.length];
for (int i = 0; i < arrayString.length; i++) {
array[i] = arrayString[i].charAt(0);
}
javaBeanSetAttribute(object, attribute, array);
} else if (stringClassField.equals("boolean[]") || stringClassField.equals("Boolean[]")) {
String[] arrayString = (String[]) value;
boolean[] array = new boolean[arrayString.length];
for (int i = 0; i < arrayString.length; i++) {
array[i] = Boolean.parseBoolean(arrayString[i]);
}
javaBeanSetAttribute(object, attribute, array);
} else if (stringClassField.equals("String[]")) {
javaBeanSetAttribute(object, attribute, value);
} else if (stringClassField.equals("List") || stringClassField.equals("ArrayList")) {
List list = new ArrayList();
String[] arrayString = (String[]) value;
list.addAll(Arrays.asList(arrayString));
javaBeanSetAttribute(object, attribute, list);
} else if (stringClassField.equals("Set") || stringClassField.equals("HashSet")) {
Set set = new HashSet();
String[] arrayString = (String[]) value;
for(String string : arrayString){
set.add(string);
}
javaBeanSetAttribute(object, attribute, set);
} else if (stringClassField.equals("Map") || stringClassField.equals("HashMap")) {
Map map = new HashMap();
String[] arrayString = (String[]) value;
for (int i = 0; i < arrayString.length; i++) {
map.put(i, arrayString[i]);
}
javaBeanSetAttribute(object, attribute, map);
} else {
javaBeanSetAttribute(object, attribute, value);
}
} catch (Exception ex) {
Logger.getLogger(JavaBeanUtils.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}
}