Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  //
  //  ========================================================================
  //  Copyright (c) 1995-2012 Mort Bay Consulting Pty. Ltd.
  //  ------------------------------------------------------------------------
  //  All rights reserved. This program and the accompanying materials
  //  are made available under the terms of the Eclipse Public License v1.0
  //  and Apache License v2.0 which accompanies this distribution.
  //
  //      The Eclipse Public License is available at
 //      http://www.eclipse.org/legal/epl-v10.html
 //
 //      The Apache License v2.0 is available at
 //      http://www.opensource.org/licenses/apache2.0.php
 //
 //  You may elect to redistribute this code under either of these licenses.
 //  ========================================================================
 //
 
 package org.eclipse.jetty.util.ajax;
 
 import java.util.Map;
 import java.util.Set;
 
 
 /* ------------------------------------------------------------ */
Convert an Object to JSON using reflection on getters methods.
 
 public class JSONObjectConvertor implements JSON.Convertor
 {
     private boolean _fromJSON;
     private Set _excluded=null;
 
     public JSONObjectConvertor()
     {
         =false;
     }
     
     public JSONObjectConvertor(boolean fromJSON)
     {
         =fromJSON;
     }
     
     /* ------------------------------------------------------------ */
    

Parameters:
fromJSON
excluded An array of field names to exclude from the conversion
 
     public JSONObjectConvertor(boolean fromJSON,String[] excluded)
     {
         =fromJSON;
         if (excluded!=null)
             =new HashSet(Arrays.asList(excluded));
     }
 
     public Object fromJSON(Map map)
     {
         if ()
             throw new UnsupportedOperationException();
         return map;
     }
 
     public void toJSON(Object objOutput out)
     {
         try
         {
             Class c=obj.getClass();
 
             if ()
                 out.addClass(obj.getClass());
 
             Method[] methods = obj.getClass().getMethods();
 
             for (int i=0;i<methods.length;i++)
             {
                 Method m=methods[i];
                 if (!Modifier.isStatic(m.getModifiers()) &&  
                         m.getParameterTypes().length==0 && 
                         m.getReturnType()!=null &&
                         m.getDeclaringClass()!=Object.class)
                 {
                     String name=m.getName();
                     if (name.startsWith("is"))
                         name=name.substring(2,3).toLowerCase(.)+name.substring(3);
                     else if (name.startsWith("get"))
                         name=name.substring(3,4).toLowerCase(.)+name.substring(4);
                     else
                         continue;
 
                     if (includeField(name,obj,m))
                        out.add(namem.invoke(obj,(Object[])null));
                }
            }
        } 
        catch (Throwable e)
        {
            throw new IllegalArgumentException(e);
        }
    }
    
    protected boolean includeField(String nameObject oMethod m)
    {
        return ==null || !.contains(name);
    }
New to GrepCode? Check out our FAQ X