com.thoughtworks.xstream.objecttree.reflection
Class ReflectionObjectGraph

java.lang.Object
  extended bycom.thoughtworks.xstream.objecttree.reflection.ReflectionObjectGraph
All Implemented Interfaces:
ObjectTree

public class ReflectionObjectGraph
extends java.lang.Object
implements ObjectTree


Nested Class Summary
private static class ReflectionObjectGraph.RootHolder
           
 
Field Summary
private  java.util.LinkedList fieldStack
           
private  java.util.LinkedList instanceStack
           
private  ObjectFactory objectFactory
           
private  java.lang.Class rootType
           
 
Constructor Summary
ReflectionObjectGraph(java.lang.Class rootType, ObjectFactory objectFactory)
           
ReflectionObjectGraph(java.lang.Object root, ObjectFactory objectFactory)
           
 
Method Summary
 void create(java.lang.Class type)
           
 java.lang.String[] fieldNames()
           
 java.lang.Object get()
           
private  void getFields(java.util.List fieldNames, java.lang.Class theClass)
           
private  void init(java.lang.Object root)
           
 ObjectTree newStack(java.lang.Class type)
           
 ObjectTree newStack(java.lang.Object instance)
           
 void pop()
           
 void push(java.lang.String fieldName)
           
 void set(java.lang.Object value)
           
 java.lang.Class type()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

fieldStack

private java.util.LinkedList fieldStack

instanceStack

private java.util.LinkedList instanceStack

rootType

private java.lang.Class rootType

objectFactory

private ObjectFactory objectFactory
Constructor Detail

ReflectionObjectGraph

public ReflectionObjectGraph(java.lang.Object root,
                             ObjectFactory objectFactory)

ReflectionObjectGraph

public ReflectionObjectGraph(java.lang.Class rootType,
                             ObjectFactory objectFactory)
Method Detail

init

private void init(java.lang.Object root)

push

public void push(java.lang.String fieldName)
Specified by:
push in interface ObjectTree

pop

public void pop()
Specified by:
pop in interface ObjectTree

type

public java.lang.Class type()
Specified by:
type in interface ObjectTree

get

public java.lang.Object get()
Specified by:
get in interface ObjectTree

set

public void set(java.lang.Object value)
Specified by:
set in interface ObjectTree

create

public void create(java.lang.Class type)
Specified by:
create in interface ObjectTree

fieldNames

public java.lang.String[] fieldNames()
Specified by:
fieldNames in interface ObjectTree

getFields

private void getFields(java.util.List fieldNames,
                       java.lang.Class theClass)

newStack

public ObjectTree newStack(java.lang.Class type)
Specified by:
newStack in interface ObjectTree

newStack

public ObjectTree newStack(java.lang.Object instance)
Specified by:
newStack in interface ObjectTree