Skip to content

Commit 522a263

Browse files
committed
core: Move NodePath out of the transformation package
1 parent bc60b50 commit 522a263

File tree

26 files changed

+109
-35
lines changed

26 files changed

+109
-35
lines changed

core/src/main/java/org/spongepowered/configurate/AbstractConfigurationNode.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
import org.checkerframework.checker.nullness.qual.Nullable;
2424
import org.spongepowered.configurate.serialize.SerializationException;
2525
import org.spongepowered.configurate.serialize.TypeSerializer;
26-
import org.spongepowered.configurate.transformation.NodePath;
2726
import org.spongepowered.configurate.util.UnmodifiableCollections;
2827

2928
import java.lang.reflect.Type;

core/src/main/java/org/spongepowered/configurate/ConfigurateException.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
package org.spongepowered.configurate;
1818

1919
import org.checkerframework.checker.nullness.qual.Nullable;
20-
import org.spongepowered.configurate.transformation.NodePath;
2120

2221
import java.io.IOException;
2322
import java.util.function.Supplier;

core/src/main/java/org/spongepowered/configurate/ConfigurationNode.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
import org.spongepowered.configurate.serialize.Scalars;
2828
import org.spongepowered.configurate.serialize.SerializationException;
2929
import org.spongepowered.configurate.serialize.TypeSerializer;
30-
import org.spongepowered.configurate.transformation.NodePath;
3130

3231
import java.lang.reflect.Type;
3332
import java.util.Collection;

core/src/main/java/org/spongepowered/configurate/transformation/NodePath.java renamed to core/src/main/java/org/spongepowered/configurate/NodePath.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* See the License for the specific language governing permissions and
1515
* limitations under the License.
1616
*/
17-
package org.spongepowered.configurate.transformation;
17+
package org.spongepowered.configurate;
1818

