Patterns: Add Custom module

This commit is contained in:
Jonathan Jenne
2022-10-17 10:40:10 +02:00
parent 2a53d24a91
commit b4528788e3
3 changed files with 55 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
Imports DigitalData.Modules.Logging
Namespace Modules
''' <summary>
''' Custom Patterns that are defined at runtime
''' </summary>
Public Class Custom
Inherits BaseModule
Implements IModule
Public Property PatternIdentifier As String = "CUST" Implements IModule.PatternIdentifier
Public Property IsComplex As Boolean = False Implements IModule.IsComplex
Public Sub New(pLogConfig As LogConfig)
MyBase.New(pLogConfig)
End Sub
Public Function Replace(pInput As String, pCustomValues As Dictionary(Of String, String)) As String
Dim oResult = pInput
Dim oCounter = 0
Dim oNow As Date = Now
Logger.Trace("Replacing Custom Patterns")
While HasPattern(oResult, PatternIdentifier)
For Each oCustomValue In pCustomValues
If ContainsPatternAndValue(oResult, PatternIdentifier, oCustomValue.Key) Then
oResult = ReplacePattern(oResult, PatternIdentifier, oCustomValue.Value)
End If
Next
IncrementCounterOrThrow(oCounter)
End While
Return oResult
End Function
End Class
End Namespace