如何使用CRaSH注册渲染器

时间:2015-10-02 14:03:17

标签: spring-boot

在阅读了Spring Boot文档中的远程shell之后,我开始玩它。我实现了一个新的Command,它生成了一个名为company的数据库实体的Stream。 这很好用。所以我想在控制台中输出我的公司流。这是通过默认调用toString()来完成的。虽然这种接缝合理,但还有一种方法可以通过使用渲染器获得更好的结果。

实施一个应该是直截了当的,因为我可以将大部分工作委托给其中一个已经存在的工作。我使用MapRenderer

class CompanyRenderer extends Renderer<Company> {

    private final mapRenderer = new MapRenderer()

    @Override Class<Company> getType() { Company }

    @Override LineRenderer renderer(Iterator<Company> stream) {
        def list = []
        stream.forEachRemaining({
            list.add([id: it.id, name: it.name])
        })

        return mapRenderer.renderer(list.iterator())
    }
}

正如您所看到的,我只是从我的实体中取出一些字段,将它们放入Map,然后委托给MapRenderer的实例来完成实际工作。

TL; DR

唯一的问题是:如何将我的Renderer注册到CRaSH?

链接

0 个答案:

没有答案