62d9d28fe1
{Abstract}NodeItem: reduce complexity of findInPath()
2016-09-13 22:48:30 +01:00
afdaa082cc
AbsractNodeItem: constructor children must not be null
2016-09-13 22:48:30 +01:00
4770a99983
AbstractNodeItem: add javadoc for constructor
2016-09-13 22:48:30 +01:00
99db9e2a1a
Node: remove undeclared runtime exceptions from javadoc
2016-09-13 22:48:30 +01:00
d32221c649
ImmutableNodeItem: add javadoc
2016-09-13 22:48:29 +01:00
29648c9f70
Code Style update - use wider limits
2016-09-13 22:48:28 +01:00
915a63f1b0
Node{Item}: undo line wraps
2016-09-13 22:48:28 +01:00
8aa8abe329
@author: add email address
2016-09-13 22:48:28 +01:00
a39fa049c2
LICENSE{ => .txt}: rename and add to java sources
...
Rename the LICENSE file and add a copy of it to each java source file as a header.
2016-09-13 22:48:28 +01:00
57c08153d3
Node: fix broken javadoc
2016-09-13 07:51:58 +01:00
29a5ceca82
NodeItem: remove support for dynamic names
2016-09-04 22:19:22 +01:00
69be86ba07
NodeItem: reduce complexity of addChild
2016-09-04 22:13:10 +01:00
9ec2668802
NodeItem: wrap lines at 80 columns
2016-09-04 20:00:55 +01:00
e4c4fdf4bc
NodeItem,: use strange javadoc element ordering
2016-09-04 20:00:55 +01:00
cd1afc6778
NodeItem: avoid import .*
2016-09-04 20:00:55 +01:00
1da9d44a8b
Node: add javadoc @deprecated to findOrCreateChild
2016-09-04 20:00:55 +01:00
40f49fd832
NodeItem: refactored insertInPath to be easier to understand
2016-09-04 20:00:54 +01:00
e28b140db8
NodeItem: simplify inserting child into path
2016-09-04 19:28:20 +01:00
91c57f098e
{Abstract}NodeItem: rewrite findInPath to avoid recursion
2016-09-04 19:21:41 +01:00
6987f927fe
{Immutable}NodeItemTest: categorise findInPath tests
2016-09-04 19:21:18 +01:00
02d07605c0
NodeFindInPathTestsCategory: added
2016-09-04 19:20:16 +01:00
9f3aec202a
{Abstract}NodeItem: reduce nested if statements
2016-09-04 18:59:22 +01:00
37247e93bc
node: change javadoc element order to Atclause order
...
The default configuration of the AtclauseOrder is a bit strange.
2016-09-04 18:44:29 +01:00
5c129b54b8
NodeItem: put trailing comments on their own line
2016-09-04 18:24:21 +01:00
3d94eaeb32
AbstractNodeItem: refactor formatting name by depth
...
Remove duplicate string literals.
2016-09-04 18:24:20 +01:00
6253a3226f
NodeItem: simplify stream().forEach()
2016-09-04 18:24:20 +01:00
2a435a849e
NodeItem: refactor formatting name by depth
...
Remove duplicate string literals.
2016-09-04 18:24:20 +01:00
b2130442e5
AbstractNodeItem: replace manual null checks with @NonNull
2016-08-22 08:52:42 +01:00
d99fcdcebe
NodeItem: replace manual null checks with @NonNull
2016-08-22 08:52:24 +01:00
f1a73366bd
Nodes.asImmutable: added to create an immutable copy of a node tree
2016-08-21 19:09:47 +01:00
421ad743f0
ImmutableNodeItem: added
2016-08-21 19:09:12 +01:00
be0685538f
AbstractNodeItem: added
2016-08-21 19:08:59 +01:00
cf6bc72717
NodeItem: hide package class - use Node interface only
2016-08-21 15:39:02 +01:00
7a10498a31
NodeItem: remove dynamic name support for nodes
2016-08-21 12:46:21 +01:00
1b0b022281
NodeItem.findChild(): rewrite stream filter
2016-08-21 12:46:21 +01:00
2da1d9aa3d
NodeItem: add deprecated to implementation of deprecated interface method
2016-08-21 12:27:50 +01:00
e9b43cb73c
[BREAKING] NodeItem: require instantiation using Nodes
...
This breaks the existing API where NodeItem<T> could be instantiated directly.
2016-08-21 12:22:04 +01:00
51e8194db7
Nodes: add utility class to create Node instances
2016-08-21 12:22:04 +01:00
f945af160a
NodeItem: deprecate dynamic node names
...
With the aim of moving towards immutable objects, node shouldn't have
dynamic names. I've not found a use for them in my own projects.
2016-08-21 11:29:42 +01:00
1ea7802768
NodeItemTest: ensure that removeParent() removes the child from the parent too
2016-05-26 13:17:21 +01:00
136bc0b4ba
NodeItemTest: ensure that when a child is removed from it's parent its parent is removed
2016-05-26 13:11:51 +01:00
d3b8fa721b
NodeItemTest: check that parent is set when using NodeItem(data, supplier, parent)
2016-05-26 13:08:52 +01:00
6c13cd2735
Node.getParent(): returns any parent inside an Optional
...
Root nodes will return an empty Optional.
2016-05-26 13:03:32 +01:00
37562941f4
Node.getChildByName(): javadoc to note throws NodeException if child not found
2016-05-26 13:03:32 +01:00
41bd84b6f6
Node.getData(): nodes may be empty so return an Optional
...
Most tests used Node::getData as a name supplier for test fixtures.
In some cases these were not needed and have been removed. In others, where
there are used, they have been updated to get the content of the Optional.
If the Optional happens to be empty, which it shouldn't be in those cases,
then an error will occur and the test will, correctly, fail.
2016-05-26 13:03:25 +01:00
d0e6769126
NodeItem.insertInPath(): don't hide field 'name'
2016-05-25 14:23:33 +01:00
5d0de83aef
NodeItem.insertInPath(): exception message includes name of conflicting node
2016-05-25 13:47:41 +01:00
e06feddec3
Merge pull request #9 from kemitix/demo-of-full-path-node-name
...
NodeItemTest: demonstrate using dynamic name supplier to generate nod…
2016-05-24 23:03:11 +01:00
d82b0290a1
NodeItemTest: demonstrate using dynamic name supplier to generate node paths
2016-05-24 22:35:24 +01:00
eebd293633
NodeItem.insertInPath(): use setData() to when target is already in tree
...
Where an empty node is already found in the tree where we want to insert
a node, use the setData() method to place the data. This replaces the
previous process of attempting to swapping in the new node.
2016-05-24 22:16:35 +01:00