Class PositionRecordService

java.lang.Object
com.bluebell.greenhouse.radicle.services.position.PositionRecordService

@Service @Transactional(readOnly=true) public class PositionRecordService extends Object
Service-layer for calculating PositionRecords.
Version:
3.0.6
Author:
Stephen Prizio
  • Constructor Details

    • PositionRecordService

      public PositionRecordService()
  • Method Details

    • getPositionRecords

      @Cacheable(cacheNames="positionRecordReports", key="T(com.bluebell.greenhouse.platform.configuration.cache.position.PositionRecordCacheKeys).forRecords(#start, #end, #account, #interval, #count, T(java.time.ZoneOffset).UTC)", sync=true) public PositionRecordReport getPositionRecords(LocalDate start, LocalDate end, Account account, RecordTimeInterval interval, int count)
      Parameters:
      start - start of time period
      end - end of time period
      account - Account
      interval - RecordTimeInterval
      count - number of results
      Returns:
      PositionRecordReport
    • getPositionRecords

      @Cacheable(cacheNames="positionRecordReports", key="T(com.bluebell.greenhouse.platform.configuration.cache.position.PositionRecordCacheKeys).forRecords(#start, #end, #account, #interval, #count, #zoneId)", sync=true) public PositionRecordReport getPositionRecords(LocalDate start, LocalDate end, Account account, RecordTimeInterval interval, int count, ZoneId zoneId)
      Parameters:
      start - start of time period
      end - end of time period
      account - Account
      interval - RecordTimeInterval
      count - number of results
      zoneId - timezone used for closed-position bucketing
      Returns:
      PositionRecordReport
    • getRecentPositionRecords

      @Cacheable(cacheNames="positionRecordReports", key="T(com.bluebell.greenhouse.platform.configuration.cache.position.PositionRecordCacheKeys).forRecentRecords(#account, #interval, #count, T(java.time.ZoneOffset).UTC)", sync=true) public PositionRecordReport getRecentPositionRecords(Account account, RecordTimeInterval interval, int count)
      Obtains the most recent PositionRecords for the given Account.
      Parameters:
      account - Account
      interval - RecordTimeInterval
      count - limit
      Returns:
      PositionRecordReport
    • getRecentPositionRecords

      @Cacheable(cacheNames="positionRecordReports", key="T(com.bluebell.greenhouse.platform.configuration.cache.position.PositionRecordCacheKeys).forRecentRecords(#account, #interval, #count, #zoneId)", sync=true) public PositionRecordReport getRecentPositionRecords(Account account, RecordTimeInterval interval, int count, ZoneId zoneId)
      Obtains the most recent PositionRecords for the given Account.
      Parameters:
      account - Account
      interval - RecordTimeInterval
      count - limit
      zoneId - timezone used for closed-position bucketing
      Returns:
      PositionRecordReport
    • getPositionLog

      @Cacheable(cacheNames="positionRecordReports", key="T(com.bluebell.greenhouse.platform.configuration.cache.position.PositionRecordCacheKeys).forLog(#user, #portfolioNumber, #start, #end, #interval, #count, T(java.time.ZoneOffset).UTC)", sync=true) public PositionLog getPositionLog(User user, long portfolioNumber, LocalDate start, LocalDate end, RecordTimeInterval interval, int count)
      Obtains a PositionLog.
      Parameters:
      user - User
      portfolioNumber - portfolio number
      start - start of time period
      end - end of time period
      interval - RecordTimeInterval
      count - number of results
      Returns:
      PositionLog
    • getPositionLog

      @Cacheable(cacheNames="positionRecordReports", key="T(com.bluebell.greenhouse.platform.configuration.cache.position.PositionRecordCacheKeys).forLog(#user, #portfolioNumber, #start, #end, #interval, #count, #zoneId)", sync=true) public PositionLog getPositionLog(User user, long portfolioNumber, LocalDate start, LocalDate end, RecordTimeInterval interval, int count, ZoneId zoneId)
      Obtains a PositionLog.
      Parameters:
      user - User
      portfolioNumber - portfolio number
      start - start of time period
      end - end of time period
      interval - RecordTimeInterval
      count - number of results
      zoneId - timezone used for closed-position bucketing
      Returns:
      PositionLog
    • getPositionRecordControls

      @Cacheable(cacheNames="positionRecordReports", key="T(com.bluebell.greenhouse.platform.configuration.cache.position.PositionRecordCacheKeys).forControls(#account, #interval, T(java.time.ZoneOffset).UTC)", sync=true) public PositionRecordControls getPositionRecordControls(Account account, RecordTimeInterval interval)
      Generates PositionRecordControls for an Account's closed positions.
      Parameters:
      account - Account
      interval - RecordTimeInterval
      Returns:
      PositionRecordControls
    • getPositionRecordControls

      @Cacheable(cacheNames="positionRecordReports", key="T(com.bluebell.greenhouse.platform.configuration.cache.position.PositionRecordCacheKeys).forControls(#account, #interval, #zoneId)", sync=true) public PositionRecordControls getPositionRecordControls(Account account, RecordTimeInterval interval, ZoneId zoneId)
      Generates PositionRecordControls for an Account's closed positions.
      Parameters:
      account - Account
      interval - RecordTimeInterval
      zoneId - timezone used for closed-position bucketing
      Returns:
      PositionRecordControls