whylabs/whylogs-python

View on GitHub
java/core/src/main/java/com/whylogs/core/schemas/ColumnSchema.java

Summary

Maintainability
A
0 mins
Test Coverage
package com.whylogs.core.schemas;

import com.whylogs.core.metrics.Metric;
import com.whylogs.core.metrics.MetricConfig;
import com.whylogs.core.resolvers.Resolver;
import java.lang.reflect.Type;
import java.util.HashMap;
import lombok.AllArgsConstructor;
import lombok.Data;

@Data
@AllArgsConstructor
public class ColumnSchema {
  // Thoughts: we could have this ColumnSchema<T> instead of having it as a member
  // by this might be easier to use? If we did we would need to use the CRTP again
  // like in Metric to be able to see the type but also have them in a collection together
  private Type type;
  private MetricConfig config;
  private Resolver resolver;

  public HashMap<String, Metric<?>> getMetrics() {
    return this.resolver.resolve(this);
  }
}