Create prototype iterator functionality
Opened this issue · 1 comments
plastikfan commented
The code proposed came out of the prototype work done with the yank command defined in Utopia, with improved class hierarchy.
Key features:
Kerberus
class: is the filter guardian wrapping up anything to do with filtering to be used with the iterator functionsCoreFilter
class hierarchy: consists of the base class:CoreFilter
,RegexFilter
andFlobFilter
FilterDriver
: is a wrapper around theCoreFilter
and consists of the base classFilterDriver
,UnaryFilter
designed for single filter scenarios andCompoundFilter
for mult-filter scenarios, such as filtering on leaf/child nodes- For compound filters, we need to be able apply mutiple filters with all or any semantics. This is achieved with the
CompoundHandler
class hierarchy, constisting ofAllCompoundHandler
andAnyCompoundHandler
classes FilterNode
represents the directory presented toInvoke-TraverseDirectory
client, ie the client side script block/context. Contains extra information about the directory and a subject that further contains information about the directory segmentsFilterStrategy
defines the semantics behind the filter scope, eg what is a child node, and what is a leaf node
The CoreFilter can be applied to any part of the directory path and this is denoted by its scope value.
plastikfan commented
The commit: 6482cea fixes this issue, the commit references the wrong issue.