Package cn.leancloud

Class LCLeaderboard

java.lang.Object
cn.leancloud.LCLeaderboard

public class LCLeaderboard extends Object
  • Field Details

  • Constructor Details

    • LCLeaderboard

      protected LCLeaderboard(LCObject object)
  • Method Details

    • getStatisticName

      public String getStatisticName()
      get statistic name
      Returns:
      statistic name
    • getOrder

      get leaderboard order
      Returns:
      leaderboard order
    • getUpdateStrategy

      public LCLeaderboard.LCLeaderboardUpdateStrategy getUpdateStrategy()
      get leaderboard update strategy
      Returns:
      update strategy
    • getVersionChangeInterval

      public LCLeaderboard.LCLeaderboardVersionChangeInterval getVersionChangeInterval()
      get version change interval
      Returns:
      version change interval
    • getVersion

      public int getVersion()
      get version
      Returns:
      version number
    • getNextResetAt

      public Date getNextResetAt()
      get next reset timestamp
      Returns:
      next reset timestamp
    • getCreatedAt

      public Date getCreatedAt()
      get create timestamp
      Returns:
      create timestamp
    • setVersion

      public void setVersion(int version)
    • lookup

      protected static <T extends Enum<T>> T lookup(Class<T> enumType, String name)
    • createWithoutData

      public static LCLeaderboard createWithoutData(String name)
      create instance with leaderboard name
      Parameters:
      name - leaderboard name
      Returns:
      instance
    • createWithoutData

      public static LCLeaderboard createWithoutData(String name, String memberType)
      create instance with leaderboard name and type.
      Parameters:
      name - leaderboard name
      memberType - leaderboard member type: MEMBER_TYPE_USER("_User"): leaderboard target is LCUser MEMBER_TYPE_ENTITY("_Entity"): leaderboard target is any entity LCObject Name: leaderboard target is LCObject
      Returns:
      instance
    • updateStatistic

      public static io.reactivex.Observable<LCStatisticResult> updateStatistic(LCUser user, Map<String,Double> values)
      update user's statistic
      Parameters:
      user - user instance
      values - statistics
      Returns:
      observable instance.
    • updateStatistic

      public static io.reactivex.Observable<LCStatisticResult> updateStatistic(LCUser user, Map<String,Double> params, boolean overwrite)
      update user's statistic
      Parameters:
      user - user instance
      params - statistics
      overwrite - overwrite flag
      Returns:
      observable instance.
    • getUserStatistics

      public static io.reactivex.Observable<LCStatisticResult> getUserStatistics(LCUser user)
      get user's statistics
      Parameters:
      user - user instance
      Returns:
      observable instance.
    • getUserStatistics

      public static io.reactivex.Observable<LCStatisticResult> getUserStatistics(LCUser user, List<String> statisticNames)
      get user's statistics
      Parameters:
      user - user instance
      statisticNames - statistic names
      Returns:
      observable instance.
    • getMemberStatistics

      public static io.reactivex.Observable<LCStatisticResult> getMemberStatistics(String memberType, String memberId)
      get member statistics.
      Parameters:
      memberType - member type MEMBER_TYPE_USER("_User"): leaderboard target is LCUser MEMBER_TYPE_ENTITY("_Entity"): leaderboard target is any entity LCObject Name: leaderboard target is LCObject
      memberId - member objectId
      Returns:
      observable instance.
    • getMemberStatistics

      public static io.reactivex.Observable<LCStatisticResult> getMemberStatistics(String memberType, String memberId, List<String> statisticNames)
      get member statistics
      Parameters:
      memberType - member type MEMBER_TYPE_USER("_User"): leaderboard target is LCUser MEMBER_TYPE_ENTITY("_Entity"): leaderboard target is any entity LCObject Name: leaderboard target is LCObject
      memberId - member objectId
      statisticNames - statistic names
      Returns:
      observable instance.
    • queryGroupStatistics

      public static io.reactivex.Observable<LCStatisticResult> queryGroupStatistics(String memberType, String statisticName, List<String> targetKeys)
      query a group of users/objects/entities statistic results.
      Parameters:
      memberType - member type. MEMBER_TYPE_USER("_User"): leaderboard target is LCUser MEMBER_TYPE_ENTITY("_Entity"): leaderboard target is any entity MEMBER_TYPE_ENTITY("_Object"): leaderboard target is LCObject
      statisticName - statistic names.
      targetKeys - target ids.
      Returns:
      observable instance.
    • getResults

      public io.reactivex.Observable<LCLeaderboardResult> getResults(int skip, int limit, List<String> selectMemberKeys, List<String> includeStatistics)
      get leaderboard results.
      Parameters:
      skip - query offset
      limit - query limit
      selectMemberKeys - select member(user or object) keys(optional)
      includeStatistics - include other statistics(optional)
      Returns:
      observable instance.
    • getResults

      public io.reactivex.Observable<LCLeaderboardResult> getResults(int skip, int limit, List<String> selectMemberKeys, List<String> includeStatistics, boolean withCount)
      get leaderboard results.
      Parameters:
      skip - query offset
      limit - query limit
      selectMemberKeys - select member(user or object) keys(optional)
      includeStatistics - include other statistics(optional)
      withCount - need count flag(optional)
      Returns:
      observable instance.
    • getGroupResults

      public io.reactivex.Observable<LCLeaderboardResult> getGroupResults(List<String> groupUserIds, int skip, int limit, List<String> selectMemberKeys, List<String> includeStatistics)
      get group user's ranking.
      Parameters:
      groupUserIds - user id list.
      skip - skip number.
      limit - max result limitation.
      selectMemberKeys - select member(user) keys(optional)
      includeStatistics - include other statistics(optional)
      Returns:
      observable instance.
    • getAroundResults

      public io.reactivex.Observable<LCLeaderboardResult> getAroundResults(String targetId, int skip, int limit, List<String> selectMemberKeys, List<String> includeStatistics)
      get leaderboard results around target id(user, object or entity).
      Parameters:
      targetId - target objectId
      skip - query offset
      limit - query limit
      selectMemberKeys - select object keys(optional)
      includeStatistics - include other statistics(optional)
      Returns:
      observable instance.
    • getAroundInGroupResults

      public io.reactivex.Observable<LCLeaderboardResult> getAroundInGroupResults(List<String> groupUserIds, String targetId, int limit, List<String> selectMemberKeys, List<String> includeStatistics)
      get leaderboard results around target id within specified group.
      Parameters:
      groupUserIds - user id list.
      targetId - target user id.
      limit - query limit.
      selectMemberKeys - select object keys(optional)
      includeStatistics - include other statistics(optional)
      Returns:
      observable instance.
    • queryGroupStatistics

      public io.reactivex.Observable<LCStatisticResult> queryGroupStatistics(List<String> targetKeys)
      query multiple users/objects/entities statistic results.
      Parameters:
      targetKeys - target id list.
      Returns:
      observable instance.
    • create

      public static io.reactivex.Observable<LCLeaderboard> create(String name, LCLeaderboard.LCLeaderboardOrder order, LCLeaderboard.LCLeaderboardUpdateStrategy updateStrategy, LCLeaderboard.LCLeaderboardVersionChangeInterval versionChangeInterval)
      create leaderboard with default member type(User).
      Parameters:
      name - name
      order - order
      updateStrategy - update strategy.
      versionChangeInterval - version change interval.
      Returns:
      leaderboard observer.
    • createWithMemberType

      public static io.reactivex.Observable<LCLeaderboard> createWithMemberType(String memberType, String name, LCLeaderboard.LCLeaderboardOrder order, LCLeaderboard.LCLeaderboardUpdateStrategy updateStrategy, LCLeaderboard.LCLeaderboardVersionChangeInterval versionChangeInterval)
      create leaderboard with customized member type
      Parameters:
      memberType - member type
      name - name
      order - order
      updateStrategy - update strategy.
      versionChangeInterval - version change interval.
      Returns:
      leaderboard observer.
    • fetchByName

      public static io.reactivex.Observable<LCLeaderboard> fetchByName(String name)
      fetch leaderboard with name
      Parameters:
      name - leaderboard name
      Returns:
      leaderboard observer.
    • reset

      public io.reactivex.Observable<Boolean> reset()
      reset current leaderboard.
      Returns:
      boolean observer that always emits true.
    • updateVersionChangeInterval

      public io.reactivex.Observable<Boolean> updateVersionChangeInterval(LCLeaderboard.LCLeaderboardVersionChangeInterval interval)
      update current leaderboard's change interval
      Parameters:
      interval - new change interval
      Returns:
      boolean observer that always emits true.
    • updateUpdateStrategy

      public io.reactivex.Observable<Boolean> updateUpdateStrategy(LCLeaderboard.LCLeaderboardUpdateStrategy strategy)
      update current leaderboard's update strategy.
      Parameters:
      strategy - new update strategy.
      Returns:
      boolean observer that always emits true.
    • destroy

      public io.reactivex.Observable<Boolean> destroy()
      destroy current leaderboard.
      Returns:
      boolean observer that always emits true.