private ValueSpecification getSpec(final ValueProperties props) { final Builder realProps = props.copy().with(ValuePropertyNames.FUNCTION, "SomeFunc"); final ValueSpecification spec = new ValueSpecification( "X", ComputationTargetSpecification.of(Currency.USD), realProps.get()); return spec; }
@Override public Set<ValueSpecification> getResults( final FunctionCompilationContext context, final ComputationTarget target, final Map<ValueSpecification, ValueRequirement> inputs) { if (inputs.size() == 1) { ValueSpecification input = inputs.keySet().iterator().next(); if (getValueRequirementName().equals(input.getValueName())) { return inputs.keySet(); } } ValueSpecification superSpec = super.getResults(context, target, inputs).iterator().next(); Builder properties = superSpec .getProperties() .copy() .withAny(s_priceShift) .withAny(s_volShift) .withAny(s_priceShiftType) .withAny(s_volShiftType); return Collections.singleton( new ValueSpecification( getValueRequirementName(), target.toSpecification(), properties.get())); }