@SuppressWarnings("null") @Override public DecorationStrategy convert(ParsedValue<ParsedValue<?, DecorationStrategy>, DecorationStrategy> value, Font font) { String definition = value.getValue() + ""; //$NON-NLS-1$ if (FACTORIES == null) { FACTORIES = Util.lookupServiceList(getClass(), DecorationStrategyFactory.class).stream().sorted((f1, f2) -> -1 * Integer.compare(f1.getRanking(), f2.getRanking())).collect(Collectors.toMap(f -> f.getDecorationStrategyName(), f -> f)); } String type; if (definition.contains("(")) { //$NON-NLS-1$ type = definition.substring(0, definition.indexOf('(')); } else { type = definition + ""; //$NON-NLS-1$ } DecorationStrategyFactory strategy = FACTORIES.get(type); if (strategy != null) { return strategy.create(definition.contains("(") ? definition.substring(definition.indexOf('(') + 1, definition.lastIndexOf(')')) : null); //$NON-NLS-1$ } return null; } }
@SuppressWarnings("null") @Override public DecorationStrategy convert(ParsedValue<ParsedValue<?, DecorationStrategy>, DecorationStrategy> value, Font font) { String definition = value.getValue() + ""; //$NON-NLS-1$ if (FACTORIES == null) { FACTORIES = Util.lookupServiceList(getClass(), DecorationStrategyFactory.class).stream().sorted((f1, f2) -> -1 * Integer.compare(f1.getRanking(), f2.getRanking())).collect(Collectors.toMap(f -> f.getDecorationStrategyName(), f -> f)); } String type; if (definition.contains("(")) { //$NON-NLS-1$ type = definition.substring(0, definition.indexOf('(')); } else { type = definition + ""; //$NON-NLS-1$ } DecorationStrategyFactory strategy = FACTORIES.get(type); if (strategy != null) { return strategy.create(definition.contains("(") ? definition.substring(definition.indexOf('(') + 1, definition.lastIndexOf(')')) : null); //$NON-NLS-1$ } return null; } }