Class AFXPostProcessor<T>

  • All Implemented Interfaces:
    ICustomParametersAware, IFXRatesAware, com.quartetfs.biz.pivot.postprocessing.IAggregatedMeasureAware, com.quartetfs.biz.pivot.postprocessing.IPartitionedPostProcessor<T>, com.quartetfs.biz.pivot.postprocessing.IPostProcessor<T>, com.quartetfs.fwk.types.IExtendedPluginValue, Serializable
    Direct Known Subclasses:
    FXPostProcessor, FXVectorPostProcessor

    public abstract class AFXPostProcessor<T>
    extends com.quartetfs.biz.pivot.postprocessing.impl.ADynamicAggregationPostProcessor<T,​T>
    implements IFXRatesAware, ICustomParametersAware
    Provides dynamic aggregation of values in multiple currencies, with conversion into a contextual reference currency.
    Author:
    ActiveViam
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class com.quartetfs.biz.pivot.postprocessing.impl.ADynamicAggregationPostProcessor

        com.quartetfs.biz.pivot.postprocessing.impl.ADynamicAggregationPostProcessor.TransformationProcedure
      • Nested classes/interfaces inherited from class com.quartetfs.biz.pivot.postprocessing.impl.ABaseDynamicAggregationPostProcessor

        com.quartetfs.biz.pivot.postprocessing.impl.ABaseDynamicAggregationPostProcessor.DynamicAggregationPostProcessorPrefetcher
    • Constructor Summary

      Constructors 
      Constructor Description
      AFXPostProcessor​(String name, com.quartetfs.biz.pivot.cube.hierarchy.measures.IPostProcessorCreationContext creationContext)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected Double getRate​(com.quartetfs.biz.pivot.ILocation leafLocation)  
      static Double getRate​(com.quartetfs.biz.pivot.query.IQueryCache queryCache, com.qfs.store.IDatastoreVersion datastore, IFXRates fxRates, LocalDate date, String currency, String refCurrency, com.quartetfs.biz.pivot.IActivePivot activePivot, List<Object> leafCoordinates, String marketDataSet)  
      protected Double getRate​(LocalDate date, String currency, String refCurrency, List<Object> leafCoordinates, String marketDataSet)  
      void init​(Properties properties)
      This post-processor requires one property to be specified in its definition: The leafLevels property of ABaseDynamicAggregationPostProcessor specifying the leaf levels at which this post-processor will be evaluated, in this case the AsOfDate and Currency levels. The optional preferredCurrency property can be used fix the output of this post-processor to a specific currency, overriding the currency specified by the IReferenceCurrency context value.
      void setCustomParameters​(ICustomParameters customParameters)  
      void setFxRates​(IFXRates fxRates)  
      protected LocalDate stepDate​(LocalDate date, boolean first)  
      • Methods inherited from class com.quartetfs.biz.pivot.postprocessing.impl.ADynamicAggregationPostProcessor

        createLeafEvaluationProcedure, evaluateLeaf, evaluateLeaf
      • Methods inherited from class com.quartetfs.biz.pivot.postprocessing.impl.ABaseDynamicAggregationPostProcessor

        checkLeafType, checkPrefetchers, compute, computeLeafType, computeLeafTypeFromGenericType, computePartitioningLevels, computePrefetchFilter, createAggregationFunction, createPrefetchers, getAggregationFunction, getHierarchiesInfo, getLeafLevelsInfo, getLeafType, getTypeFromLiteralType, handleNoLeafLevel, initializeLeafLevels, initializeUnderlyingMeasures, reduce, reduceLeavesAndContribute, retrieveLeaves, setPartitioningLevels, supportsAnalysisLevels
      • Methods inherited from class com.quartetfs.biz.pivot.postprocessing.impl.AAdvancedPostProcessor

        addContextDependency, checkInterruption, checkOutputType, computeNamePath, computeOutputType, createEvaluator, expandResult, getActivePivot, getContext, getContextDependencies, getContinuousQueryHandlerKeys, getCurrentMeasure, getDatastoreVersion, getDerivedContextDependencies, getExpansionProcedure, getGenericOutputType, getMeasuresProvider, getName, getOutputType, getOutputTypeFromGenericClassParameter, getOutputTypeFromProperties, getPrefetchers, getProperties, getQueryCache, getTypeFromClass, handleCircularDependency, handleNotSupportedAnalysisLevels, handleUnknownUnderlyingMeasure, hideEvaluator, initializeContinuousQueryHandlerKeys, removeAnalysisLevelsFromFilter, restrictLocationAnalysisLevels, retrieveAnalysisLevelsToExpand, retrieveNamedPrefetchAggregatesWithAnalysisLevels, retrievePrefetchAggregates, retrievePrefetchAggregatesWithAnalysisLevels, setAggregatedMeasureName, toString
      • Methods inherited from interface com.quartetfs.fwk.types.IExtendedPluginValue

        getType
      • Methods inherited from interface com.quartetfs.biz.pivot.postprocessing.IPostProcessor

        getContextDependencies, getContinuousQueryHandlerKeys, getName, getOutputType, getPrefetchers, getProperties
    • Field Detail

      • asOfDateLevelInfo

        protected com.quartetfs.biz.pivot.cube.hierarchy.ILevelInfo asOfDateLevelInfo
      • currencyLevelInfo

        protected com.quartetfs.biz.pivot.cube.hierarchy.ILevelInfo currencyLevelInfo
      • marketDataSetLevelInfo

        protected com.quartetfs.biz.pivot.cube.hierarchy.ILevelInfo marketDataSetLevelInfo
      • preferredCurrency

        protected String preferredCurrency
      • dateInfo

        protected String dateInfo
      • dateStore

        protected String dateStore
      • maxFallbackDays

        protected int maxFallbackDays
      • fxRates

        protected transient IFXRates fxRates
    • Constructor Detail

      • AFXPostProcessor

        public AFXPostProcessor​(String name,
                                com.quartetfs.biz.pivot.cube.hierarchy.measures.IPostProcessorCreationContext creationContext)
    • Method Detail

      • init

        public void init​(Properties properties)
                  throws com.quartetfs.fwk.QuartetException
        This post-processor requires one property to be specified in its definition:
        • The leafLevels property of ABaseDynamicAggregationPostProcessor specifying the leaf levels at which this post-processor will be evaluated, in this case the AsOfDate and Currency levels.
        The optional preferredCurrency property can be used fix the output of this post-processor to a specific currency, overriding the currency specified by the IReferenceCurrency context value.
        Specified by:
        init in interface com.quartetfs.biz.pivot.postprocessing.IPostProcessor<T>
        Overrides:
        init in class com.quartetfs.biz.pivot.postprocessing.impl.ABaseDynamicAggregationPostProcessor<T,​T>
        Throws:
        com.quartetfs.fwk.QuartetException
      • getRate

        protected Double getRate​(com.quartetfs.biz.pivot.ILocation leafLocation)
      • getRate

        public static Double getRate​(com.quartetfs.biz.pivot.query.IQueryCache queryCache,
                                     com.qfs.store.IDatastoreVersion datastore,
                                     IFXRates fxRates,
                                     LocalDate date,
                                     String currency,
                                     String refCurrency,
                                     com.quartetfs.biz.pivot.IActivePivot activePivot,
                                     List<Object> leafCoordinates,
                                     String marketDataSet)