/** * Main constructor */ public ValueDistributionAnalyzer() { _valueDistributionGroups = new TreeMap<>(NullTolerableComparator.get(String.class)); }
@Override public String toString() { final SortedMap<String, SortedSet<TimeInterval>> gaps; if (_gaps instanceof SortedMap) { gaps = (SortedMap<String, SortedSet<TimeInterval>>) _gaps; } else { gaps = new TreeMap<>(NullTolerableComparator.get(String.class)); gaps.putAll(_gaps); } return "DateGapAnalyzerResult[gaps=" + gaps + "]"; } }
@Override public int compareTo(final SingleValueDistributionResult o) { return NullTolerableComparator.get(String.class).compare(getName(), o.getName()); }
@Override public PatternFinderResult getResult() { if (groupColumn == null) { final Crosstab<?> crosstab = createCrosstab(getPatternFinderForGroup(null)); return new PatternFinderResult(column, crosstab, _configuration); } else { final Map<String, Crosstab<?>> crosstabs = new TreeMap<>(NullTolerableComparator.get(String.class)); final Set<Entry<String, DefaultPatternFinder>> patternFinderEntries = _patternFinders.entrySet(); for (final Entry<String, DefaultPatternFinder> entry : patternFinderEntries) { final DefaultPatternFinder patternFinder = entry.getValue(); final Crosstab<Serializable> crosstab = createCrosstab(patternFinder); crosstabs.put(entry.getKey(), crosstab); } if (logger.isInfoEnabled()) { logger.info("Grouped result contains {} groups", crosstabs.size()); } return new PatternFinderResult(column, groupColumn, crosstabs, _configuration); } }
@Override public final int compareTo(final ValueFrequency o) { int diff = o.getCount() - getCount(); if (diff == 0) { final int c1 = isComposite() ? 1 : 0; final int c2 = o.isComposite() ? 1 : 0; diff = c1 - c2; if (diff == 0) { diff = NullTolerableComparator.get(String.class).compare(getName(), o.getName()); } } return diff; } }