BUG-3263: Split off Fixed/Stacked YangInstanceIdentifier 84/20684/6
authorRobert Varga <rovarga@cisco.com>
Mon, 18 May 2015 19:03:09 +0000 (21:03 +0200)
committerRobert Varga <rovarga@cisco.com>
Tue, 19 May 2015 07:31:19 +0000 (09:31 +0200)
commitd3d9f5ba02c0264f57083ccbde6e7f3c3548898e
tree51ecc7a70840dc92e17420d76886a44c120c9cfc
parentafbeab40f406b932a44451d9a7fb8482dbb6d09d
BUG-3263: Split off Fixed/Stacked YangInstanceIdentifier

This patch makes YangInstanceIdentifier an abstract class, with two
subclasses: FixedYangInstanceIdentifier and
StackedYangInstanceIdentifier.

The fixed version uses an internal ImmutableList and derives efficiency
from it to the maximum extent allowed.

The stacked version stores a reference to the parent identifier and the
last path argument. It caches the support classes which provide
getPathArguments and getReversePathArguments.

Also introduce a getParent() method, as it can now be implemented
efficiently.

Change-Id: I0c4a771e74d031cae0b53a7f97221213222729f6
Signed-off-by: Robert Varga <rovarga@cisco.com>
yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/FixedYangInstanceIdentifier.java [new file with mode: 0644]
yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/StackedPathArguments.java [new file with mode: 0644]
yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/StackedReversePathArguments.java [new file with mode: 0644]
yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/StackedYangInstanceIdentifier.java [new file with mode: 0644]
yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/YangInstanceIdentifier.java
yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/YangInstanceIdentifierBuilder.java