
com.ybo.trackingplugin.tasks.utils.impl.patterns.searchers.BasePatternSearcher.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of traceplugin Show documentation
Show all versions of traceplugin Show documentation
gradle plugin allowing to add automatic logs (or other process) at the start of each traced method
package com.ybo.trackingplugin.tasks.utils.impl.patterns.searchers
import com.ybo.trackingplugin.tasks.data.PatternToSearch
import com.ybo.trackingplugin.tasks.utils.PatternSearcher
import com.ybo.trackingplugin.tasks.utils.impl.patterns.PatternName
import com.ybo.trackingplugin.tasks.utils.impl.patterns.searchers.resolvers.PatternResolver
internal open class BasePatternSearcher(
private val resolver: PatternResolver,
) : PatternSearcher {
override fun search(
text: String,
patterns: List>,
): List> {
return patterns.mapNotNull { pattern ->
val matcher = pattern.regex().findAll(text)
if (matcher.count() == 0) {
null
} else {
PatternSearcher.GroupOfResult(
patternName = pattern.name,
results = matcher
.map { resolver.resolve(it, pattern.name) }
.toList(),
)
}
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy