public <T> T getAttributeValue(String name, T defaultValue, Class<T> type) { Parameter parameter = getAttribute(name); if (parameter == null) return defaultValue; if (parameter.isCollection()) throw new IllegalArgumentException("Duplicate " + name + " attribute."); Object value = parameter.getValue(); if (value == null) return defaultValue; return type.cast(value); }
private Map<String, Object> getAttributes(ParameterizedAttribute attribs) { Map<String, Object> atts = new HashMap<String, Object>(); for (String key : attribs.getAttributes().keySet()) { Parameter param = attribs.getAttribute(key); atts.put(key.trim(), param.getValue().toString().trim()); } return atts; }
attributes.put(unquoted, attribute); attribute.addValue(unquote(value)); } else { throw new IllegalArgumentException("Path " + piece + " should appear before attributes and directives in " + clause);
public <T> T getDirectiveValue(String name, T defaultValue, Class<T> type) { Parameter parameter = getDirective(name); if (parameter == null) return defaultValue; if (parameter.isCollection()) throw new IllegalArgumentException("Duplicate " + name + " directive."); Object value = parameter.getValue(); if (value == null) return defaultValue; return type.cast(value); }
public VersionRange getVersion() { if (versionRange == null) { Parameter parameter = getDirective(Constants.VERSION_ATTRIBUTE); if (parameter != null) { if (parameter.isCollection()) throw new IllegalArgumentException("Duplicate version parameter."); Object value = parameter.getValue(); if (value != null) { versionRange = VersionRange.parse(value.toString()); } } } return versionRange; } }
@SuppressWarnings({ "unchecked" }) protected <T> T get(String key, ValueCreator<T> creator, T defaultValue) { T value = (T) cachedAttributes.get(key); if (value == null) { Parameter parameter = parameters.get(key); if (parameter != null) { Object paramValue = parameter.getValue(); if (parameter.isCollection()) { if (creator instanceof CollectionValueCreator) { CollectionValueCreator<T> cvc = (CollectionValueCreator<T>) creator; value = cvc.createValue((Collection<String>) paramValue); } else { log.warn("Unable to create proper value from " + creator + " for parameter: " + parameter); } } else { value = creator.createValue(paramValue.toString()); } } else if (defaultValue != null) { value = defaultValue; } if (value != null) cachedAttributes.put(key, value); } return value; } }