Package groovy.lang

Class GroovyCodeSource


  • public class GroovyCodeSource
    extends Object
    CodeSource wrapper class that allows specific security policies to be associated with a class compiled from groovy source.
    • Constructor Detail

      • GroovyCodeSource

        public GroovyCodeSource​(String script,
                                String name,
                                String codeBase)
      • GroovyCodeSource

        public GroovyCodeSource​(Reader reader,
                                String name,
                                String codeBase)
        Construct a GroovyCodeSource for an inputStream of groovyCode that has an unknown provenance -- meaning it didn't come from a File or a URL (e.g. a String). The supplied codeBase will be used to construct a File URL that should match up with a java Policy entry that determines the grants to be associated with the class that will be built from the InputStream.

        The permission groovy.security.GroovyCodeSourcePermission will be used to determine if the given codeBase may be specified. That is, the current Policy set must have a GroovyCodeSourcePermission that implies the codeBase, or an exception will be thrown. This is to prevent callers from hijacking existing codeBase policy entries unless explicitly authorized by the user.

      • GroovyCodeSource

        public GroovyCodeSource​(File infile)
                         throws IOException
        Parameters:
        infile - the file to create a GroovyCodeSource for.
        Throws:
        IOException - if an issue arises opening and reading the file.
      • GroovyCodeSource

        public GroovyCodeSource​(URL url)
    • Method Detail

      • getCodeSource

        public CodeSource getCodeSource()
      • getScriptText

        public String getScriptText()
      • getName

        public String getName()
      • getFile

        public File getFile()
      • getURL

        public URL getURL()
      • setCachable

        public void setCachable​(boolean b)
      • isCachable

        public boolean isCachable()
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object