import static com.google.common.base.Verify.verifyNotNull;
import static java.util.Objects.requireNonNull;
+import com.google.common.base.MoreObjects;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
private final @NonNull AbstractAugmentGenerator augment;
private final @NonNull Iterator<QName> remaining;
- private @NonNull AbstractCompositeGenerator<?> target;
+ private @NonNull AbstractCompositeGenerator<?, ?> target;
private QNameModule localNamespace;
private QName qname;
- private AugmentRequirement(final AbstractAugmentGenerator augment, final AbstractCompositeGenerator<?> target) {
+ private AugmentRequirement(final AbstractAugmentGenerator augment, final AbstractCompositeGenerator<?, ?> target) {
this.augment = requireNonNull(augment);
this.target = requireNonNull(target);
remaining = augment.statement().argument().getNodeIdentifiers().iterator();
return qname == null ? resolveAsTarget() : resolveAsChild();
}
+ @Override
+ public String toString() {
+ return MoreObjects.toStringHelper(this).omitNullValues()
+ .add("augment", augment)
+ .add("target", target)
+ .add("qname", qname)
+ .add("squash", squashNamespaces)
+ .add("local", localNamespace)
+ .toString();
+ }
+
private @NonNull LinkageProgress resolveAsTarget() {
// Resolved requirement, if we also have original we end resolution here and now
final var original = target.tryOriginal();
return LinkageProgress.NONE;
}
- private @NonNull LinkageProgress moveTo(final @NonNull AbstractCompositeGenerator<?> newTarget) {
+ private @NonNull LinkageProgress moveTo(final @NonNull AbstractCompositeGenerator<?, ?> newTarget) {
target = newTarget;
return tryProgress();
}
- private @NonNull LinkageProgress progressTo(final @NonNull AbstractExplicitGenerator<?> newTarget) {
+ private @NonNull LinkageProgress progressTo(final @NonNull AbstractExplicitGenerator<?, ?> newTarget) {
verify(newTarget instanceof AbstractCompositeGenerator, "Unexpected generator %s", newTarget);
- target = (AbstractCompositeGenerator<?>) newTarget;
+ target = (AbstractCompositeGenerator<?, ?>) newTarget;
qname = remaining.hasNext() ? remaining.next() : null;
return tryProgress();
}