* Copyright 2014 Daniel Bechler
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
is a powerful and flexible way to detect and exclude those objects.
Keep in mind that every single node in the object graph will be checked against each and every registered
. If performance is important to you, make sure that calling its
methods is as cheap as possible.
should be included into the comparison process.
nodeThe node to determine the inclusion for. Keep in mind that the
doesn't contain any children at this point and albeit it is already linked to its parent node, the parent node also probably hasn't been fully processed yet. It is only safe to examine the node path and type related properties along the path up to the root node, but definitely not to make any decisions based on the state or number of child nodes.
to indicate an explicit inclusion,
to inidicate an explicit exclusion or
in case this resolver doesn't want to influence the decision. This method should never return