Skip to content

Commit

Permalink
Annotate Functional Interface
Browse files Browse the repository at this point in the history
  • Loading branch information
QubitPi authored Mar 14, 2018
1 parent 03f5066 commit 289994a
Show file tree
Hide file tree
Showing 26 changed files with 34 additions and 6 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ Current

### Added:

- [Annotate Functional Interface](https://github.com/yahoo/fili/pull/606)
* Add `@FunctionalInterface` annotation to all functional interfaces.

- [Implement LookupLoadTask](https://github.com/yahoo/fili/pull/620)
* Add capability for Fili to check load statuses of Druid lookups.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
* Interface for building JobRows (i.e. metadata about an asynchronous job) from Bard requests. Provides an injection
* point that allows customers to build custom job metadata.
*/
@FunctionalInterface
public interface JobRowBuilder {

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
* A SAM that sets up the workflow for shipping query results back to the user, and saving query results for later
* querying if necessary.
*/
@FunctionalInterface
public interface AsynchronousWorkflowsBuilder {

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
/**
* Defines the core interactions for loading dimensions into a dimension dictionary.
*/
@FunctionalInterface
public interface DimensionLoader {

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,13 @@
/**
* Defines the logical name of a Dimension as used in the api query.
*/
@FunctionalInterface
public interface DimensionName {

/**
* The logical name of this dimension as used in the api query.
*
* @return Dimension Name
*/
String asName();
/**
* The logical name of this dimension as used in the api query.
*
* @return Dimension Name
*/
String asName();
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
/**
* Marker interface for enums that can be treated as a metric or dimension field name for Druid Query fields.
*/
@FunctionalInterface
public interface FieldName {

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
* Defines the core interactions to load logical tables, physical tables, and table groups into the resource
* dictionaries.
*/
@FunctionalInterface
public interface TableLoader {

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
/**
* Builds druid query model objects from ApiFilters.
*/
@FunctionalInterface
public interface DruidFilterBuilder {

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
* @deprecated with-like functionality no longer needed because delayed construction is being used instead
*/
@Deprecated
@FunctionalInterface
public interface ColumnMapper {

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
* use case for this is data which is being ingested via real time ingestion, and thus which will be replaced later by
* new historical segments.
*/
@FunctionalInterface
public interface VolatileIntervalsFunction {

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
/**
* Callback from the async HTTP client on success.
*/
@FunctionalInterface
public interface SuccessCallback {
/**
* Invoke the success callback code.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
/**
* A marker interface for things which have a druid name.
*/
@FunctionalInterface
public interface HasDruidName {
/**
* Get the Druid name.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
/**
* Types of queries supported by this application.
*/
@FunctionalInterface
public interface QueryType {

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
/**
* An interface for post aggregation types.
*/
@FunctionalInterface
public interface PostAggregationType {

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
/**
* Interface for log formatter that are meant to facilitate log exploration and data extraction.
*/
@FunctionalInterface
public interface LogFormatter {

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
*
* @param <T> the type that corresponds to the id of the set of segments referenced by a druid query.
*/
@FunctionalInterface
public interface QuerySigningService<T> {

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
/**
* A predicate to determine whether a table aligns with a criteria.
*/
@FunctionalInterface
public interface IsTableAligned extends Predicate<PhysicalTable> {

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
* Physical table resolver selects the best physical table that satisfied a query (if any) from a supply of candidate
* physical tables.
*/
@FunctionalInterface
public interface PhysicalTableResolver {

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
/**
* Interface implemented by macros to get the dateTime based on granularity.
*/
@FunctionalInterface
public interface MacroCalculationStrategies {

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
/**
* An object containing the logic to keep track of and limit the amount of requests being made to the webservice.
*/
@FunctionalInterface
public interface RateLimiter {

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
* takes the format name string from URI and a ContainerRequestContext object from which the header Accept field is
* accessible.
*/
@FunctionalInterface
public interface ResponseFormatResolver extends BiFunction<String, ContainerRequestContext, String> {
/**
* Resolve desirable format from URI and ContainerRequestContext.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
/**
* An interface for classes that transform response data to a format representation (e.g. JSON, CSV and others).
*/
@FunctionalInterface
public interface ResponseStream {
/**
* Gets a resource method that can be used to stream this response as an entity.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
* The interface for objects that write fully-processed ResultSets back to the user. This allows customers to fully
* customize how they choose to serialize the results from Fili based on the request.
*/
@FunctionalInterface
public interface ResponseWriter {
/**
* Serializes the ResultSet (pulled from the ResponseData) and any desired metadata and adds it to the specified
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
* sole purpose is to take a `DataApiRequest` and return the `ResponseWriter` that should be used
* to write the response.
*/
@FunctionalInterface
public interface ResponseWriterSelector {
/**
* Select ResponseWriter given certain type of format from DataApiRequest.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
/**
* Request workflow provider builds a request processing chain for handing druid data requests.
*/
@FunctionalInterface
public interface RequestWorkflowProvider {

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
/**
* Interface for tags used for tagging dimension fields to add additional properties implicitly specified by its name.
*/
@FunctionalInterface
public interface Tag {

/**
Expand Down

0 comments on commit 289994a

Please sign in to comment.