Skip to content

Commit 5579731

Browse files
committed
updated API of property/tree node factories.
1 parent 6a854a5 commit 5579731

File tree

7 files changed

+38
-28
lines changed

7 files changed

+38
-28
lines changed

src/main/java/com/ss/editor/ui/control/property/builder/PropertyBuilder.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
*
1414
* @author JavaSaBr
1515
*/
16-
public interface PropertyBuilder {
16+
public interface PropertyBuilder extends Comparable<PropertyBuilder> {
1717

1818
/**
1919
* Build properties controls for the object to the container.
@@ -35,4 +35,9 @@ void buildFor(@NotNull Object object, @Nullable Object parent, @NotNull VBox con
3535
default int getPriority() {
3636
return 0;
3737
}
38+
39+
@Override
40+
default int compareTo(@NotNull final PropertyBuilder o) {
41+
return o.getPriority() - getPriority();
42+
}
3843
}

src/main/java/com/ss/editor/ui/control/property/builder/PropertyBuilderRegistry.java

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -40,23 +40,22 @@ public class PropertyBuilderRegistry {
4040
private PropertyBuilderRegistry() {
4141
builders = ArrayFactory.newArray(PropertyBuilder.class);
4242
filters = ArrayFactory.newArray(PropertyBuilderFilter.class);
43-
builders.add(AudioNodePropertyBuilder.getInstance());
44-
builders.add(ParticleEmitterPropertyBuilder.getInstance());
45-
builders.add(GeometryPropertyBuilder.getInstance());
46-
builders.add(LightPropertyBuilder.getInstance());
47-
builders.add(SpatialPropertyBuilder.getInstance());
48-
builders.add(SceneAppStatePropertyBuilder.getInstance());
49-
builders.add(SceneFilterPropertyBuilder.getInstance());
50-
builders.add(DefaultControlPropertyBuilder.getInstance());
51-
builders.add(EditableControlPropertyBuilder.getInstance());
52-
builders.add(CollisionShapePropertyBuilder.getInstance());
53-
builders.add(PrimitivePropertyBuilder.getInstance());
54-
builders.add(MeshPropertyBuilder.getInstance());
55-
builders.add(MaterialPropertyBuilder.getInstance());
56-
builders.add(ParticleInfluencerPropertyBuilder.getInstance());
57-
builders.add(EmitterShapePropertyBuilder.getInstance());
58-
builders.add(MaterialSettingsPropertyBuilder.getInstance());
59-
builders.sort((first, second) -> second.getPriority() - first.getPriority());
43+
register(AudioNodePropertyBuilder.getInstance());
44+
register(ParticleEmitterPropertyBuilder.getInstance());
45+
register(GeometryPropertyBuilder.getInstance());
46+
register(LightPropertyBuilder.getInstance());
47+
register(SpatialPropertyBuilder.getInstance());
48+
register(SceneAppStatePropertyBuilder.getInstance());
49+
register(SceneFilterPropertyBuilder.getInstance());
50+
register(DefaultControlPropertyBuilder.getInstance());
51+
register(EditableControlPropertyBuilder.getInstance());
52+
register(CollisionShapePropertyBuilder.getInstance());
53+
register(PrimitivePropertyBuilder.getInstance());
54+
register(MeshPropertyBuilder.getInstance());
55+
register(MaterialPropertyBuilder.getInstance());
56+
register(ParticleInfluencerPropertyBuilder.getInstance());
57+
register(EmitterShapePropertyBuilder.getInstance());
58+
register(MaterialSettingsPropertyBuilder.getInstance());
6059
}
6160

6261
/**
@@ -67,7 +66,7 @@ private PropertyBuilderRegistry() {
6766
@FromAnyThread
6867
public void register(@NotNull final PropertyBuilder builder) {
6968
builders.add(builder);
70-
builders.sort((first, second) -> second.getPriority() - first.getPriority());
69+
builders.sort(PropertyBuilder::compareTo);
7170
}
7271

7372
/**

src/main/java/com/ss/editor/ui/control/tree/node/factory/TreeNodeFactory.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,12 @@ public interface TreeNodeFactory extends Comparable<TreeNodeFactory> {
3030
* @return the order.
3131
*/
3232
@FxThread
33-
default int getOrder() {
33+
default int getPriority() {
3434
return 0;
3535
}
3636

3737
@Override
3838
default int compareTo(@NotNull final TreeNodeFactory another) {
39-
return getOrder() - another.getOrder();
39+
return another.getPriority() - getPriority();
4040
}
4141
}

src/main/java/com/ss/editor/ui/control/tree/node/factory/TreeNodeFactoryRegistry.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ private TreeNodeFactoryRegistry() {
5959
@FxThread
6060
public void register(@NotNull final TreeNodeFactory factory) {
6161
this.factories.add(factory);
62-
this.factories.sort((first, second) -> second.getOrder() - first.getOrder());
62+
this.factories.sort(TreeNodeFactory::compareTo);
6363
}
6464

6565
/**

src/main/java/com/ss/editor/ui/control/tree/node/factory/impl/AnimationTreeNodeFactory.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
*/
1616
public class AnimationTreeNodeFactory implements TreeNodeFactory {
1717

18+
public static final int PRIORITY = 1;
19+
1820
@Override
1921
@FxThread
2022
public <T, V extends TreeNode<T>> @Nullable V createFor(@Nullable final T element, final long objectId) {
@@ -38,7 +40,7 @@ public class AnimationTreeNodeFactory implements TreeNodeFactory {
3840

3941
@Override
4042
@FxThread
41-
public int getOrder() {
42-
return 1;
43+
public int getPriority() {
44+
return PRIORITY;
4345
}
4446
}

src/main/java/com/ss/editor/ui/control/tree/node/factory/impl/DefaultParticlesTreeNodeFactory.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
*/
2626
public class DefaultParticlesTreeNodeFactory implements TreeNodeFactory {
2727

28+
public static final int PRIORITY = 1;
29+
2830
@Override
2931
@FxThread
3032
public <T, V extends TreeNode<T>> @Nullable V createFor(@Nullable final T element, final long objectId) {
@@ -67,7 +69,7 @@ public class DefaultParticlesTreeNodeFactory implements TreeNodeFactory {
6769

6870
@Override
6971
@FxThread
70-
public int getOrder() {
71-
return 1;
72+
public int getPriority() {
73+
return PRIORITY;
7274
}
7375
}

src/main/java/com/ss/editor/ui/control/tree/node/factory/impl/PrimitiveTreeNodeFactory.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424
*/
2525
public class PrimitiveTreeNodeFactory implements TreeNodeFactory {
2626

27+
public static final int PRIORITY = 1;
28+
2729
@Override
2830
@FxThread
2931
public <T, V extends TreeNode<T>> @Nullable V createFor(@Nullable final T element, final long objectId) {
@@ -45,7 +47,7 @@ public class PrimitiveTreeNodeFactory implements TreeNodeFactory {
4547

4648
@Override
4749
@FxThread
48-
public int getOrder() {
49-
return 1;
50+
public int getPriority() {
51+
return PRIORITY;
5052
}
5153
}

0 commit comments

Comments
 (0)