1919 */
2020package org .neo4j .gds .procedures .algorithms .community ;
2121
22- import org .neo4j .gds .api .ProcedureReturnColumns ;
2322import org .neo4j .gds .applications .algorithms .machinery .AlgorithmProcessingTimings ;
24- import org .neo4j .gds .core .concurrency .Concurrency ;
2523
2624import java .util .Collections ;
2725import java .util .Map ;
2826
29- public class ModularityOptimizationWriteResult {
30- public final long preProcessingMillis ;
31- public final long computeMillis ;
32- public final long writeMillis ;
33- public final long postProcessingMillis ;
34- public final long nodes ;
35- public boolean didConverge ;
36- public long ranIterations ;
37- public double modularity ;
38- public final long communityCount ;
39- public final Map <String , Object > communityDistribution ;
40- public final Map <String , Object > configuration ;
41-
42- public ModularityOptimizationWriteResult (
43- long preProcessingMillis ,
44- long computeMillis ,
45- long postProcessingMillis ,
46- long writeMillis ,
47- long nodes ,
48- boolean didConverge ,
49- long ranIterations ,
50- double modularity ,
51- long communityCount ,
52- Map <String , Object > communityDistribution ,
53- Map <String , Object > configuration
54- ) {
55- this .preProcessingMillis = preProcessingMillis ;
56- this .computeMillis = computeMillis ;
57- this .writeMillis = writeMillis ;
58- this .postProcessingMillis = postProcessingMillis ;
59- this .nodes = nodes ;
60- this .didConverge = didConverge ;
61- this .ranIterations = ranIterations ;
62- this .modularity = modularity ;
63- this .communityCount = communityCount ;
64- this .communityDistribution = communityDistribution ;
65- this .configuration = configuration ;
66- }
27+ public record ModularityOptimizationWriteResult (
28+ long preProcessingMillis ,
29+ long computeMillis ,
30+ long postProcessingMillis ,
31+ long writeMillis ,
32+ long nodes ,
33+ boolean didConverge ,
34+ long ranIterations ,
35+ double modularity ,
36+ long communityCount ,
37+ Map <String , Object > communityDistribution ,
38+ Map <String , Object > configuration
39+ ) {
6740
6841 static ModularityOptimizationWriteResult emptyFrom (
6942 AlgorithmProcessingTimings timings ,
@@ -83,30 +56,4 @@ static ModularityOptimizationWriteResult emptyFrom(
8356 configurationMap
8457 );
8558 }
86-
87- public static class Builder extends ModularityOptimizationResultBuilder <ModularityOptimizationWriteResult > {
88- public Builder (
89- ProcedureReturnColumns returnColumns ,
90- Concurrency concurrency
91- ) {
92- super (returnColumns , concurrency );
93- }
94-
95- @ Override
96- protected ModularityOptimizationWriteResult buildResult () {
97- return new ModularityOptimizationWriteResult (
98- preProcessingMillis ,
99- computeMillis ,
100- postProcessingDuration ,
101- writeMillis ,
102- nodeCount ,
103- didConverge ,
104- ranIterations ,
105- modularity ,
106- maybeCommunityCount .orElse (0 ),
107- communityHistogramOrNull (),
108- config .toMap ()
109- );
110- }
111- }
11259}
0 commit comments