groovy.lang
[Java] Annotation Type GrabConfig
java.lang.Object
  
groovy.lang.GrabConfig
@Retention(RetentionPolicy.SOURCE)
@Target({
        ElementType.CONSTRUCTOR,
        ElementType.FIELD,
        ElementType.LOCAL_VARIABLE,
        ElementType.METHOD,
        ElementType.PARAMETER,
        ElementType.TYPE})
public @interface GrabConfig
 Used to modify the grape configuration for grab requests.
 
 An example involving databases:
 
 @Grab('mysql:mysql-connector-java:5.1.6'),
 @GrabConfig(systemClassLoader=true)
 import groovy.sql.Sql
 def sql=Sql.newInstance("jdbc:mysql://localhost/test", "user", "password", "com.mysql.jdbc.Driver")
 println sql.firstRow('SELECT * FROM INFORMATION_SCHEMA.COLUMNS')
 
 Another example involving XStream:
 
 @Grapes([
     @Grab('com.thoughtworks.xstream:xstream:1.3.1'),
     @Grab('xpp3:xpp3_min:1.1.4c'),
     @GrabConfig(systemClassLoader=true, initContextClassLoader=true)
 ])
 import com.thoughtworks.xstream.*
 class Staff {
     String firstname, lastname, position
 }
 def xstream = new XStream()
 def john1 = new Staff(firstname:'John',
                      lastname:'Connor',
                      position:'Resistance Leader')
 // write out to XML file
 new File("john.xml").withOutputStream { out ->
     xstream.toXML(john1, out)
 }
 // now read back in
 def john2
 new File("john.xml").withInputStream { ins ->
     john2 = xstream.fromXML(ins)
 }
 println john2.dump()
 
 
 Further information about customising grape behavior can be found on the Grape documentation page:
 http://groovy.codehaus.org/Grape.
 
                     
                 
Copyright © 2003-2011 The Codehaus. All rights reserved.