Class ExpressionBasedTopData<K,V>

java.lang.Object
org.kingdoms.constants.top.IndexedTopData<K,V>
org.kingdoms.constants.top.ExpressionBasedTopData<K,V>
All Implemented Interfaces:
Comparator<V>, TopData<V>
Direct Known Subclasses:
GroupTopData

public abstract class ExpressionBasedTopData<K,V> extends IndexedTopData<K,V>
  • Constructor Details

    • ExpressionBasedTopData

      public ExpressionBasedTopData(org.kingdoms.utils.compilers.expressions.MathExpression comparator, org.kingdoms.utils.compilers.expressions.ConditionalExpression filter, String dataName, Messenger displayName, Messenger description)
  • Method Details

    • getPlaceholderProvider

      protected abstract PlaceholderProvider getPlaceholderProvider(V value)
    • parse

      public static <TOP extends ExpressionBasedTopData<?, ?>> void parse(ConfigSection section, ExpressionBasedTopData.Creator<TOP> creator, Map<String,TOP> tops)
    • getFilter

      public org.kingdoms.utils.compilers.expressions.ConditionalExpression getFilter()
    • getPredicate

      @Nullable public @Nullable Predicate<V> getPredicate()
    • getDisplayName

      public Messenger getDisplayName()
    • getDescription

      public Messenger getDescription()
    • getDataName

      public String getDataName()
    • isIncluded

      public boolean isIncluded(V data)
      Returns:
      true if this data is included in the leaderboard, otherwise false.
    • getTopValueOf

      public double getTopValueOf(V data)
    • compare

      public int compare(V o1, V o2)
    • toString

      public String toString()
      Overrides:
      toString in class Object