@Override public Iterable<Definition> getDefinitionForPropertiesType(Class<? extends Properties> propertiesClass) { List<Definition> matchingDefs = new ArrayList<>(); for (Definition def : definitions.values()) { Class<? extends Properties> defPropClass = def.getPropertiesClass(); if (defPropClass != null && propertiesClass.isAssignableFrom(def.getPropertiesClass())) { matchingDefs.add(def); } } return matchingDefs; }
@Override public Iterable<Definition> getDefinitionForPropertiesType(Class<? extends Properties> propertiesClass) { List<Definition> matchingDefs = new ArrayList<>(); for (Definition def : definitions.values()) { Class<? extends Properties> defPropClass = def.getPropertiesClass(); if (defPropClass != null && propertiesClass.isAssignableFrom(def.getPropertiesClass())) { matchingDefs.add(def); } } return matchingDefs; }
@Override public <P extends Properties> P createProperties(Definition<P> definition, String name) { P newInstance = PropertiesImpl.createNewInstance(definition.getPropertiesClass(), name); injectDefinitionRegistry(newInstance); newInstance.init(); return newInstance; }
@Override public <P extends Properties> P createProperties(Definition<P> definition, String name) { P newInstance = PropertiesImpl.createNewInstance(definition.getPropertiesClass(), name); injectDefinitionRegistry(newInstance); newInstance.init(); return newInstance; }
((Definition<Properties>) i.getArguments()[0]).getPropertiesClass(), (String) i.getArguments()[1]); properties.init(); return properties;