001 package railo.intergral.fusiondebug.server.type; 002 003 import java.util.List; 004 005 import railo.intergral.fusiondebug.server.type.coll.FDUDF; 006 import railo.intergral.fusiondebug.server.util.FDCaster; 007 import railo.runtime.type.UDF; 008 009 import com.intergral.fusiondebug.server.IFDStackFrame; 010 011 public abstract class FDNodeValueSupport extends FDValueSupport { 012 013 private IFDStackFrame frame; 014 015 public FDNodeValueSupport(IFDStackFrame frame){ 016 this.frame=frame; 017 } 018 019 public List getChildren() { 020 return getChildren(frame,getName(),getRawValue()); 021 } 022 023 024 /*public IFDValue getValue() { 025 Object value = getRawValue(); 026 if(isSimpleValue(value)) 027 return getFDNodeVariableSupport(); 028 return FDCaster.toFDVariable(getName(), value).getValue(); 029 }*/ 030 031 @Override 032 public String toString() { 033 Object raw = getRawValue(); 034 if(raw instanceof UDF)return FDUDF.toString((UDF)raw); 035 return FDCaster.serialize(raw); 036 } 037 038 @Override 039 public boolean hasChildren() { 040 return hasChildren(getRawValue()); 041 } 042 043 protected abstract Object getRawValue(); 044 //protected abstract FDNodeValueSupport getFDNodeVariableSupport(); 045 }