Multi-level ternary operator
Love one. Can’t be easily debugged, probably .. But reads very nicely:
String getScmClass()
{
( this.@scmClass == 'svn' ) ? 'hudson.scm.SubversionSCM' :
( this.@scmClass == 'git' ) ? 'hudson.plugins.git.GitSCM' :
null
}
Still, standard mapping is usually better – it allows to dump all known options:
Map scmClasses = [ svn : 'hudson.scm.SubversionSCM',
git : 'hudson.plugins.git.GitSCM' ]
String getScmClass()
{
def scmClass = scmClasses[ this.@scmClass ]
assert scmClass, "Unknown [${this.@scmClass}]. Known classes are ${scmClasses.keySet()}"
scmClass
}
Moving to a private WordPress hosting Hudson: Git and Maven plugins


