All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.day.cq.reporting.ComponentProvider Maven / Gradle / Ivy

package com.day.cq.reporting;

/**
 * This interface provides means to provide components to a report (such as value
 * resolvers, aggregates, etc.).
 */
public interface ComponentProvider {

    /**
     * 

Acquires a {@link ValueResolver} for the specified resolver ID.

* *

The resolver instance must be explicitly released using * {@link #releaseValueResolver(ValueResolver)}.

* * @param resolverId The resolver ID * @return The corresponding {@link ValueResolver}; null if the resolver * could not be instantiated */ ValueResolver acquireValueResolver(String resolverId); /** * Releases the specified {@link ValueResolver}. * * @param resolver The resolver to release */ void releaseValueResolver(ValueResolver resolver); /** *

Acquires an {@link Aggregate} for the specified aggregate ID.

* *

The aggregate must be explicitly released using * {@link #releaseAggregate(Aggregate)}.

* * @param aggregateId The aggregate ID * @return The corresponding {@link Aggregate}; null if the aggregate * could not be instantiated */ Aggregate acquireAggregate(String aggregateId); /** * Releases the specified {@link Aggregate}. * * @param aggregate The aggregate to release */ void releaseAggregate(Aggregate aggregate); /** *

Acquires a {@link ValueExtractor} for the specified extractor ID.

* *

The extractor must be explicitly released using * {@link #releaseExtractor(ValueExtractor)}.

* * @param extractorId The extractor ID * @return The corresponding {@link ValueExtractor}; null if the extractor * could not be instantiated */ ValueExtractor acquireValueExtractor(String extractorId); /** * Releases the specified {@link ValueExtractor}. * * @param extractor The extractor to release */ void releaseExtractor(ValueExtractor extractor); /** *

Acquires a {@link Filter} for the specified filter ID.

* *

The filter must be explicitly released using {@link #releaseFilter(Filter)}.

* * @param filterId The filter ID * @return The corresponding {@link Filter}; null if the filter * could not be instantiated */ Filter acquireFilter(String filterId); /** * Releases the specified {@link Filter}. * * @param filter The filter to release */ void releaseFilter(Filter filter); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy