@Override protected ModelPath calculateTarget(MutableModelNode target) { if (targetProperty != null) { return ((ManagedInstance) values.get(targetProperty.getName())).getBackingNode().getPath(); } return target.getPath(); }
@Override protected List<ModelReference<?>> withImplicitInputs(List<? extends ModelReference<?>> inputs) { List<ModelReference<?>> allInputs = new ArrayList<ModelReference<?>>(inputs.size() + implicitInputs.size()); allInputs.addAll(inputs); for (ModelProperty<?> property : implicitInputs) { ManagedInstance value = (ManagedInstance) values.get(property.getName()); allInputs.add(ModelReference.of(value.getBackingNode().getPath())); } return allInputs; }
@Override public Object get(String name) { return values.get(name); }