org.apache.solr.client.solrj.cloud.autoscaling

## Interface Variable

All Known Implementing Classes:
  CoresVariable, FreeDiskVariable, NodeVariable, Variable.Type, VariableBase, VariableBase.CoreIndexSizeVariable, VariableBase.DiskTypeVariable, VariableBase.LazyVariable, VariableBase.TotalDiskVariable, WithCollectionVariable

    public interface Variable

A Variable Type used in Autoscaling policy rules. Each variable type may have unique implementation of functionalities

### Nested Class Summary

Nested Classes
`static interface` `Variable.Meta`
`static class` `Variable.Type` Type details of each variable in policies

### Field Summary

Fields
`static String` `coreidxsize`
`static String` `NULL`

### Method Summary

All Methods Instance Methods Abstract Methods Default Methods
`default boolean` `addViolatingReplicas(org.apache.solr.client.solrj.cloud.autoscaling.Violation.Ctx ctx)`
`int` `compareViolation(Violation v1, Violation v2)`
`default Object` `computeValue(Policy.Session session, Condition condition, String collection, String shard, String node)`
`default Object` `convertVal(Object val)`
`default Operand` `getOperand(Operand expected, Object strVal, ComputedType computedType)`
`void` `getSuggestions(org.apache.solr.client.solrj.cloud.autoscaling.Suggestion.Ctx ctx)`
`default boolean` `match(Object inputVal, Operand op, Object val, String name, Row row)`
`default String` `postValidate(Condition condition)`
`default void` `projectAddReplica(Cell cell, ReplicaInfo ri, Consumer<org.apache.solr.client.solrj.cloud.autoscaling.Row.OperationInfo> opCollector, boolean strictMode)`
`default void` `projectRemoveReplica(Cell cell, ReplicaInfo ri, Consumer<org.apache.solr.client.solrj.cloud.autoscaling.Row.OperationInfo> opCollector)`
`Object` `validate(String name, Object val, boolean isRuleVal)`

### Field Detail

#### NULL

    static final String NULL

See Also:
  Constant Field Values

#### coreidxsize

    static final String coreidxsize

See Also:
  Constant Field Values

### Method Detail

#### match

    default boolean match(Object inputVal,
                          Operand op,
                          Object val,
                          String name,
                          Row row)

#### convertVal

    default Object convertVal(Object val)

#### projectAddReplica

    default void projectAddReplica(Cell cell,
                                   ReplicaInfo ri,
                                   Consumer<org.apache.solr.client.solrj.cloud.autoscaling.Row.OperationInfo> opCollector,
                                   boolean strictMode)

#### addViolatingReplicas

    default boolean addViolatingReplicas(org.apache.solr.client.solrj.cloud.autoscaling.Violation.Ctx ctx)

#### getSuggestions

    void getSuggestions(org.apache.solr.client.solrj.cloud.autoscaling.Suggestion.Ctx ctx)

#### computeValue

    default Object computeValue(Policy.Session session,
                                Condition condition,
                                String collection,
                                String shard,
                                String node)

#### compareViolation

    int compareViolation(Violation v1,
                         Violation v2)

#### projectRemoveReplica

    default void projectRemoveReplica(Cell cell,
                                      ReplicaInfo ri,
                                      Consumer<org.apache.solr.client.solrj.cloud.autoscaling.Row.OperationInfo> opCollector)

#### postValidate

    default String postValidate(Condition condition)

#### getOperand

    default Operand getOperand(Operand expected,
                               Object strVal,
                               ComputedType computedType)

#### validate

    Object validate(String name,
                    Object val,
                    boolean isRuleVal)