use of abs.backend.java.lib.types.ABSString in project abstools by abstools.
the class TestSystemObserver method objectInitialized.
@Override
public void objectInitialized(ObjectView o) {
if (o.getClassName().equals("FieldClass")) {
try {
ABSString s = (ABSString) o.getFieldValue("field");
System.out.println("FIELD VALUE=" + s.getString());
} catch (NoSuchFieldException e) {
e.printStackTrace();
}
}
}
use of abs.backend.java.lib.types.ABSString in project abstools by abstools.
the class Delta method setupMetaAPI.
/*
* Define the methods of this class
*/
public static void setupMetaAPI() {
thisClass.setName("Delta");
thisClass.addMethod(/*ABSString*/
"getName", new ABSClosure() {
@Override
public ABSString exec(ABSDynamicObject t, ABSValue... params) {
ABSDynamicDelta delta = (ABSDynamicDelta) t;
return ABSString.fromString(delta.getName());
}
});
thisClass.addMethod(/*ABSUnit*/
"apply", new ABSClosure() {
@Override
public ABSValue exec(ABSDynamicObject t, ABSValue... params) {
ABSDynamicDelta delta = (ABSDynamicDelta) t;
delta.apply();
return ABSUnit.UNIT;
}
});
}
use of abs.backend.java.lib.types.ABSString in project abstools by abstools.
the class Feature method setupMetaAPI.
/*
* Define the methods of this class
*/
public static void setupMetaAPI() {
thisClass.setName("Feature");
thisClass.addMethod(/*ABSString*/
"getName", new ABSClosure() {
@Override
public ABSString exec(ABSDynamicObject t, ABSValue... params) {
ABSDynamicFeature f = (ABSDynamicFeature) t;
return ABSString.fromString(f.getName());
}
});
thisClass.addMethod(/*ABSString*/
"getAttributes", new ABSClosure() {
@Override
public ABSString exec(ABSDynamicObject t, ABSValue... params) {
ABSDynamicFeature f = (ABSDynamicFeature) t;
// TODO
return ABSString.fromString("Not Implemented Yet");
}
});
}
use of abs.backend.java.lib.types.ABSString in project abstools by abstools.
the class Product method setupMetaAPI.
/*
* Define the methods of this class
*/
public static void setupMetaAPI() {
thisClass.setName("Product");
/*
* MetaABS Product API -- cf. abslang.abs module ABS.Meta
*/
thisClass.addMethod(/*ABSString*/
"getName", new ABSClosure() {
@Override
public ABSString exec(ABSDynamicObject t, ABSValue... params) {
ABSDynamicProduct thisP = (ABSDynamicProduct) t;
return ABSString.fromString(thisP.getName());
}
});
thisClass.addMethod(/*List<ABSDynamicFeature>*/
"getFeatures", new ABSClosure() {
@Override
public ABSValue exec(ABSDynamicObject t, ABSValue... params) {
ABSDynamicProduct thisP = (ABSDynamicProduct) t;
ArrayList<ABSDynamicFeature> features = new ArrayList<>();
for (ABSDynamicFeature f : thisP.getFeatures()) {
features.add(f);
}
return ListUtils.toABSList(features);
}
});
thisClass.addMethod(/*Set<ABSDynamicProduct>*/
"getConfigurableProducts", new ABSClosure() {
@Override
public ABSValue exec(ABSDynamicObject t, ABSValue... params) {
ABSDynamicProduct thisP = (ABSDynamicProduct) t;
return ListUtils.toABSSet(thisP.getConfigurableProducts());
}
});
thisClass.addMethod(/*ABSDynamicReconfiguration*/
"getReconfiguration", new ABSClosure() {
@Override
public ABSDynamicReconfiguration exec(ABSDynamicObject t, ABSValue... params) {
ABSDynamicProduct thisP = (ABSDynamicProduct) t;
ABSDynamicProduct targetP = (ABSDynamicProduct) params[0];
return thisP.getReconfiguration(targetP);
}
});
}
Aggregations