class SimpleMatcherType implements MatcherType<Object> {

    @Override
    public Object decode(String value, Type<?> type, Matcher matcher) {
        if (value != null && value.equals("*")) {
            return Star.star();
        }

        if (type != null) {
            return type.decode(value).getValue();
        }

        if (value != null && value.isEmpty()) {
            return null;
        }

        return value;
    }

}