1919
import java.util.Collection;
2020
import java.util.Iterator;
@@ -34,7 +34,11 @@ public interface NodePath extends Iterable<Object> {
3434
* @since 4.0.0
3535
*/
3636
static NodePath of(Object[] path) {
37-
return new NodePathImpl(path, true);
37+
if (path.length == 0) {
38+
return NodePathImpl.EMPTY;
39+
} else {
40+
return new NodePathImpl(path, true);
41+
}
3842
}
3943

4044
/**
@@ -45,7 +49,11 @@ static NodePath of(Object[] path) {
4549
* @since 4.0.0
4650
*/
4751
static NodePath of(Collection<?> path) {
48-
return new NodePathImpl(path.toArray(), false);
52+
if (path.isEmpty()) {
53+
return NodePathImpl.EMPTY;
54+
} else {
55+
return new NodePathImpl(path.toArray(), false);
56+
}
4957
}
5058

5159
/**

core/src/main/java/org/spongepowered/configurate/transformation/NodePathImpl.java renamed to core/src/main/java/org/spongepowered/configurate/NodePathImpl.java

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@
1414
* See the License for the specific language governing permissions and
1515
* limitations under the License.
1616
*/
17-
package org.spongepowered.configurate.transformation;
17+
package org.spongepowered.configurate;
1818

1919
import static java.util.Objects.requireNonNull;
2020

21-
import com.google.errorprone.annotations.concurrent.LazyInit;
21+
import org.checkerframework.checker.nullness.qual.Nullable;
2222

2323
import java.util.Arrays;
2424
import java.util.Iterator;
@@ -27,11 +27,7 @@ final class NodePathImpl implements NodePath {
2727

2828
static final NodePath EMPTY = new NodePathImpl(new Object[0], false);
2929

30-
@LazyInit Object[] arr;
31-
32-
NodePathImpl() {
33-
34-
}
30+
private final Object[] arr;
3531

3632
NodePathImpl(final Object[] arr, final boolean copy) {
3733
requireNonNull(arr);
@@ -88,16 +84,16 @@ public NodePath copy() {
8884
}
8985

9086
@Override
91-
public boolean equals(final Object o) {
92-
if (this == o) {
87+
public boolean equals(final @Nullable Object other) {
88+
if (this == other) {
9389
return true;
9490
}
9591

96-
if (o == null || getClass() != o.getClass()) {
92+
if (other == null || getClass() != other.getClass()) {
9793
return false;
9894
}
9995

100-
final NodePathImpl that = (NodePathImpl) o;
96+
final NodePathImpl that = (NodePathImpl) other;
10197
return Arrays.equals(this.arr, that.arr);
10298
}
10399

core/src/main/java/org/spongepowered/configurate/reference/ConfigurationReference.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@
2020
import org.checkerframework.checker.nullness.qual.Nullable;
2121
import org.spongepowered.configurate.ConfigurateException;
2222
import org.spongepowered.configurate.ConfigurationNode;
23+
import org.spongepowered.configurate.NodePath;
2324
import org.spongepowered.configurate.ScopedConfigurationNode;
2425
import org.spongepowered.configurate.loader.ConfigurationLoader;
2526
import org.spongepowered.configurate.reactive.Publisher;
2627
import org.spongepowered.configurate.reactive.TransactionalSubscriber;
2728
import org.spongepowered.configurate.serialize.SerializationException;
28-
import org.spongepowered.configurate.transformation.NodePath;
2929

3030
import java.nio.file.Path;
3131
import java.util.Map;

core/src/main/java/org/spongepowered/configurate/reference/ManualConfigurationReference.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@
2323
import org.checkerframework.checker.nullness.qual.Nullable;
2424
import org.spongepowered.configurate.ConfigurateException;
2525
import org.spongepowered.configurate.ConfigurationNode;
26+
import org.spongepowered.configurate.NodePath;
2627
import org.spongepowered.configurate.ScopedConfigurationNode;
2728
import org.spongepowered.configurate.loader.ConfigurationLoader;
2829
import org.spongepowered.configurate.reactive.Processor;
2930
import org.spongepowered.configurate.reactive.Publisher;
3031
import org.spongepowered.configurate.serialize.SerializationException;
31-
import org.spongepowered.configurate.transformation.NodePath;
3232

3333
import java.util.Map;
3434
import java.util.concurrent.Executor;

core/src/main/java/org/spongepowered/configurate/reference/ValueReferenceImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import io.leangen.geantyref.TypeToken;
2020
import org.checkerframework.checker.nullness.qual.Nullable;
2121
import org.spongepowered.configurate.ConfigurateException;
22+
import org.spongepowered.configurate.NodePath;
2223
import org.spongepowered.configurate.ScopedConfigurationNode;
2324
import org.spongepowered.configurate.reactive.Disposable;
2425
import org.spongepowered.configurate.reactive.Publisher;
@@ -27,7 +28,6 @@
2728
import org.spongepowered.configurate.reference.ConfigurationReference.ErrorPhase;
2829
import org.spongepowered.configurate.serialize.SerializationException;
2930
import org.spongepowered.configurate.serialize.TypeSerializer;
30-
import org.spongepowered.configurate.transformation.NodePath;
3131
import org.spongepowered.configurate.util.UnmodifiableCollections;
3232

3333
import java.util.concurrent.Executor;

core/src/main/java/org/spongepowered/configurate/serialize/SerializationException.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import org.checkerframework.checker.nullness.qual.Nullable;
2020
import org.spongepowered.configurate.ConfigurateException;
2121
import org.spongepowered.configurate.ConfigurationNode;
22-
import org.spongepowered.configurate.transformation.NodePath;
22+
import org.spongepowered.configurate.NodePath;
2323

2424
import java.lang.reflect.Type;
2525

core/src/main/java/org/spongepowered/configurate/transformation/ConfigurationTransformation.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import org.checkerframework.checker.nullness.qual.NonNull;
2222
import org.spongepowered.configurate.ConfigurateException;
2323
import org.spongepowered.configurate.ConfigurationNode;
24+
import org.spongepowered.configurate.NodePath;
2425

2526
import java.util.NavigableMap;
2627
import java.util.TreeMap;

0 commit comments

Comments
 (0)