1.1 --- a/src/jdk/internal/dynalink/beans/AbstractJavaLinker.java Fri Jul 12 20:06:41 2013 +0530 1.2 +++ b/src/jdk/internal/dynalink/beans/AbstractJavaLinker.java Mon Jul 15 12:33:48 2013 +0200 1.3 @@ -92,6 +92,8 @@ 1.4 import java.lang.reflect.Member; 1.5 import java.lang.reflect.Method; 1.6 import java.lang.reflect.Modifier; 1.7 +import java.util.Collection; 1.8 +import java.util.Collections; 1.9 import java.util.HashMap; 1.10 import java.util.List; 1.11 import java.util.Map; 1.12 @@ -194,6 +196,22 @@ 1.13 1.14 abstract FacetIntrospector createFacetIntrospector(); 1.15 1.16 + Collection<String> getReadablePropertyNames() { 1.17 + return getUnmodifiableKeys(propertyGetters); 1.18 + } 1.19 + 1.20 + Collection<String> getWritablePropertyNames() { 1.21 + return getUnmodifiableKeys(propertySetters); 1.22 + } 1.23 + 1.24 + Collection<String> getMethodNames() { 1.25 + return getUnmodifiableKeys(methods); 1.26 + } 1.27 + 1.28 + private static Collection<String> getUnmodifiableKeys(Map<String, ?> m) { 1.29 + return Collections.unmodifiableCollection(m.keySet()); 1.30 + } 1.31 + 1.32 /** 1.33 * Sets the specified dynamic method to be the property getter for the specified property. Note that you can only 1.34 * use this when you're certain that the method handle does not belong to a caller-sensitive method. For properties