Groovy 1.8.4

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.


Method Summary
 
Methods inherited from class Object
wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll
 

Copyright © 2003-2011 The Codehaus. All rights reserved.