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    public interface CacheConnection {
010    
011            /**
012             * @return the readOnly
013             */
014            public abstract boolean isReadOnly();
015    
016            public abstract Cache getInstance(Config config) throws IOException;
017    
018            /**
019             * @return the name
020             */
021            public abstract String getName();
022    
023            /**
024             * @return the clazz
025             */
026            public abstract Class getClazz();
027    
028            /**
029             * @return the custom
030             */
031            public abstract Struct getCustom();
032    
033            public CacheConnection duplicate(Config config) throws IOException;
034    
035            public boolean isStorage();
036    
037    }