001    package railo.intergral.fusiondebug.server.type;
002    
003    import java.util.List;
004    
005    import railo.intergral.fusiondebug.server.util.FDCaster;
006    import railo.runtime.op.Decision;
007    
008    import com.intergral.fusiondebug.server.IFDStackFrame;
009    import com.intergral.fusiondebug.server.IFDValue;
010    
011    public abstract class FDValueSupport implements IFDValue {
012            
013            protected boolean isSimpleValue(Object value) {
014                    return Decision.isSimpleValue(value);
015            }
016            
017            public boolean hasChildren(Object value) {
018                    return !isSimpleValue(value);
019            }
020    
021            public List getChildren(IFDStackFrame frame,String name,Object value) {
022                    if(isSimpleValue(value))return null;
023                    return FDCaster.toFDValue(frame,name, value).getChildren();
024            }
025    
026            public abstract String getName();
027    }