Class InternalUtils
-
- org.apache.tapestry5.ioc.internal.util.InternalUtils
-
public class InternalUtils extends
Utilities used within various internal implementations of the tapestry-ioc module.
-
-
Field Summary
Fields Modifier and Type Field Description static ,AnnotationProvider>
CLASS_TO_AP_MAPPER
static >
CREATE_OBJECT
static ,AnnotationProvider>
METHOD_TO_AP_MAPPER
static boolean
SERVICE_CLASS_RELOADING_ENABLED
-
Constructor Summary
Constructors Constructor Description InternalUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static <K,V>
void<K,<V>> map, K key, V value)
Adds a value to a specially organized map where the values are lists of objects.static
method)
Converts a method to a user presentable string consisting of the containing class name, the method name, and the short form of the parameter list (the class name of each parameter type, shorn of the package name portion).static
method, PlasticProxyFactory proxyFactory)
Converts a method to a user presentable string using aPlasticProxyFactory
to obtain aLocation
(where possible).static ObjectCreator[]
calculateParameters(ObjectLocator locator, InjectionResources resources, [] parameterTypes, [] genericTypes, [][] parameterAnnotations, OperationTracker tracker)
static ObjectCreator[]
method, ObjectLocator locator, InjectionResources resources, OperationTracker tracker)
static
input)
Capitalizes a string, converting the first character to uppercase.static void
stream)
static boolean
input)
Return true if the input string contains the marker for symbols that must be expanded.static <T> ObjectCreator<T>
createConstructorConstructionPlan(OperationTracker tracker, ObjectLocator locator, InjectionResources resources, org.slf4j.Logger logger, description, <T> constructor)
static <T> ObjectCreator<T>
createMethodInvocationPlan(OperationTracker tracker, ObjectLocator locator, InjectionResources resources, org.slf4j.Logger logger, description, instance, method)
static
id, Messages messages, propertyExpression)
Looks for a label within the messages based on the id.static
expression)
Used to convert a property expression into a key that can be used to locate various resources (Blocks, messages, etc.).static <T extends >
T[] annotations, <T> annotationClass)
Finds a specific annotation type within an array of annotations.static
clazz)
Searches a class for the "best" constructor, the public constructor with the most parameters.static
containingClass, methodName, ... parameterTypes)
static <K,V>
V<K,V> map, K key)
Gets a value from a map (which may be null).static
annotated)
Extracts the service id from the passed annotated element.static void
object, ObjectLocator locator, InjectionResources resources, OperationTracker tracker)
Injects into the fields (of all visibilities) when theInject
orInjectService
annotations are present.static boolean
input)
Returns true if the input is null, or is a zero length string (excluding leading/trailing whitespace).static boolean
input)
Returns true if the input is an empty collection.static boolean
clazz)
Determines if the indicated class is stored as a locally accessible file (and not, typically, as a file inside a JAR).static boolean
input)
static boolean
method)
Returns true if the method provided is a static method.static
elements)
Joins together some number of elements to form a comma separated list.static
elements, separator)
Joins together some number of elements.static
elements)
Creates a sorted copy of the provided elements, then turns that into a comma separated list.static <K,V>
<K><K,V> map)
static
input)
Searches the string for the final period ('.') character and returns everything after that.static Location
location)
static <T extends <T>>
<T><? extends T> collection, Predicate<T> predicate)
static long
nextUUID()
Generates a unique value for the current execution of the application.static []
realizeObjects(ObjectCreator[] creators)
static
input, pattern, replacement)
static <T> <T>
<T> list)
static int
[] array)
Returns the size of an object array, or null if the array is empty.static int
collection)
static <>
map)
Extracts the string keys from a map and returns them in sorted order.static
memberName)
Strips leading "_" and "$" and trailing "_" from the name.static AdvisorDef2
toAdvisorDef2(AdvisorDef advisor)
static AnnotationProvider
element)
static AnnotationProvider
element)
static ContributionDef2
toContributionDef2(ContributionDef contribution)
static ContributionDef3
toContributionDef3(ContributionDef contribution)
static DecoratorDef2
toDecoratorDef2(DecoratorDef decorator)
static <>
e)
Converts an enumeration (of Strings) into a sorted list of Strings.static <S,T>
Mapper<S,T>toMapper(Coercion<S,T> coercion)
static
exception)
Deprecated.Deprecated in 5.4; useExceptionUtils.toMessage(Throwable)
instead.static ModuleDef2
toModuleDef2(ModuleDef md)
static ServiceDef2
toServiceDef2(ServiceDef sd)
static ServiceDef3
toServiceDef3(ServiceDef sd)
static ServiceLifecycle2
toServiceLifecycle2(ServiceLifecycle lifecycle)
static
id)
Capitalizes the string, and inserts a space before each upper case character (or sequence of upper case characters).static void
constructor)
static void
markerClass)
Validates that the marker annotation class had a retention policy of runtime.static void
[] markerClasses)
-
-
-
Field Detail
-
SERVICE_CLASS_RELOADING_ENABLED
public static final boolean SERVICE_CLASS_RELOADING_ENABLED
- Since:
- 5.2.2
-
CLASS_TO_AP_MAPPER
public static final ,AnnotationProvider> CLASS_TO_AP_MAPPER
- Since:
- 5.3
-
METHOD_TO_AP_MAPPER
public static final ,AnnotationProvider> METHOD_TO_AP_MAPPER
- Since:
- 5.3
-
CREATE_OBJECT
public static final > CREATE_OBJECT
- Since:
- 5.3.1, 5.4
-
-
Constructor Detail
-
InternalUtils
public InternalUtils()
-
-
Method Detail
-
asString
public static method, PlasticProxyFactory proxyFactory)
Converts a method to a user presentable string using aPlasticProxyFactory
to obtain aLocation
(where possible).asString(Method)
is used under the covers, to present a detailed, but not excessive, description of the class, method and parameters.- Parameters:
method
- method to convert to a stringproxyFactory
- used to obtain theLocation
- Returns:
- the method formatted for presentation to the user
-
asString
public static method)
Converts a method to a user presentable string consisting of the containing class name, the method name, and the short form of the parameter list (the class name of each parameter type, shorn of the package name portion).- Parameters:
method
-- Returns:
- short string representation
-
size
public static int [] array)
Returns the size of an object array, or null if the array is empty.
-
size
public static int collection)
-
stripMemberName
public static memberName)
Strips leading "_" and "$" and trailing "_" from the name.
-
toList
public static <> e)
Converts an enumeration (of Strings) into a sorted list of Strings.
-
findAnnotation
public static <T extends > T [] annotations, <T> annotationClass)
Finds a specific annotation type within an array of annotations.- Type Parameters:
T
-- Parameters:
annotations
- to searchannotationClass
- to match- Returns:
- the annotation instance, if found, or null otherwise
-
calculateParametersForMethod
public static method, ObjectLocator locator, InjectionResources resources, OperationTracker tracker)
-
calculateParameters
public static ObjectCreator[] calculateParameters(ObjectLocator locator, InjectionResources resources, [] parameterTypes, [] genericTypes, [][] parameterAnnotations, OperationTracker tracker)
-
injectIntoFields
public static void object, ObjectLocator locator, InjectionResources resources, OperationTracker tracker)
Injects into the fields (of all visibilities) when theInject
orInjectService
annotations are present.- Parameters:
object
- to be initializedlocator
- used to resolve external dependenciesresources
- provides injection resources for fieldstracker
- track operations
-
join
public static elements)
Joins together some number of elements to form a comma separated list.
-
join
public static elements, separator)
Joins together some number of elements. If a value in the list is the empty string, it is replaced with the string "(blank)".- Parameters:
elements
- objects to be joined togetherseparator
- used between elements when joining
-
joinSorted
public static elements)
Creates a sorted copy of the provided elements, then turns that into a comma separated list.- Returns:
- the elements converted to strings, sorted, joined with comma ... or "(none)" if the elements are null or empty
-
isBlank
public static boolean input)
Returns true if the input is null, or is a zero length string (excluding leading/trailing whitespace).
-
isEmptyCollection
public static boolean input)
Returns true if the input is an empty collection.
-
isNonBlank
public static boolean input)
-
capitalize
public static input)
Capitalizes a string, converting the first character to uppercase.
-
locationOf
public static location)
-
keys
public static <K,V> <K> <K,V> map)
-
get
public static <K,V> V <K,V> map, K key)
Gets a value from a map (which may be null).- Type Parameters:
K
-V
-- Parameters:
map
- the map to extract from (may be null)key
-- Returns:
- the value from the map, or null if the map is null
-
isStatic
public static boolean method)
Returns true if the method provided is a static method.
-
reverseIterator
public static <T> <T> <T> list)
-
containsSymbols
public static boolean input)
Return true if the input string contains the marker for symbols that must be expanded.
-
lastTerm
public static input)
Searches the string for the final period ('.') character and returns everything after that. The input string is generally a fully qualified class name, though tapestry-core also uses this method for the occasional property expression (which is also dot separated). Returns the input string unchanged if it does not contain a period character.
-
findAutobuildConstructor
public static clazz)
Searches a class for the "best" constructor, the public constructor with the most parameters. Returns null if there are no public constructors. If there is more than one constructor with the maximum number of parameters, it is not determined which will be returned (don't build a class like that!). In addition, if a constructor is annotated withInject
, it will be used (no check for multiple such constructors is made, only at most a single constructor should have the annotation).- Parameters:
clazz
- to search for a constructor for- Returns:
- the constructor to be used to instantiate the class, or null if no appropriate constructor was found
-
addToMapList
public static <K,V> void <K,<V>> map, K key, V value)
Adds a value to a specially organized map where the values are lists of objects. This somewhat simulates a map that allows multiple values for the same key.- Type Parameters:
K
- the type of keyV
- the type of the list- Parameters:
map
- to store value intokey
- for which a value is addedvalue
- to add
-
validateMarkerAnnotation
public static void markerClass)
Validates that the marker annotation class had a retention policy of runtime.- Parameters:
markerClass
- the marker annotation class
-
validateMarkerAnnotations
public static void [] markerClasses)
-
close
public static void stream)
-
toMessage
public static exception)
Deprecated.Deprecated in 5.4; useExceptionUtils.toMessage(Throwable)
instead.Extracts the message from an exception. If the exception's message is null, returns the exceptions class name.- Parameters:
exception
- to extract message from- Returns:
- message or class name
-
validateConstructorForAutobuild
public static void constructor)
-
toAnnotationProvider
public static element)
- Since:
- 5.3
-
findMethod
public static final containingClass, methodName, ... parameterTypes)
-
toServiceDef3
public static ServiceDef3 toServiceDef3(ServiceDef sd)
- Since:
- 5.3
-
toServiceDef2
public static ServiceDef2 toServiceDef2(ServiceDef sd)
-
toModuleDef2
public static ModuleDef2 toModuleDef2(ModuleDef md)
-
toServiceLifecycle2
public static ServiceLifecycle2 toServiceLifecycle2(ServiceLifecycle lifecycle)
- Since:
- 5.1.0.2
-
matchAndSort
public static <T extends <T>> <T> <? extends T> collection, Predicate<T> predicate)
- Since:
- 5.2.0
-
toContributionDef2
public static ContributionDef2 toContributionDef2(ContributionDef contribution)
- Since:
- 5.2.0
-
toContributionDef3
public static ContributionDef3 toContributionDef3(ContributionDef contribution)
-
toAdvisorDef2
public static AdvisorDef2 toAdvisorDef2(AdvisorDef advisor)
- Since:
- 5.2.2
-
toDecoratorDef2
public static DecoratorDef2 toDecoratorDef2(DecoratorDef decorator)
- Since:
- 5.2.2
-
isLocalFile
public static boolean clazz)
Determines if the indicated class is stored as a locally accessible file (and not, typically, as a file inside a JAR). This is related to automatic reloading of services.- Since:
- 5.2.0
-
nextUUID
public static long nextUUID()
Generates a unique value for the current execution of the application. This initial UUID value is not easily predictable; subsequent UUIDs are allocated in ascending series.- Since:
- 5.2.0
-
getServiceId
public static annotated)
Extracts the service id from the passed annotated element. First theServiceId
annotation is checked. If present, its value is returned. Otherwise annotation is checked. If present, its value is returned. If neither of the annotations is present,null
value is returned- Parameters:
annotated
- annotated element to get annotations from- Since:
- 5.3
-
toAnnotationProvider
public static element)
-
createConstructorConstructionPlan
public static <T> ObjectCreator<T> createConstructorConstructionPlan(OperationTracker tracker, ObjectLocator locator, InjectionResources resources, org.slf4j.Logger logger, description, <T> constructor)
-
createMethodInvocationPlan
public static <T> ObjectCreator<T> createMethodInvocationPlan(OperationTracker tracker, ObjectLocator locator, InjectionResources resources, org.slf4j.Logger logger, description, instance, method)
-
realizeObjects
public static [] realizeObjects(ObjectCreator[] creators)
- Since:
- 5.3.1, 5.4
-
sortedKeys
public static <> map)
Extracts the string keys from a map and returns them in sorted order. The keys are converted to strings.- Parameters:
map
- the map to extract keys from (may be null)- Returns:
- the sorted keys, or the empty set if map is null
-
toUserPresentable
public static id)
Capitalizes the string, and inserts a space before each upper case character (or sequence of upper case characters). Thus "userId" becomes "User Id", etc. Also, converts underscore into space (and capitalizes the following word), thus "user_id" also becomes "User Id".
-
extractIdFromPropertyExpression
public static expression)
Used to convert a property expression into a key that can be used to locate various resources (Blocks, messages, etc.). Strips out any punctuation characters, leaving just words characters (letters, number and the underscore).- Parameters:
expression
- a property expression- Returns:
- the expression with punctuation removed
-
defaultLabel
public static id, Messages messages, propertyExpression)
Looks for a label within the messages based on the id. If found, it is used, otherwise the name is converted to a user presentable form.
-
replace
public static input, pattern, replacement)
-
-