Node org.unizone.finance.interest.YieldForwardPrognosis

org.unizone.0.8539
Instance of TypeScriptInfo

Node dataValue
org.edgescript.TypeScriptInfo.prerequisiteParcelsList{}
org.edgescript.TypeScriptInfo.prerequisiteMethodsList{}
org.edgescript.TypeScriptInfo.script/* instance AdaptorYieldForward adaptor; instance Value[Int] years; instance Value[Int] days; constructor() { Source:(); instance years = new Value(Int, 1); instance years.addListener(Void () {changedHistory()}); instance days = new Value(Int, 0); instance days.addListener(Void () {changedHistory()}); } constructor(AdaptorYieldForward adaptor, Int years, Int days) { Source:(); instance adaptor = adaptor; addNextSource(adaptor); instance years = new Value(Int, years); instance years.addListener(Void () {changedHistory()}); instance days = new Value(Int, days); instance days.addListener(Void () {changedHistory()}); } class Boolean isResourceOf(Listable node, Symbol aspect) { if (aspect == #adaptors) return true; false; } class String resourceLabel() "Name of resource" { "forward yield prognosis"; } String resourceString() "Description of resource" { "progn. " + instance adaptor.toString + " (" + instance years.toString + "y, " + instance days.toString + "d)"; } Void designEditor(WidgetWorkspace ws) { ws.addLabel(new Place(0, 0).setPadding(5, 5), "Years"); ws.addField(new Place(1, 0).setPadding(20, 5), instance years, null); ws.addLabel(new Place(0, 1).setPadding(5, 5), "Days"); ws.addField(new Place(1, 1).setPadding(20, 5), instance days, null); } Symbol valueType() {#rate;} Void setAdaptor(AdaptorYieldForward adaptor, Int years, Int days) { instance adaptor = adaptor; addNextSource(adaptor); instance years.set(years); instance days.set(days); } Mixable mixWith(Mixable item) { Object adaptor = Producer.mix(0); if (adaptor == null' '!adaptor.class.subclassOf(AdaptorYieldForward)) { Producer.report("Top mix must be a forward yield adaptor"); return null; } setAdaptor(AdaptorYieldForward{adaptor}, 1, 0); this; } Collection[Class] requiredConditions() { #(ConditionMaturity, ConditionHistory, ConditionForward); } Object preferredFrom(Condition condition) { if (condition.class == ConditionHistory) return Time{ConditionHistory{condition}.to}.addDays(-30); Source:preferredFrom(condition); } Real aspectReal(Symbol aspect) { if (aspect != #value) return null; external cond_forward = external cond_maturity; if (instance years.value == 0) external cond_maturity = instance days.value/365; else external cond_maturity = instance years.value + instance days.value / 360; instance adaptor.aspectReal(#value); } Object aspectValue(Symbol aspect) { if (aspect != #value) return null; external cond_forward = external cond_maturity; if (instance years.value == 0) external cond_maturity = instance days.value/365; else external cond_maturity = instance years.value + instance days.value / 360; instance adaptor.aspectReal(#value); } String instanceScript(InstanceScriptInfo info) { instance adaptor.instanceScript(info); // create variables info.objectId(this, AdaptorYieldForwardPrognosis, "prog"); } String initScript(InstanceScriptInfo info) { " " + info.methodPrefix(this) + "setAdaptor(" + instance adaptor.instanceScript(info) + ", " + instance years.value + ", " + instance days.value + "); "; } */
org.edgescript.TypeScriptInfo.defineTypeorg.unizone.finance.interest.YieldForwardPrognosis
org.edgescript.TypeScriptInfo.prerequisiteScriptsList{}