I have an interface named PropertyFilter
which used to take a Property
and decide if accepts it or not. And the world was good.
But now the interface changed, so that implementations may choose to add additional Property
s. For example a Customer
property might get expanded into Name
and Address
properties.
I think it is obvious this is not a Filter anymore, but how would you call such a thing?
To clarify: the so called filter is pretty much a method with the signature
Property -> List<Property>
With an empty List denoting not accepting the Property, a List with exactly the input Property denoting accepting the property and a List with new Properties (possibly including the original one) denoting an expansion.