
edu.stanford.protege.webprotege.frame.GetDataPropertyFrameActionHandler Maven / Gradle / Ivy
The newest version!
package edu.stanford.protege.webprotege.frame;
import edu.stanford.protege.webprotege.access.AccessManager;
import edu.stanford.protege.webprotege.access.BuiltInAction;
import edu.stanford.protege.webprotege.dispatch.AbstractProjectActionHandler;
import edu.stanford.protege.webprotege.frame.translator.DataPropertyFrameTranslator;
import edu.stanford.protege.webprotege.ipc.ExecutionContext;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.inject.Inject;
import javax.inject.Provider;
import static edu.stanford.protege.webprotege.access.BuiltInAction.VIEW_CHANGES;
/**
* Author: Matthew Horridge
* Stanford University
* Bio-Medical Informatics Research Group
* Date: 23/04/2013
*/
public class GetDataPropertyFrameActionHandler extends AbstractProjectActionHandler {
@Nonnull
private final Provider translatorProvider;
@Nonnull
private final PlainFrameRenderer plainFrameRenderer;
@Inject
public GetDataPropertyFrameActionHandler(@Nonnull AccessManager accessManager,
@Nonnull Provider translatorProvider,
@Nonnull PlainFrameRenderer plainFrameRenderer) {
super(accessManager);
this.translatorProvider = translatorProvider;
this.plainFrameRenderer = plainFrameRenderer;
}
@Nullable
@Override
protected BuiltInAction getRequiredExecutableBuiltInAction(GetDataPropertyFrameAction action) {
return VIEW_CHANGES;
}
@Nonnull
@Override
public GetDataPropertyFrameResult execute(@Nonnull GetDataPropertyFrameAction action, @Nonnull ExecutionContext executionContext) {
var translator = translatorProvider.get();
var plainFrame = translator.getFrame(action.subject());
var renderedFrame = plainFrameRenderer.toDataPropertyFrame(plainFrame);
return new GetDataPropertyFrameResult(renderedFrame);
}
@Nonnull
@Override
public Class getActionClass() {
return GetDataPropertyFrameAction.class;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy