use of org.whole.lang.bindings.IBindingManager in project whole by wholeplatform.
the class GenOperationsDeployer method deploy.
public void deploy(ReflectionFactory platform) {
// from java (legacy)
platform.addOperationFactory(JavaLanguageKit.URI, JavaCompilerOperation.ID, new IVisitorFactory() {
public IVisitor create(IOperation operation, int stage) {
if (stage == 0)
return new JavaJavaModelGeneratorVisitor();
else
return new JavaJavaStoreGeneratorVisitor(((JavaCompilerOperation) operation).getGenerator().javaStoreBuilder(), true);
}
});
// from artifacts (core)
platform.addOperationFactory(ArtifactsLanguageKit.URI, JavaCompilerOperation.ID, new IVisitorFactory() {
public IVisitor create(IOperation operation, int stage) {
if (stage == 0)
return new ArtifactsJavaModelGeneratorVisitor();
else
return new ArtifactsJavaStoreGeneratorVisitor(((JavaCompilerOperation) operation).getGenerator().javaStoreBuilder(), true);
}
});
platform.addOperationFactory(ArtifactsLanguageKit.URI, ArtifactsGeneratorOperation.ID, new IVisitorFactory() {
public IVisitor create(IOperation operation, int stage) {
// if (stage == 0)
IBindingManager args = operation.getOperationEnvironment();
if (args.wIsSet("resourceKind") && ResourceKindEnum.FILE_SYSTEM.equals(((ResourceKind) args.wGet("resourceKind")).getValue()))
return new ResourceArtifactsGeneratorVisitor();
else
return new WorkspaceArtifactsGeneratorVisitor();
}
});
// from editors (core)
// platform.addOperationFactory(EditorsLanguageKit.URI, JavaCompilerOperation.ID,
// new IVisitorFactory() {
// public IVisitor create(IOperation operation, int stage) {
// if (stage == 0)
// return new EditorsJavaModelGeneratorVisitor();
// else
// return new EditorsJavaStoreGeneratorVisitor(((JavaCompilerOperation) operation).getGenerator().javaStoreBuilder(), true);
// }
// });
// misc (core)
platform.addOperationFactory(MiscLanguageKit.URI, JavaCompilerOperation.ID, new IVisitorFactory() {
public IVisitor create(IOperation operation, int stage) {
if (stage == 0)
return new MiscTraverseAllVisitor();
else
return new MiscJavaStoreGeneratorVisitor(((JavaCompilerOperation) operation).getGenerator().javaStoreBuilder(), true);
}
});
// from models (core)
platform.addOperationFactory(ModelsLanguageKit.URI, JavaCompilerOperation.ID, new IVisitorFactory() {
public IVisitor create(IOperation operation, int stage) {
if (stage == 0)
return new ModelsJavaModelGeneratorVisitor();
else
return new ModelsJavaStoreGeneratorVisitor(((JavaCompilerOperation) operation).getGenerator().javaStoreBuilder(), true);
}
});
platform.addOperationFactory(GrammarsLanguageKit.URI, JavaCompilerOperation.ID, new IVisitorFactory() {
public IVisitor create(IOperation operation, int stage) {
return new GrammarsJavaModelGeneratorVisitor();
}
});
// from pojo (core.op)
platform.addOperationFactory(PojoLanguageKit.URI, JavaCompilerOperation.ID, new IVisitorFactory() {
public IVisitor create(IOperation operation, int stage) {
if (stage == 0)
return new PojoJavaModelGeneratorVisitor();
else
return new PojoJavaStoreGeneratorVisitor(((JavaCompilerOperation) operation).getGenerator().javaStoreBuilder(), true);
}
});
}
use of org.whole.lang.bindings.IBindingManager in project whole by wholeplatform.
the class PNGImageFileTransferDragSourceListener method createFile.
protected File createFile(IEntityPart entityPart) throws Exception {
Image image = WholeNonResizableEditPolicy.createFeedbackImage((IGraphicalEntityPart) entityPart, 255, false, FitToMemoryStrategy.instance());
ImageData imageData = image.getImageData();
String fileName = ClipboardUtils.DEFAULT_OUTPUT_FILENAME;
if (getViewer() instanceof IEntityPartViewer) {
IBindingManager bm = ((IEntityPartViewer) getViewer()).getContextBindings();
if (bm.wIsSet("fileName"))
fileName = bm.wStringValue("fileName");
}
File file = ClipboardUtils.createTempImageFile(fileName, imageData, ClipboardUtils.DEFAULT_OUTPUT_DPI);
image.dispose();
return file;
}
use of org.whole.lang.bindings.IBindingManager in project whole by wholeplatform.
the class IEntityIterator method evaluateRemaining.
public default E evaluateRemaining() {
E result = null;
IBindingManager bm = getBindings();
ITransactionScope resettableScope = BindingManagerFactory.instance.createTransactionScope();
bm.wEnterScope(resettableScope);
try {
while (hasNext()) {
bm.setResult(result = next());
resettableScope.commit();
}
} finally {
resettableScope.rollback();
bm.wExitScope();
}
return result;
}
use of org.whole.lang.bindings.IBindingManager in project whole by wholeplatform.
the class AbstractSingleValuedRunnableIterator method getResult.
@SuppressWarnings("unchecked")
protected E getResult() {
if (!isExecuted) {
isExecuted = true;
IBindingManager bm = getBindings();
bm.setResult(null);
getBindings().wEnterScope(lookaheadScope(), true);
run(selfEntity, bm);
result = (E) bm.getResult();
getBindings().wExitScope();
}
return result;
}
use of org.whole.lang.bindings.IBindingManager in project whole by wholeplatform.
the class CompoundResourceRegistry method getFunctionCode.
@SuppressWarnings("unchecked")
public <B extends ICloneable> B getFunctionCode(String functionUri, boolean loadOnDemand, IBindingManager bm) {
ICloneable functionCode = uriCodeMap.get(functionUri);
if (functionCode == null) {
IEntity functionModel = getFunctionModel(functionUri, loadOnDemand, bm);
functionCode = uriCodeMap.get(functionUri);
if (functionModel != null && functionCode == null) {
IBindingManager args = BindingManagerFactory.instance.createArguments();
DynamicCompilerOperation.compile(functionModel, args);
functionCode = uriCodeMap.get(functionUri);
}
}
if (functionCode == null)
// TODO should be configurable
functionCode = IteratorFactory.emptyIterator();
return (B) functionCode.clone();
}
Aggregations