Package no.nav.arxaas.hierarchy.interval
Class IntervalBasedHierarchyBuilder
- java.lang.Object
-
- no.nav.arxaas.hierarchy.interval.IntervalBasedHierarchyBuilder
-
- All Implemented Interfaces:
HierarchyBuilder
public class IntervalBasedHierarchyBuilder extends Object implements HierarchyBuilder
Hierarchy Builder for interval hierarchies. Builds new hierarchies with the intervals and levels provided in the constructor
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classIntervalBasedHierarchyBuilder.BuilderDataType
-
Field Summary
Fields Modifier and Type Field Description private @NotNull IntervalBasedHierarchyBuilder.BuilderDataTypedataTypeprivate @NotNull @Valid List<Interval>intervalsprivate @NotNull @Valid List<Level>levelsprivate RangelowerRangeprivate RangeupperRange
-
Constructor Summary
Constructors Constructor Description IntervalBasedHierarchyBuilder(List<Interval> intervals, List<Level> levels, Range lowerRange, Range upperRange, IntervalBasedHierarchyBuilder.BuilderDataType dataType)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidapplyIntervals(org.deidentifier.arx.aggregates.HierarchyBuilderIntervalBased<Long> builder)private voidapplyIntervalsDouble(org.deidentifier.arx.aggregates.HierarchyBuilderIntervalBased<Double> builder)private voidapplyLevels(org.deidentifier.arx.aggregates.HierarchyBuilderIntervalBased builder)private org.deidentifier.arx.aggregates.HierarchyBuilderIntervalBased<Double>arxDoubleTypeHierarchyBuilderIntervalBased()Create HierarchyBuilderIntervalBased of type Doubleprivate org.deidentifier.arx.aggregates.HierarchyBuilderIntervalBased<Long>arxLongTypeHierarchyBuilderIntervalBased()Create HierarchyBuilderIntervalBased of type LongHierarchybuild(String[] column)Builds a Hierarchy for the provided columnIntervalBasedHierarchyBuilder.BuilderDataTypegetDataType()List<Interval>getIntervals()List<Level>getLevels()RangegetLowerRange()RangegetUpperRange()private HierarchyhierarchyFromdoubleTypeBuilder(String[] column)Create a HierarchyBuilderIntervalBased of type Double and add the intervals and levels to itprivate HierarchyhierarchyFromlongTypeBuilder(String[] column)StringtoString()
-
-
-
Field Detail
-
lowerRange
private Range lowerRange
-
upperRange
private Range upperRange
-
dataType
@NotNull private final @NotNull IntervalBasedHierarchyBuilder.BuilderDataType dataType
-
-
Method Detail
-
build
public Hierarchy build(String[] column)
Builds a Hierarchy for the provided column- Specified by:
buildin interfaceHierarchyBuilder- Parameters:
column- String[]- Returns:
- Hierarchy containing a String[][] hierarchy
-
hierarchyFromdoubleTypeBuilder
private Hierarchy hierarchyFromdoubleTypeBuilder(String[] column)
Create a HierarchyBuilderIntervalBased of type Double and add the intervals and levels to it- Parameters:
column- String[] conainting- Returns:
- HierarchyBuilderIntervalBased
-
arxLongTypeHierarchyBuilderIntervalBased
private org.deidentifier.arx.aggregates.HierarchyBuilderIntervalBased<Long> arxLongTypeHierarchyBuilderIntervalBased()
Create HierarchyBuilderIntervalBased of type Long- Returns:
- HierarchyBuilderIntervalBased
-
arxDoubleTypeHierarchyBuilderIntervalBased
private org.deidentifier.arx.aggregates.HierarchyBuilderIntervalBased<Double> arxDoubleTypeHierarchyBuilderIntervalBased()
Create HierarchyBuilderIntervalBased of type Double- Returns:
- HierarchyBuilderIntervalBased
-
applyIntervals
private void applyIntervals(org.deidentifier.arx.aggregates.HierarchyBuilderIntervalBased<Long> builder)
-
applyIntervalsDouble
private void applyIntervalsDouble(org.deidentifier.arx.aggregates.HierarchyBuilderIntervalBased<Double> builder)
-
applyLevels
private void applyLevels(org.deidentifier.arx.aggregates.HierarchyBuilderIntervalBased builder)
-
getLowerRange
public Range getLowerRange()
-
getUpperRange
public Range getUpperRange()
-
getDataType
public IntervalBasedHierarchyBuilder.BuilderDataType getDataType()
-
-