001 package railo.runtime;//.orm.hibernate.tuplizer.proxy; 002 003 004 import java.io.Serializable; 005 006 import org.hibernate.proxy.HibernateProxy; 007 import org.hibernate.proxy.LazyInitializer; 008 009 import railo.runtime.component.Property; 010 import railo.runtime.orm.hibernate.tuplizer.proxy.CFCLazyInitializer; 011 import railo.runtime.type.cfc.ComponentAccess; 012 import railo.runtime.type.cfc.ComponentAccessProxy; 013 014 /** 015 * Proxy for "dynamic-map" entity representations. 016 * SLOW 017 */ 018 public class CFCProxy extends ComponentAccessProxy implements HibernateProxy, Serializable { 019 020 private static final long serialVersionUID = 4115236247834562085L; 021 022 private CFCLazyInitializer li; 023 024 public ComponentAccess getComponentAccess() { 025 return li.getCFC(); 026 } 027 028 public CFCProxy(CFCLazyInitializer li) { 029 this.li = li; 030 } 031 032 033 public Object writeReplace() { 034 return this; 035 } 036 037 public LazyInitializer getHibernateLazyInitializer() { 038 return li; 039 } 040 041 @Override 042 public long sizeOf() { 043 return li.getCFC().sizeOf(); 044 } 045 046 @Override 047 public java.util.Iterator<String> getIterator() { 048 return keysAsStringIterator(); 049 } 050 051 052 @Override 053 public Property[] getProperties(boolean onlyPeristent, boolean includeBaseProperties, boolean overrideProperties, boolean inheritedMappedSuperClassOnly) { 054 return li.getCFC().getProperties(onlyPeristent, includeBaseProperties, overrideProperties, inheritedMappedSuperClassOnly); 055 } 056 }