调用在运行时期间扩展traits的scala类

时间:2017-02-23 18:03:06

标签: scala scala-collections

我对scala比较新,所以如果我问愚蠢的问题,请耐心等待。 我有一个要求,我需要调用方法运行时。

我有一个特点,正在扩展两个类

@ContextConfiguration(classes = {Application.class})
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
public class MyTest {

  @Autowired
  private static WebApplicationContext wac;

  @Autowired
  private static FilterChainProxy springSecurityFilter;

  private MockMvc mockMvc;

  @Before
  public void setUp() {
      assertNotNull(wac);
      assertNotNull(springSecurityFilter);

      this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).addFilters(springSecurityFilter).build();
  }

这扩展了两个类。

trait Animal {
   def walk():DataFrame
}

现在从配置文件中我将获得这些类名的列表

让我们这样说

class Dog(sparkSession: SparkSession) extends Animal {
   def walk():DataFrame = {
      .............
   }
}

class Cat(sparkSession: SparkSession) extends Animal {
   def walk():DataFrame = {
      .............
   }
}

我需要调用这些类并执行walk方法。 我可以这样做吗?

val animals = ["com.xy.Dog","com.xy.Cat"]

0 个答案:

没有答案