Index

A C D E G I L M N P R S T V W 
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 specified Comparator.
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, specifically CountryEntry instances.
getEntriesFromRecords(Iterable<CSVRecord>) - Method in class de.bcxp.challenge.weather.WeatherCsvParser
Converts a collection of CSV records into a list of DocumentEntry objects, specifically WeatherEntry 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
Parses a numeric string into a Number instance using the specified Locale.
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 containing DocumentEntry 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 of CSVRecord 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 of DocumentEntry 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 not null.
validateNumericTupleDocumentEntries(List<DocumentEntry>, Logger) - Static method in class de.bcxp.challenge.common.utility.ParameterValidationUtility
Checks if the list of DocumentEntry entries from a Document all implement the IEntryWithComparableNumericTuple 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.
A C D E G I L M N P R S T V W 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form