X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fsbp%2Fbind%2FBindable.java;h=e3ee82f9615c0148ce6f913d012e27e5f102a3ee;hb=6ff6d681e214e91ca3fa5afdff60a0fb88227404;hp=ddd624267cef3ced8ce9dc41be20177f28758433;hpb=a7ed3694a03bf9fe30e3274775c0646554e99bd4;p=sbp.git diff --git a/src/edu/berkeley/sbp/bind/Bindable.java b/src/edu/berkeley/sbp/bind/Bindable.java index ddd6242..e3ee82f 100644 --- a/src/edu/berkeley/sbp/bind/Bindable.java +++ b/src/edu/berkeley/sbp/bind/Bindable.java @@ -1,3 +1,5 @@ +// Copyright 2006 all rights reserved; see LICENSE file for BSD-style license + package edu.berkeley.sbp.bind; import edu.berkeley.sbp.util.*; @@ -22,6 +24,11 @@ public abstract class Bindable implements ToJava { public abstract String[] getArgNames(); public abstract Class[] getArgTypes(); + public Binding createBinding() { return new SimpleBinding(); } + public Binding createBinding(final int[] map) { return new SimpleBinding(map); } + public Binding createBinding(final int[] map, Object prepend) { return new SimpleBinding(map, prepend); } + + public static Bindable create(Object o) { if (o instanceof Class) return new BindableClass((Class)o); if (o instanceof Method) return new BindableMethod((Method)o); @@ -29,17 +36,7 @@ public abstract class Bindable implements ToJava { return null; } - public Binding createBinding(final int[] map) { - return new Binding() { - public Object invoke(Object[] o) { - int max = 0; - for(int i=0; i