Translate

Wednesday 6 October 2021

MetaProgramming Intercept Cache Invoke Patternin Groovy Scripting groovy training telugu 47

 Watch This Video

https://youtu.be/VO3MosXEluc


----------------------------------------------------------------------------------------------------



//InterceptCacheInvoke.groovy

class Developer{

List languages =[]
def methodMissing(String name, args){

println "${name}() method was called..."
if(name.startsWith('write')){
String language = name.split("write")[1]
if(languages.contains(language)){
def impl ={Object [] theArgs ->
"I like to write code in $language"


}
getMetaClass()."$name"=impl
return impl(args)
}
}
}
}

Developer dan =new Developer()
dan.languages << "Groovy"
dan.languages << "Java"
println dan.metaClass.method.size()

dan.writeGroovy()
dan.writeGroovy()
dan.writeGroovy()

println dan.metaClass.method.size()

dan.writeJava()

dan.writeJava()

dan.writeJava()
println dan.metaClass.method.size()

No comments:

Post a Comment

Note: only a member of this blog may post a comment.