001    package railo.runtime.cache;
002    
003    import java.io.IOException;
004    
005    import railo.commons.io.cache.Cache;
006    import railo.runtime.config.Config;
007    import railo.runtime.type.Struct;
008    
009    // FUTURE add to public interface
010    public interface CacheConnection {
011    
012            /**
013             * @return the readOnly
014             */
015            public abstract boolean isReadOnly();
016    
017            public abstract Cache getInstance(Config config) throws IOException;
018    
019            /**
020             * @return the name
021             */
022            public abstract String getName();
023    
024            /**
025             * @return the clazz
026             */
027            public abstract Class getClazz();
028    
029            /**
030             * @return the custom
031             */
032            public abstract Struct getCustom();
033    
034            public CacheConnection duplicate(Config config) throws IOException;
035    
036            public boolean isStorage();
037    
038    }