/** * Get the default {@link Renderer} to use with given data type. * @param type Data type (not null) * @return Optional default renderer */ protected Optional<Renderer<?>> getDefaultPropertyRendererByType(Class<?> type) { if (Component.class.isAssignableFrom(type)) { return Optional.of(new ComponentRenderer()); } if (FontIcon.class.isAssignableFrom(type)) { return Optional.of(new HtmlRenderer("")); } if (ExternalResource.class.isAssignableFrom(type) || ThemeResource.class.isAssignableFrom(type)) { return Optional.of(new ImageRenderer<>()); } return Optional.empty(); }
/** * Get the default {@link Renderer} for given <code>property</code>. * @param property Property * @return The default {@link Renderer}, if available */ protected Optional<Renderer<?>> getDefaultPropertyRenderer(P property) { Class<?> type = getPropertyColumnType(property); // Images if (type != null && (ExternalResource.class.isAssignableFrom(type) || ThemeResource.class.isAssignableFrom(type))) { return Optional.of(new ImageRenderer()); } if (type != null && FontIcon.class.isAssignableFrom(type)) { return Optional.of(new HtmlRenderer("")); } return Optional.empty(); }
@Override protected Optional<Renderer<?>> getDefaultPropertyRenderer(Property property) { if (Component.class.isAssignableFrom(property.getType())) { return Optional.of(new ComponentRenderer()); } if (FontIcon.class.isAssignableFrom(property.getType())) { return Optional.of(new HtmlRenderer("")); } if (ExternalResource.class.isAssignableFrom(property.getType()) || ThemeResource.class.isAssignableFrom(property.getType())) { return Optional.of(new ImageRenderer()); } return super.getDefaultPropertyRenderer(property); }