From 30bda0e9023621d5f568ea8fb4cdcaaf468b1ee0 Mon Sep 17 00:00:00 2001 From: Reinhard Pointner Date: Sat, 9 Aug 2014 07:35:22 +0000 Subject: [PATCH] * refactor {model} and {self} bindings --- .../net/filebot/format/MediaBindingBean.java | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/source/net/filebot/format/MediaBindingBean.java b/source/net/filebot/format/MediaBindingBean.java index c48d14a9..1636cd1b 100644 --- a/source/net/filebot/format/MediaBindingBean.java +++ b/source/net/filebot/format/MediaBindingBean.java @@ -777,17 +777,16 @@ public class MediaBindingBean { return di == 0 ? null : di; } + @Define("self") + public AssociativeScriptObject getSelf() { + return createBindingObject(mediaFile, infoObject, context); + } + @Define("model") - public List getContext() { + public List getModel() { List result = new ArrayList(); for (Entry it : context.entrySet()) { - MediaBindingBean mediaBindingBean = new MediaBindingBean(it.getValue(), it.getKey(), context) { - @Define(undefined) - public T undefined(String name) { - return null; // never throw exceptions for empty or null values - } - }; - result.add(new AssociativeScriptObject(new ExpressionBindings(mediaBindingBean))); + result.add(createBindingObject(it.getKey(), it.getValue(), context)); } return result; } @@ -890,6 +889,16 @@ public class MediaBindingBean { return null; } + private AssociativeScriptObject createBindingObject(File file, Object info, Map context) { + MediaBindingBean mediaBindingBean = new MediaBindingBean(info, file, context) { + @Define(undefined) + public T undefined(String name) { + return null; // never throw exceptions for empty or null values + } + }; + return new AssociativeScriptObject(new ExpressionBindings(mediaBindingBean)); + } + private AssociativeScriptObject createMapBindings(Map map) { return new AssociativeScriptObject(map) {