Index
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
A
- App - Class in de.bcxp.challenge
-
The entry class for your solution.
- App() - Constructor for class de.bcxp.challenge.App
- area - Variable in class de.bcxp.challenge.countries.CountryEntry
- AREA - Static variable in class de.bcxp.challenge.countries.CountryCsvParser
C
- COLLECTION_EXCEPTION - Static variable in class de.bcxp.challenge.common.utility.ParameterValidationUtility
- COLLECTION_LOG - Static variable in class de.bcxp.challenge.common.utility.ParameterValidationUtility
- comparator - Variable in enum de.bcxp.challenge.common.model.csv.NumericComparisonType
-
Comparator to be used with max() function applied to a double stream.
- COUNTRIES_CSV_PATH - Static variable in class de.bcxp.challenge.App
- CountryAnalyser - Class in de.bcxp.challenge.countries
-
Analyzes a document of
CountryEntry
objects to extract the country with the highest population density. - CountryAnalyser() - Constructor for class de.bcxp.challenge.countries.CountryAnalyser
-
Instantiates stateless analyser.
- CountryCsvParser - Class in de.bcxp.challenge.countries
-
A CSV parser specialized for parsing country data entries.
- CountryCsvParser(char, Locale) - Constructor for class de.bcxp.challenge.countries.CountryCsvParser
-
Constructs a
CountryCsvParser
with the specified CSV delimiter and Locale. - CountryEntry - Class in de.bcxp.challenge.countries
-
Represents a data entry for a specific country.
- CountryEntry(String, long, double) - Constructor for class de.bcxp.challenge.countries.CountryEntry
-
Constructs a
CountryEntry
object. - CsvAnalysisUtility - Class in de.bcxp.challenge.common.analysis.csv
-
Utility class providing common analytical operations for
Document
objects. - CsvAnalysisUtility() - Constructor for class de.bcxp.challenge.common.analysis.csv.CsvAnalysisUtility
-
Private constructor to prevent instantiation of this utility class.
- CsvParser - Class in de.bcxp.challenge.common.documentParsing.csv
-
An abstract base class for parsing CSV documents, implementing the
IDocumentParser
interface. - CsvParser(char, Locale) - Constructor for class de.bcxp.challenge.common.documentParsing.csv.CsvParser
-
Constructs a
CsvParser
with the specified delimiter character.
D
- de.bcxp.challenge - package de.bcxp.challenge
-
The root package for the data challenge containing the entry point
App
and containing the resource files. - de.bcxp.challenge.common - package de.bcxp.challenge.common
-
Common utilities, abstractions, and shared components for the application.
- de.bcxp.challenge.common.analysis - package de.bcxp.challenge.common.analysis
-
Provides interfaces and utilities for analyzing documents.
- de.bcxp.challenge.common.analysis.csv - package de.bcxp.challenge.common.analysis.csv
-
CSV-specific analysis utilities.
- de.bcxp.challenge.common.documentParsing - package de.bcxp.challenge.common.documentParsing
-
Provides interfaces and implementations for parsing different types of documents.
- de.bcxp.challenge.common.documentParsing.csv - package de.bcxp.challenge.common.documentParsing.csv
-
CSV-specific document parsing functionality.
- de.bcxp.challenge.common.exceptions - package de.bcxp.challenge.common.exceptions
-
Custom exception types used across the application.
- de.bcxp.challenge.common.model - package de.bcxp.challenge.common.model
-
Data models representing documents, entries, and domain objects.
- de.bcxp.challenge.common.model.csv - package de.bcxp.challenge.common.model.csv
-
CSV-specific model interfaces.
- de.bcxp.challenge.common.utility - package de.bcxp.challenge.common.utility
-
Utility classes for common operations.
- de.bcxp.challenge.countries - package de.bcxp.challenge.countries
-
Provides functionality to parse and analyze country-related data.
- de.bcxp.challenge.weather - package de.bcxp.challenge.weather
-
Provides functionality to parse and analyze weather-related data.
- delimiter - Variable in class de.bcxp.challenge.common.documentParsing.csv.CsvParser
- Document - Class in de.bcxp.challenge.common.model
-
Represents an abstract document containing a list of
DocumentEntry
objects. - Document(List<DocumentEntry>) - Constructor for class de.bcxp.challenge.common.model.Document
-
Constructs a new
Document
. - DOCUMENT_EXCEPTION - Static variable in class de.bcxp.challenge.common.utility.ParameterValidationUtility
- DOCUMENT_LOG - Static variable in class de.bcxp.challenge.common.utility.ParameterValidationUtility
- DocumentCreationException - Exception in de.bcxp.challenge.common.exceptions
-
Custom exception that should be thrown if
Document
creation fails. - DocumentCreationException(String) - Constructor for exception de.bcxp.challenge.common.exceptions.DocumentCreationException
-
Creates custom exception that should be thrown if
Document
creation fails. - DocumentEntry - Class in de.bcxp.challenge.common.model
-
Represents an abstract entry within a
Document
. - DocumentEntry(String) - Constructor for class de.bcxp.challenge.common.model.DocumentEntry
-
Constructs a new DocumentEntry with the specified ID.
E
- entries - Variable in class de.bcxp.challenge.common.model.Document
-
A list of
DocumentEntry
objects present in the represented document.
G
- getAllDocumentEntriesWithBestScore(Set<IEntryWithComparableNumericTuple>, double) - Static method in class de.bcxp.challenge.common.analysis.csv.CsvAnalysisUtility
-
Retrieves all entries from the given set that have the determined score.
- getArea() - Method in class de.bcxp.challenge.countries.CountryEntry
- getBestMatches(Document) - Method in interface de.bcxp.challenge.common.analysis.IDocumentAnalyser
-
Analyzes the provided
Document
and returns the single best matching entry. - getBestMatches(Document) - Method in class de.bcxp.challenge.countries.CountryAnalyser
-
Finds the country with the highest population density from the provided document.
- getBestMatches(Document) - Method in class de.bcxp.challenge.weather.WeatherAnalyser
-
Finds the day with the smallest temperature spread from the provided weather document.
- getBestMatchesForNumericColumnComparison(Document, NumericComparisonType) - Static method in class de.bcxp.challenge.common.analysis.csv.CsvAnalysisUtility
-
Finds all entries in the given
Document
that share the "best" numeric score, according to the specifiedComparator
. - getBestMatchFromDocument(String, IDocumentParser, IDocumentAnalyser) - Static method in class de.bcxp.challenge.App
-
Loads a document from the given file path using the provided parser, analyzes its entries to find the best match using the provided analyser, and returns the result.
- getBestMatchScore() - Method in interface de.bcxp.challenge.common.model.csv.IEntryWithComparableNumericTuple
-
Returns the numeric score representing this entry's "best match" value.
- getBestMatchScore() - Method in class de.bcxp.challenge.countries.CountryEntry
-
Calculates and returns the population density for this country instance.
- getBestMatchScore() - Method in class de.bcxp.challenge.weather.WeatherEntry
-
Retrieves the numeric difference between this day's maximum and minimum temperature.
- getCountry() - Method in class de.bcxp.challenge.countries.CountryEntry
- getDay() - Method in class de.bcxp.challenge.weather.WeatherEntry
- getDelimiter() - Method in class de.bcxp.challenge.common.documentParsing.csv.CsvParser
- getDoubleFromString(String, Locale) - Static method in class de.bcxp.challenge.common.utility.StringParsingUtility
-
Parses double from the given
String
. - getEntries() - Method in class de.bcxp.challenge.common.model.Document
- getEntriesFromRecords(Iterable<CSVRecord>) - Method in class de.bcxp.challenge.common.documentParsing.csv.CsvParser
-
Converts CSV records into a list of
DocumentEntry
objects. - getEntriesFromRecords(Iterable<CSVRecord>) - Method in class de.bcxp.challenge.countries.CountryCsvParser
-
Converts a collection of CSV records into a list of
DocumentEntry
objects, specificallyCountryEntry
instances. - getEntriesFromRecords(Iterable<CSVRecord>) - Method in class de.bcxp.challenge.weather.WeatherCsvParser
-
Converts a collection of CSV records into a list of
DocumentEntry
objects, specificallyWeatherEntry
instances. - getEntriesWithComparableNumericTuples(Document) - Static method in class de.bcxp.challenge.common.analysis.csv.CsvAnalysisUtility
- getId() - Method in class de.bcxp.challenge.common.model.DocumentEntry
- getLocale() - Method in class de.bcxp.challenge.common.documentParsing.csv.CsvParser
- getLongFromString(String, Locale) - Static method in class de.bcxp.challenge.common.utility.StringParsingUtility
-
Parses int from the given
String
. - getMaxTemp() - Method in class de.bcxp.challenge.weather.WeatherEntry
- getMinTemp() - Method in class de.bcxp.challenge.weather.WeatherEntry
- getParsedNumber(String, Locale, NumberFormat) - Static method in class de.bcxp.challenge.common.utility.StringParsingUtility
- getPopulation() - Method in class de.bcxp.challenge.countries.CountryEntry
I
- id - Variable in class de.bcxp.challenge.common.model.DocumentEntry
- IDocumentAnalyser - Interface in de.bcxp.challenge.common.analysis
-
Functional interface that defines a contract for analyzing a
Document
containingDocumentEntry
objects to determine the best matching entry based on a specific criterion. - IDocumentParser - Interface in de.bcxp.challenge.common.documentParsing
-
Interface for parsing a document from a given file path.
- IEntryWithComparableNumericTuple - Interface in de.bcxp.challenge.common.model.csv
-
Functional interface providing a contract for an entry that can produce a numeric score for comparison purposes.
L
- locale - Variable in class de.bcxp.challenge.common.documentParsing.csv.CsvParser
- localeExceptionMsg - Static variable in class de.bcxp.challenge.common.utility.StringParsingUtility
- localeLogMsg - Static variable in class de.bcxp.challenge.common.utility.StringParsingUtility
- logger - Static variable in class de.bcxp.challenge.App
- logger - Static variable in class de.bcxp.challenge.common.analysis.csv.CsvAnalysisUtility
- logger - Static variable in class de.bcxp.challenge.common.documentParsing.csv.CsvParser
- logger - Static variable in class de.bcxp.challenge.common.model.Document
- logger - Static variable in class de.bcxp.challenge.common.model.DocumentEntry
- logger - Static variable in class de.bcxp.challenge.common.utility.StringParsingUtility
- logger - Static variable in class de.bcxp.challenge.countries.CountryAnalyser
- logger - Static variable in class de.bcxp.challenge.countries.CountryCsvParser
- logger - Static variable in class de.bcxp.challenge.countries.CountryEntry
- logger - Static variable in class de.bcxp.challenge.weather.WeatherAnalyser
- logger - Static variable in class de.bcxp.challenge.weather.WeatherCsvParser
- logger - Static variable in class de.bcxp.challenge.weather.WeatherEntry
M
- main(String...) - Static method in class de.bcxp.challenge.App
-
This is the main entry method of your program.
- MAX - Enum constant in enum de.bcxp.challenge.common.model.csv.NumericComparisonType
-
Selects the biggest numeric value as the best score.
- MAX_TEMP - Static variable in class de.bcxp.challenge.weather.WeatherCsvParser
- maxTemp - Variable in class de.bcxp.challenge.weather.WeatherEntry
- MIN - Enum constant in enum de.bcxp.challenge.common.model.csv.NumericComparisonType
-
Selects the smallest numeric value as the best score.
- MIN_TEMP - Static variable in class de.bcxp.challenge.weather.WeatherCsvParser
- minTemp - Variable in class de.bcxp.challenge.weather.WeatherEntry
N
- NAME - Static variable in class de.bcxp.challenge.countries.CountryCsvParser
- NAME - Static variable in class de.bcxp.challenge.weather.WeatherCsvParser
- nullCheck(Object, Logger, String, String) - Static method in class de.bcxp.challenge.common.utility.ParameterValidationUtility
-
Validates that the provided object reference is not
null
. - NumericComparisonType - Enum in de.bcxp.challenge.common.model.csv
-
Enumeration defining strategies for comparing numeric values when determining the "best" score in analytical operations.
- NumericComparisonType(Comparator<Double>) - Constructor for enum de.bcxp.challenge.common.model.csv.NumericComparisonType
P
- ParameterValidationUtility - Class in de.bcxp.challenge.common.utility
-
Utility class providing methods to check method parameters for validity.
- ParameterValidationUtility() - Constructor for class de.bcxp.challenge.common.utility.ParameterValidationUtility
-
This is a utility class which provides only static methods, therefore it shouldn't be instantiated.
- parseDocument(String) - Method in class de.bcxp.challenge.common.documentParsing.csv.CsvParser
-
Reads a CSV file and converts its records into a
Document
by delegating the record-to-entry conversion to getEntriesFromRecords(Iterable). - parseDocument(String) - Method in interface de.bcxp.challenge.common.documentParsing.IDocumentParser
-
Parses a document from the specified file path.
- population - Variable in class de.bcxp.challenge.countries.CountryEntry
- POPULATION - Static variable in class de.bcxp.challenge.countries.CountryCsvParser
R
- readFileWithHeader(String) - Method in class de.bcxp.challenge.common.documentParsing.csv.CsvParser
-
Reads a CSV file from the application's classpath and parses its content into an
Iterable
ofCSVRecord
objects.
S
- STRING_EXCEPTION - Static variable in class de.bcxp.challenge.common.utility.ParameterValidationUtility
- STRING_LOG - Static variable in class de.bcxp.challenge.common.utility.ParameterValidationUtility
- StringParsingUtility - Class in de.bcxp.challenge.common.utility
-
Utility class providing methods for parsing Strings.
- StringParsingUtility() - Constructor for class de.bcxp.challenge.common.utility.StringParsingUtility
-
This is a utility class which provides only static methods, therefore it shouldn't be instantiated.
T
- toString() - Method in class de.bcxp.challenge.common.model.Document
- toString() - Method in class de.bcxp.challenge.countries.CountryEntry
- toString() - Method in class de.bcxp.challenge.weather.WeatherEntry
V
- validateCandidateString(String) - Static method in class de.bcxp.challenge.common.utility.StringParsingUtility
-
Validates that the provided string is non-null, not empty, and doesn't contain illegal characters that don't conform to number formatting.
- validateDocument(Document, Logger, String, String) - Static method in class de.bcxp.challenge.common.utility.ParameterValidationUtility
-
Validates that the provided document and it's entries are non-null.
- validateEntries(Collection<? extends DocumentEntry>, boolean, Logger, String, String) - Static method in class de.bcxp.challenge.common.utility.ParameterValidationUtility
-
Validates that the provided
Collection
ofDocumentEntry
objects contents are non-null. - validateLoggerAndMessages(Logger, String, String) - Static method in class de.bcxp.challenge.common.utility.ParameterValidationUtility
-
Validates that the provided
Logger
and message strings are notnull
. - validateNumericTupleDocumentEntries(List<DocumentEntry>, Logger) - Static method in class de.bcxp.challenge.common.utility.ParameterValidationUtility
-
Checks if the list of
DocumentEntry
entries from aDocument
all implement theIEntryWithComparableNumericTuple
interface and are all of the same concrete type. - validateString(String, Logger, String, String) - Static method in class de.bcxp.challenge.common.utility.ParameterValidationUtility
-
Validates that the provided string is non-null and not empty or blank.
- valueOf(String) - Static method in enum de.bcxp.challenge.common.model.csv.NumericComparisonType
-
Returns the enum constant of this type with the specified name.
- values() - Static method in enum de.bcxp.challenge.common.model.csv.NumericComparisonType
-
Returns an array containing the constants of this enum type, in the order they are declared.
W
- WEATHER_CSV_PATH - Static variable in class de.bcxp.challenge.App
- WeatherAnalyser - Class in de.bcxp.challenge.weather
-
Analyzes a weather document to find the entry with the smallest temperature spread.
- WeatherAnalyser() - Constructor for class de.bcxp.challenge.weather.WeatherAnalyser
-
Instantiates stateless analyser.
- WeatherCsvParser - Class in de.bcxp.challenge.weather
-
A CSV parser specifically for weather data entries.
- WeatherCsvParser(char, Locale) - Constructor for class de.bcxp.challenge.weather.WeatherCsvParser
-
Constructs a
WeatherCsvParser
with the specified CSV delimiter. - WeatherEntry - Class in de.bcxp.challenge.weather
-
Represents a weather data entry for a specific day, containing the maximum and minimum temperatures.
- WeatherEntry(String, double, double) - Constructor for class de.bcxp.challenge.weather.WeatherEntry
-
Constructs a
WeatherEntry
object for a specific day with the given maximum and minimum temperatures.
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form