Hi all.
Something queer I found while looking at QueryNode implementations is
this sort of thing:
@Override
public FieldQueryNode cloneTree() throws CloneNotSupportedException {
FieldQueryNode fqn = (FieldQueryNode) super.cloneTree();
fqn.begin = this.begin;
fqn.end = this.end;
fqn.field = this.field;
fqn.text = this.text;
fqn.positionIncrement = this.positionIncrement;
return fqn;
}
I guess what I don't get is the point of all these field copies, because:
* super.cloneTree() seems to call QueryNodeImpl#cloneTree()
* QueryNodeImpl#cloneTree seems to call Object#clone()
* Object#clone() seems to already copy all primitives and
references (a "shallow copy")
So to me it looks like the query node classes are doing a lot of
pedalling, but that the gears aren't really connected to the wheels,
and that classes should only override these if they have a more
complex object which isn't already taken care of automatically.
Or am I missing something?
TX
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]