Package org.apache.felix.scr.impl.inject
Class ValueUtils
java.lang.Object
org.apache.felix.scr.impl.inject.ValueUtils
Utility methods for handling references and activation
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enum
The value type of the field, activation field or constructor parameter -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic ValueUtils.ValueType
getReferenceValueType
(Class<?> componentClass, ReferenceMetadata metadata, Class<?> typeClass, Field field, ComponentLogger logger) Get the value type of the reference for a field/constructor argumentstatic Object
getValue
(String componentType, ValueUtils.ValueType type, Class<?> targetType, ScrComponentContext componentContext, RefPair<?, ?> refPair) Get the value for the value typestatic ValueUtils.ValueType
getValueType
(Class<?> typeClass) Get the value type for the parameter class.
-
Field Details
-
EMPTY_VALUE_TYPES
Empty array.
-
-
Constructor Details
-
ValueUtils
public ValueUtils()
-
-
Method Details
-
getValueType
Get the value type for the parameter class. This method is used for field activation and constructor injection.- Parameters:
typeClass
- The class of the parameter- Returns:
- The value type
-
getReferenceValueType
public static ValueUtils.ValueType getReferenceValueType(Class<?> componentClass, ReferenceMetadata metadata, Class<?> typeClass, Field field, ComponentLogger logger) Get the value type of the reference for a field/constructor argument- Parameters:
componentClass
- The component class declaring the referencemetadata
- The reference metadatatypeClass
- The type of the field/parameterf
- The optional field. Ifnull
this is a constructor referencelogger
- The logger- Returns:
- The value type for the field. If invalid,
ValueType#ignore
-
getValue
public static Object getValue(String componentType, ValueUtils.ValueType type, Class<?> targetType, ScrComponentContext componentContext, RefPair<?, ?> refPair) Get the value for the value type- Parameters:
componentType
- The class of the componenttype
- The value typetargetType
- Optional target type, only required for typeValueType#config_annotation
.componentContext
- The component contextrefPair
- The ref pair- Returns:
- The value or
null
.
-