org.glassfish.hk2.internal
Class ReflectionHelper

java.lang.Object
  extended by org.glassfish.hk2.internal.ReflectionHelper

public class ReflectionHelper
extends Object

Author:
jwells

Constructor Summary
ReflectionHelper()
           
 
Method Summary
static void addMetadata(Map<String,List<String>> metadatas, String key, String value)
          Adds a value to the list of values associated with this key
static void checkCharacters(String... checkMes)
          Checks that no values come in that might mess up the parsing of the descriptor
static Map<String,List<String>> deepCopyMetadata(Map<String,List<String>> copyMe)
          This method does a deep copy of the incoming meta-data, (which basically means we will also make copies of the value list)
static Set<Type> getAdvertisedTypesFromObject(Object t)
          Returns the set of types this class advertises
static Set<String> getContractsFromClass(Class<?> clazz)
          Returns the set of types this class advertises
static String getName(Class<?> implClass)
          Returns the name that should be associated with this class
static Set<String> getQualifiersFromClass(Class<?> clazz)
          Gets all the qualifiers from the object
static Set<Annotation> getQualifiersFromObject(Object t)
          Gets all the qualifiers from the object
static Class<?> getRawClass(Type type)
          Given the type parameter gets the raw type represented by the type, or null if this has no associated raw class
static Class<? extends Annotation> getScopeFromClass(Class<?> clazz)
          Gets the scope annotation from the object
static Class<? extends Annotation> getScopeFromObject(Object t)
          Gets the scope annotation from the object
static String prettyPrintDescriptor(Descriptor d)
          Pretty prints this descriptor
static void readMetadataMap(String line, Map<String,List<String>> addToMe)
          Writes a set in a way that can be read from an input stream as well
static void readSet(String line, Collection<String> addToMe)
          Writes a set in a way that can be read from an input stream as well.
static boolean removeAllMetadata(Map<String,List<String>> metadatas, String key)
          Removes all the metadata values associated with key
static boolean removeMetadata(Map<String,List<String>> metadatas, String key, String value)
          Removes the given value from the given key
static String writeMetadata(Map<String,List<String>> metadata)
          Used to write the metadata out
static String writeSet(Set<?> set)
          Writes a set in a way that can be read from an input stream as well
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ReflectionHelper

public ReflectionHelper()
Method Detail

getRawClass

public static Class<?> getRawClass(Type type)
Given the type parameter gets the raw type represented by the type, or null if this has no associated raw class

Parameters:
type - The type to find the raw class on
Returns:
The raw class associated with this type

getName

public static String getName(Class<?> implClass)
Returns the name that should be associated with this class

Parameters:
implClass - The class to evaluate
Returns:
The name this class should have

getAdvertisedTypesFromObject

public static Set<Type> getAdvertisedTypesFromObject(Object t)
Returns the set of types this class advertises

Parameters:
t - the object we are analyzing
Returns:
The type itself and the contracts it implements

getContractsFromClass

public static Set<String> getContractsFromClass(Class<?> clazz)
Returns the set of types this class advertises

Parameters:
clazz - the class we are analyzing
Returns:
The type itself and the contracts it implements

getScopeFromObject

public static Class<? extends Annotation> getScopeFromObject(Object t)
Gets the scope annotation from the object

Parameters:
t - The object to analyze
Returns:
The class of the scope annotation

getScopeFromClass

public static Class<? extends Annotation> getScopeFromClass(Class<?> clazz)
Gets the scope annotation from the object

Parameters:
clazz - The class to analyze
Returns:
The class of the scope annotation

getQualifiersFromObject

public static Set<Annotation> getQualifiersFromObject(Object t)
Gets all the qualifiers from the object

Parameters:
t - The object to analyze
Returns:
The set of qualifiers. Will not return null but may return an empty set

getQualifiersFromClass

public static Set<String> getQualifiersFromClass(Class<?> clazz)
Gets all the qualifiers from the object

Parameters:
clazz - The class to analyze
Returns:
The set of qualifiers. Will not return null but may return an empty set

writeSet

public static String writeSet(Set<?> set)
Writes a set in a way that can be read from an input stream as well

Parameters:
set - The set to write
Returns:
a representation of a list

readSet

public static void readSet(String line,
                           Collection<String> addToMe)
                    throws IOException
Writes a set in a way that can be read from an input stream as well. The values in the set may not contain the characters "{},"

Parameters:
line - The line to read
addToMe - The set to add the strings to
Throws:
IOException - On a failure

readMetadataMap

public static void readMetadataMap(String line,
                                   Map<String,List<String>> addToMe)
                            throws IOException
Writes a set in a way that can be read from an input stream as well

Parameters:
line - The line to read
addToMe - The set to add the strings to
Throws:
IOException - On a failure

writeMetadata

public static String writeMetadata(Map<String,List<String>> metadata)
Used to write the metadata out

Parameters:
metadata - The metadata to externalize
Returns:
The metadata in an externalizable format

prettyPrintDescriptor

public static String prettyPrintDescriptor(Descriptor d)
Pretty prints this descriptor

Parameters:
d - The descriptor to write out nicely
Returns:
The descriptor to print

addMetadata

public static void addMetadata(Map<String,List<String>> metadatas,
                               String key,
                               String value)
Adds a value to the list of values associated with this key

Parameters:
metadatas - The base metadata object
key - The key to which to add the value. May not be null
value - The value to add. May not be null

removeMetadata

public static boolean removeMetadata(Map<String,List<String>> metadatas,
                                     String key,
                                     String value)
Removes the given value from the given key

Parameters:
metadatas - The base metadata object
key - The key of the value to remove. May not be null
value - The value to remove. May not be null
Returns:
true if the value was removed

removeAllMetadata

public static boolean removeAllMetadata(Map<String,List<String>> metadatas,
                                        String key)
Removes all the metadata values associated with key

Parameters:
metadatas - The base metadata object
key - The key of the metadata values to remove
Returns:
true if any value was removed

deepCopyMetadata

public static Map<String,List<String>> deepCopyMetadata(Map<String,List<String>> copyMe)
This method does a deep copy of the incoming meta-data, (which basically means we will also make copies of the value list)

Parameters:
copyMe - The guy to copy (if null, null will be returned)
Returns:
A deep copy of the metadata

checkCharacters

public static void checkCharacters(String... checkMes)
Checks that no values come in that might mess up the parsing of the descriptor

Parameters:
checkMes - The values to check


Copyright © 2012 Oracle Corporation. All Rights Reserved.