projects
/
sbp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
checkpoint
[sbp.git]
/
src
/
edu
/
berkeley
/
sbp
/
bind
/
Bindable.java
diff --git
a/src/edu/berkeley/sbp/bind/Bindable.java
b/src/edu/berkeley/sbp/bind/Bindable.java
index
0e2da13
..
4a10187
100644
(file)
--- a/
src/edu/berkeley/sbp/bind/Bindable.java
+++ b/
src/edu/berkeley/sbp/bind/Bindable.java
@@
-20,6
+20,7
@@
public abstract class Bindable implements ToJava {
public abstract Annotation[][] getArgAnnotations();
public abstract String[] getArgNames();
public abstract Annotation[][] getArgAnnotations();
public abstract String[] getArgNames();
+ public abstract Class[] getArgTypes();
public static Bindable create(Object o) {
if (o instanceof Class) return new BindableClass((Class)o);
public static Bindable create(Object o) {
if (o instanceof Class) return new BindableClass((Class)o);
@@
-37,6
+38,7
@@
public abstract class Bindable implements ToJava {
public Object impose(Object[] fields) { return Reflection.impose(_method, fields); }
public Annotation[][] getArgAnnotations() { return _method.getParameterAnnotations(); }
public String[] getArgNames() { return new String[_method.getParameterTypes().length]; }
public Object impose(Object[] fields) { return Reflection.impose(_method, fields); }
public Annotation[][] getArgAnnotations() { return _method.getParameterAnnotations(); }
public String[] getArgNames() { return new String[_method.getParameterTypes().length]; }
+ public Class[] getArgTypes() { return _method.getParameterTypes(); }
public void toJava(StringBuffer sb) {
sb.append("Bindable.create(");
sb.append(_method.getDeclaringClass().getName().replace('$','.'));
public void toJava(StringBuffer sb) {
sb.append("Bindable.create(");
sb.append(_method.getDeclaringClass().getName().replace('$','.'));
@@
-57,6
+59,7
@@
public abstract class Bindable implements ToJava {
public Object impose(Object[] fields) { return Reflection.impose(_constructor, fields); }
public Annotation[][] getArgAnnotations() { return _constructor.getParameterAnnotations(); }
public String[] getArgNames() { return new String[_constructor.getParameterTypes().length]; }
public Object impose(Object[] fields) { return Reflection.impose(_constructor, fields); }
public Annotation[][] getArgAnnotations() { return _constructor.getParameterAnnotations(); }
public String[] getArgNames() { return new String[_constructor.getParameterTypes().length]; }
+ public Class[] getArgTypes() { return _constructor.getParameterTypes(); }
public void toJava(StringBuffer sb) {
sb.append("Bindable.create(");
sb.append(_constructor.getDeclaringClass().getName().replace('$','.'));
public void toJava(StringBuffer sb) {
sb.append("Bindable.create(");
sb.append(_constructor.getDeclaringClass().getName().replace('$','.'));
@@
-87,6
+90,13
@@
public abstract class Bindable implements ToJava {
ret[i] = fields[i].getName();
return ret;
}
ret[i] = fields[i].getName();
return ret;
}
+ public Class[] getArgTypes() {
+ Field[] fields = _class.getFields();
+ Class[] ret = new Class[fields.length];
+ for(int i=0; i<fields.length; i++)
+ ret[i] = fields[i].getType();
+ return ret;
+ }
public void toJava(StringBuffer sb) {
sb.append("Bindable.create(");
sb.append(_class.getName().replace('$','.'));
public void toJava(StringBuffer sb) {
sb.append("Bindable.create(");
sb.append(_class.getName().replace('$','.'));