001package io.cui.tools.formatting.template; 002 003import java.io.Serializable; 004import java.util.List; 005import java.util.Map; 006 007/** 008 * Provides runtime-information about a bean without resorting to reflection. 009 * 010 * @author Eugen Fischer 011 */ 012public interface FormatterSupport { 013 014 /** 015 * Allow easier access to available properties. 016 * Order of available properties and their values has no effect. 017 * 018 * @return Map<String, Serializable> of property name -> property Value for <b>non</b> 019 * {@code null} 020 * properties 021 */ 022 Map<String, Serializable> getAvailablePropertyValues(); 023 024 /** 025 * @return list of all supported properties 026 */ 027 List<String> getSupportedPropertyNames(); 028 029}