001    package railo.runtime.cfx.customtag;
002    
003    import railo.runtime.cfx.CFXTagException;
004    
005    import com.allaire.cfx.CustomTag;
006    
007    /**
008     * interface for a CustomTag Class, a CustomTag Class is Base to generate a Custom Tag
009     */
010    public interface CFXTagClass {
011            
012            
013            /**
014             * @return return a New Instance
015             * @throws CFXTagException
016             */
017            public CustomTag newInstance() throws CFXTagException;
018            
019            /**
020             * @return returns if Tag is readOnly (for Admin)
021             */
022            public boolean isReadOnly();
023    
024            /**
025             * @return returns a readonly copy of the tag
026             */
027            public CFXTagClass cloneReadOnly();
028            
029            /**
030             * @return returns Type of the CFX Tag as String
031             */
032            public String getDisplayType();
033            
034            /**
035             * @return returns the Source Name as String 
036             */
037            public String getSourceName();
038    
039        /**
040         * @return returns if tag is ok
041         */
042        public boolean isValid();
043    }