Java Virtal

[ News ] rss

February 01, 2011

Mark Wielaard: New GPG key. Finally created a new GPG key using gnupg. The old one was a DSA/1024 bits one and 8 years old. The new one is a RSA/2048 bits one. I will use the new one in the future to sign any release tarballs I might create. pub 2048R/57816A6A 2011-01-29 Key f...

More »

February 01, 2011

Andrew Hughes: [SECURITY] IcedTea6 1.7.8, 1.8.5, 1.9.5 Released!. We are pleased to announce a new set of security releases, IcedTea6 1.7.8, IcedTea6 1.8.5 and IcedTea6 1.9.5. This update contains the following security updates: The IcedTea project provides a harness to build the source code from OpenJDK6 u...

More »

2122 2324252627

[ Archives News
for 'Java Technology' ]

home > news > java technology > jsr 292 goodness: named parameters

JSR 292 Goodness: named parameters

Today, I want to show you a way to implement method invocation with named parameters using JSRnbsp;292. But before using JSRnbsp;292 API, we need a way to reflect the parameter names of any existing methods. The problem is that java.lang.reflect doesn#039;t provide any way to get those parameter names, so I had to first write a small class that does reflection of parameter names using my second favorite API, ASM. public static List getMethods(final Class clazz) throws IOException { String className = clazz.getName().replace(#039;.#039;, #039;/#039;) + .class; final ClassLoader classLoader = clazz.getClassLoader(); final ArrayList methods = new ArrayList(); // thanks Joe try(InputStream input = (classLoader != null)? // thanks Joe classLoader.getResourceAsStream(className): ClassLoader.getSystemResourceAsStream(className)) { ClassReader reader = new ClassReader(input); reader.accept(new EmptyVisitor(){ @Override public MethodVisitor visitMethod(final int access, final String name, String desc, String signature, String[] exceptions) { final MethodType methodType = MethodType.fromMethodDescriptorString(desc, classLoader); int parameterCount = methodType.parameterCount(); final String[] parameterNames = new String[parameterCount]; if (parameterCount == 0) { // shortcut for method with no parameter methods.add(n...

Date: January, 21 2011

Others News

© website maker | top free website builder | bootstrap popup | free bootstrap template | image slider