Class PluginAdapterUtility
- java.lang.Object
-
- com.dtolabs.rundeck.core.plugins.configuration.PluginAdapterUtility
-
public class PluginAdapterUtility extends java.lang.Object
Utility for creatingDescription
s from Plugin class annotations and setting property values for annotated property fields.
-
-
Constructor Summary
Constructors Constructor Description PluginAdapterUtility()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Description
buildDescription(java.lang.Class<?> type, DescriptionBuilder builder)
static Description
buildDescription(java.lang.Class<?> type, DescriptionBuilder builder, boolean includeAnnotatedFieldProperties)
static Description
buildDescription(java.lang.Object object, DescriptionBuilder builder)
static Description
buildDescription(java.lang.Object object, DescriptionBuilder builder, boolean includeAnnotatedFieldProperties)
static java.util.List<Property>
buildFieldProperties(java.lang.Class<?> aClass)
Return the list of properties by introspecting the annotated fields forPluginProperty
static void
buildFieldProperties(java.lang.Class<?> aClass, DescriptionBuilder builder)
Add properties based on introspection of a classstatic java.util.List<Property>
buildFieldProperties(java.lang.Object object)
Return the list of properties by introspecting the annotated fields forPluginProperty
static void
buildFieldProperties(java.lang.Object object, DescriptionBuilder builder)
Add properties based on introspection of the objectstatic boolean
canBuildDescription(java.lang.Object object)
static java.util.Map<java.lang.String,java.lang.Object>
configureObjectFieldsWithProperties(java.lang.Object object, java.util.List<Property> properties, java.util.Map<java.lang.String,java.lang.Object> inputConfig)
Set field values on an object given a list of properties and input values for those propertiesstatic java.util.Map<java.lang.String,java.lang.Object>
configureObjectFieldsWithProperties(java.lang.Object object, java.util.Map<java.lang.String,java.lang.Object> inputConfig)
Set field values on an object using introspection and input values for those propertiesstatic java.util.Map<java.lang.String,java.lang.Object>
configureProperties(PropertyResolver resolver, Description description, java.lang.Object object, PropertyScope defaultScope)
Set field values on a plugin object by using a Description, and setting field values to resolved property values.static java.util.Map<java.lang.String,java.lang.Object>
configureProperties(PropertyResolver resolver, java.lang.Object object)
Set field values on a plugin object by using annotated field values to create a Description, and setting field values to resolved property values.static PluginCustomConfig
getCustomConfigAnnotation(java.lang.Object providerInstance)
static java.util.Map<java.lang.String,java.lang.String>
loadPluginMetadata(java.lang.Class<?> clazz)
static java.util.Map<java.lang.String,java.lang.Object>
mapDescribedProperties(PropertyResolver resolver, Description description)
Retrieve the Description's Properties mapped to resolved values given the resolver, using InsanceOnly default scope.static java.util.Map<java.lang.String,java.lang.Object>
mapDescribedProperties(PropertyResolver resolver, Description description, PropertyScope defaultPropertyScope)
Retrieve the Description's Properties mapped to resolved values given the resolver, with a default property scopestatic java.util.Map<java.lang.String,java.lang.Object>
mapProperties(PropertyResolver resolver, java.util.List<Property> properties, PropertyScope defaultPropertyScope)
Retrieve the Properties mapped to resolved values given the resolver, with a default property scopestatic void
setConfig(java.lang.Object object, java.lang.Object config)
Set config on fields annotated with PluginConfigPluginCustomConfig
-
-
-
Method Detail
-
canBuildDescription
public static boolean canBuildDescription(java.lang.Object object)
- Parameters:
object
- potential plugin object annotated withPlugin
- Returns:
- true if the object has a valid Plugin annotation
-
buildDescription
public static Description buildDescription(java.lang.Object object, DescriptionBuilder builder)
- Parameters:
object
- the objectbuilder
- builder- Returns:
- Create a Description using a builder by analyzing the annotations on a plugin object, and including annotations on fields as DescriptionProperties.
-
buildDescription
public static Description buildDescription(java.lang.Class<?> type, DescriptionBuilder builder)
- Parameters:
type
- the typebuilder
- builder- Returns:
- Create a Description using a builder by analyzing the annotations on a plugin type, and including annotations on fields as DescriptionProperties.
-
buildDescription
public static Description buildDescription(java.lang.Object object, DescriptionBuilder builder, boolean includeAnnotatedFieldProperties)
- Parameters:
object
- the objectbuilder
- builderincludeAnnotatedFieldProperties
- if true, add DescriptionProperties to the Description based on annotations of fields in the class of the instance- Returns:
- Create a Description using a builder by analyzing the annotations on a plugin object.
-
buildDescription
public static Description buildDescription(java.lang.Class<?> type, DescriptionBuilder builder, boolean includeAnnotatedFieldProperties)
- Parameters:
builder
- builderincludeAnnotatedFieldProperties
- if true, add DescriptionProperties to the Description based on annotations of fields in the class of the instance- Returns:
- Create a Description using a builder by analyzing the annotations on a plugin object.
-
loadPluginMetadata
public static java.util.Map<java.lang.String,java.lang.String> loadPluginMetadata(java.lang.Class<?> clazz)
-
buildFieldProperties
public static java.util.List<Property> buildFieldProperties(java.lang.Object object)
Return the list of properties by introspecting the annotated fields forPluginProperty
- Parameters:
object
- object- Returns:
- list of properties, may be empty
-
buildFieldProperties
public static java.util.List<Property> buildFieldProperties(java.lang.Class<?> aClass)
Return the list of properties by introspecting the annotated fields forPluginProperty
- Parameters:
aClass
- class- Returns:
- list of properties, may be empty
-
buildFieldProperties
public static void buildFieldProperties(java.lang.Object object, DescriptionBuilder builder)
Add properties based on introspection of the object- Parameters:
object
- objectbuilder
- builder
-
buildFieldProperties
public static void buildFieldProperties(java.lang.Class<?> aClass, DescriptionBuilder builder)
Add properties based on introspection of a class- Parameters:
aClass
- classbuilder
- builder
-
configureProperties
public static java.util.Map<java.lang.String,java.lang.Object> configureProperties(PropertyResolver resolver, java.lang.Object object)
Set field values on a plugin object by using annotated field values to create a Description, and setting field values to resolved property values. Any resolved properties that are not mapped to a field will be included in the return result.- Parameters:
resolver
- property resolverobject
- plugin object- Returns:
- Map of resolved properties that were not configured in the object's fields
-
configureProperties
public static java.util.Map<java.lang.String,java.lang.Object> configureProperties(PropertyResolver resolver, Description description, java.lang.Object object, PropertyScope defaultScope)
Set field values on a plugin object by using a Description, and setting field values to resolved property values. Any resolved properties that are not mapped to a field will be included in the return result.- Parameters:
resolver
- the property resolverdescription
- the property descriptionsobject
- the target object, which can implementConfigurable
, otherwise introspection will be useddefaultScope
- a default property scope to assume for unspecified properties- Returns:
- Map of resolved properties that were not configured in the object's fields
-
configureObjectFieldsWithProperties
public static java.util.Map<java.lang.String,java.lang.Object> configureObjectFieldsWithProperties(java.lang.Object object, java.util.Map<java.lang.String,java.lang.Object> inputConfig)
Set field values on an object using introspection and input values for those properties- Parameters:
object
- objectinputConfig
- input- Returns:
- Map of resolved properties that were not configured in the object's fields
-
configureObjectFieldsWithProperties
public static java.util.Map<java.lang.String,java.lang.Object> configureObjectFieldsWithProperties(java.lang.Object object, java.util.List<Property> properties, java.util.Map<java.lang.String,java.lang.Object> inputConfig)
Set field values on an object given a list of properties and input values for those properties- Parameters:
object
- objectproperties
- propertiesinputConfig
- input- Returns:
- Map of resolved properties that were not configured in the object's fields
-
mapDescribedProperties
public static java.util.Map<java.lang.String,java.lang.Object> mapDescribedProperties(PropertyResolver resolver, Description description)
Retrieve the Description's Properties mapped to resolved values given the resolver, using InsanceOnly default scope.- Parameters:
resolver
- property resolverdescription
- plugin description- Returns:
- All mapped properties by name and value.
-
mapDescribedProperties
public static java.util.Map<java.lang.String,java.lang.Object> mapDescribedProperties(PropertyResolver resolver, Description description, PropertyScope defaultPropertyScope)
Retrieve the Description's Properties mapped to resolved values given the resolver, with a default property scope- Parameters:
resolver
- property resolverdescription
- plugin descriptiondefaultPropertyScope
- default scope for unspecified property scopes- Returns:
- All mapped properties by name and value.
-
mapProperties
public static java.util.Map<java.lang.String,java.lang.Object> mapProperties(PropertyResolver resolver, java.util.List<Property> properties, PropertyScope defaultPropertyScope)
Retrieve the Properties mapped to resolved values given the resolver, with a default property scope- Parameters:
resolver
- property resolverproperties
- propertiesdefaultPropertyScope
- default scope for unspecified property scopes- Returns:
- All mapped properties by name and value.
-
setConfig
public static void setConfig(java.lang.Object object, java.lang.Object config)
Set config on fields annotated with PluginConfigPluginCustomConfig
- Parameters:
object
-config
-
-
getCustomConfigAnnotation
public static PluginCustomConfig getCustomConfigAnnotation(java.lang.Object providerInstance)
-
-