< Summary

Information
Class: Elsa.Workflows.Attributes.InputAttribute
Assembly: Elsa.Workflows.Core
File(s): /home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Workflows.Core/Attributes/InputAttribute.cs
Line coverage
94%
Covered lines: 18
Uncovered lines: 1
Coverable lines: 19
Total lines: 107
Line coverage: 94.7%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_Name()100%11100%
get_UIHint()100%11100%
get_DisplayName()100%11100%
get_Description()100%11100%
get_Category()100%11100%
get_Options()100%11100%
get_Order()100%11100%
get_DefaultValue()100%11100%
get_DefaultValueProvider()100%11100%
get_DefaultSyntax()100%11100%
get_SupportedSyntaxes()100%210%
get_IsReadOnly()100%11100%
get_IsBrowsable()100%11100%
get_AutoEvaluate()100%11100%
get_EvaluatorType()100%11100%
get_IsSerializable()100%11100%
get_CanContainSecrets()100%11100%
get_UIHandler()100%11100%
get_UIHandlers()100%11100%

File(s)

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Workflows.Core/Attributes/InputAttribute.cs

#LineLine coverage
 1namespace Elsa.Workflows.Attributes;
 2
 3/// <summary>
 4/// Specifies various metadata about an activity's input property.
 5/// This metadata can be used by visual designers to control various aspects of the input editor control.
 6/// </summary>
 7[AttributeUsage(AttributeTargets.Property)]
 8public class InputAttribute : Attribute
 9{
 10    /// <summary>
 11    /// The technical name to use for the input property.
 12    /// </summary>
 1663613    public string? Name { get; set; }
 14
 15    /// <summary>
 16    /// A hint to workflow tooling what input control to use.
 17    /// </summary>
 6538718    public string? UIHint { get; set; }
 19
 20    /// <summary>
 21    /// The user-friendly name of the activity property.
 22    /// </summary>
 2556223    public string? DisplayName { get; set; }
 24
 25    /// <summary>
 26    /// A brief description about this property for workflow tooling to use when displaying activity editors.
 27    /// </summary>
 6574028    public string? Description { get; set; }
 29
 30    /// <summary>
 31    /// A category to group this property with.
 32    /// </summary>
 1999133    public string? Category { get; set; }
 34
 35    /// <summary>
 36    /// A value representing options specific to a given UI hint.
 37    /// </summary>
 340538    public object? Options { get; set; }
 39
 40    /// <summary>
 41    /// A value to order this property by. Properties are displayed in ascending order (lower appears before higher).
 42    /// </summary>
 1814943    public float Order { get; set; }
 44
 45    /// <summary>
 46    /// The default value to set.
 47    /// </summary>
 2084448    public object? DefaultValue { get; set; }
 49
 50    /// <summary>
 51    /// A type that implements <see cref="IActivityPropertyDefaultValueProvider"/> and provides a default value. When sp
 52    /// </summary>
 1783553    public Type? DefaultValueProvider { get; set; }
 54
 55    /// <summary>
 56    /// The syntax to use by default when evaluating the value. Only used when the property definition doesn't have a sy
 57    /// </summary>
 1873058    public string? DefaultSyntax { get; set; }
 59
 60    /// <summary>
 61    /// The syntax to use by default when evaluating the value. Only used when the property definition doesn't have a sy
 62    /// </summary>
 063    public string[]? SupportedSyntaxes { get; set; }
 64
 65    /// <summary>
 66    /// A value indicating whether this property should be displayed as read-only.
 67    /// </summary>
 1650768    public bool IsReadOnly { get; set; }
 69
 70    /// <summary>
 71    /// A value indicating whether this property should be visible.
 72    /// </summary>
 7008073    public bool IsBrowsable { get; set; } = true;
 74
 75    /// <summary>
 76    /// True if the activity invoker should evaluate the expression, false otherwise.
 77    /// When set to false, it is up to the activity itself to evaluate its input before using it.
 78    /// </summary>
 7164379    public bool AutoEvaluate { get; set; } = true;
 80
 81    /// <summary>
 82    /// Specifies the type of a custom evaluator to use for evaluating the input property value.
 83    /// The evaluator type determines how the value for the property is resolved at runtime.
 84    /// </summary>
 1650785    public Type? EvaluatorType { get; set; }
 86
 87    /// <summary>
 88    /// A value indicating whether this input can be serialized as part of the workflow instance,
 89    /// </summary>
 7008090    public bool IsSerializable { get; set; } = true;
 91
 92    /// <summary>
 93    /// Gets or sets a value indicating whether this input can contain secrets.
 94    /// When set to true, the input will be treated as a secret and will be encrypted, masked or otherwise protected, de
 95    /// </summary>
 20796    public bool CanContainSecrets { get; set; }
 97
 98    /// <summary>
 99    /// A <see cref="IPropertyUIHandler"/> type that can be used to customize the UI for this property.
 100    /// </summary>
 21727101    public Type? UIHandler { get; set; }
 102
 103    /// <summary>
 104    /// A set of <see cref="IPropertyUIHandler"/> types that can be used to customize the UI for this property.
 105    /// </summary>
 16507106    public Type[]? UIHandlers { get; set; }
 107}