Skip to content

Instantly share code, notes, and snippets.

@lucastex
Created March 16, 2011 13:36
Show Gist options
  • Save lucastex/872497 to your computer and use it in GitHub Desktop.
Save lucastex/872497 to your computer and use it in GitHub Desktop.
Exemplo de metaprogramação em Groovy
//String - crypt()
String.metaClass.crypt = { ->
return org.apache.commons.codec.digest.DigestUtils.md5Hex(delegate)
}
//String - isNumeric
String.metaClass.isNumeric = { ->
return org.apache.commons.lang.StringUtils.isNumeric(delegate)
}
//String - isBlank
String.metaClass.isBlank = { ->
return org.apache.commons.lang.StringUtils.isBlank(delegate)
}
//File - getExtension()
File.metaClass.getExtension = {
def extension = ""
def matcher = (delegate.name =~ /(\.[^\.]*)$/)
if (matcher.size() > 0)
extension = ((matcher[0][0].size()>0) ? matcher[0][0].substring(1).trim().toLowerCase() : "")
return extension
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment