Class EObjectNodeProcessor<T extends EObject>
java.lang.Object
org.nasdanika.html.model.app.graph.emf.EObjectNodeProcessor<T>
- All Implemented Interfaces:
org.nasdanika.common.EStructuralFeatureAndEOperationMatcher,WidgetFactory
public class EObjectNodeProcessor<T extends EObject>
extends Object
implements WidgetFactory, org.nasdanika.common.EStructuralFeatureAndEOperationMatcher
Base class for node processors.
Groups connections by reference, creates a consumer per reference (builder), chains the labels supplier with the consumers.
- Author:
- Pavel
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.nasdanika.html.model.app.graph.WidgetFactory
WidgetFactory.ConnectionSelector<T>, WidgetFactory.Selector<T> -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Map<org.nasdanika.graph.emf.EObjectNode,org.nasdanika.graph.processor.ProcessorInfo<Object>> protected org.nasdanika.graph.processor.NodeProcessorConfig<WidgetFactory,WidgetFactory> protected org.nasdanika.common.Contextprotected List<WidgetFactory>Facets are used to provide support for multiple inheritance.static final intIcons size for UI generation - jsTree displays icons up to 24x24 pixels, leaving 4 pixes for paddingprotected Map<org.nasdanika.graph.emf.EOperationConnection,WidgetFactory> protected Map<org.nasdanika.graph.emf.EReferenceConnection,WidgetFactory> protected org.nasdanika.graph.emf.EObjectNodeprotected Map<org.nasdanika.graph.emf.EOperationConnection,WidgetFactory> protected Map<org.nasdanika.graph.emf.EReferenceConnection,WidgetFactory> protected ConnectionProcessorprotected Function<org.nasdanika.common.ProgressMonitor,org.nasdanika.html.model.app.Action> static WidgetFactory.Selector<EObjectNodeProcessor<?>>static WidgetFactory.Selector<EObject>protected URIFields inherited from interface org.nasdanika.common.EStructuralFeatureAndEOperationMatcher
INSTANCE -
Constructor Summary
ConstructorsConstructorDescriptionEObjectNodeProcessor(org.nasdanika.graph.processor.NodeProcessorConfig<WidgetFactory, WidgetFactory> config, org.nasdanika.common.Context context, Function<org.nasdanika.common.ProgressMonitor, org.nasdanika.html.model.app.Action> prototypeProvider) -
Method Summary
Modifier and TypeMethodDescriptionprotected static voidaddContent(org.nasdanika.html.model.app.Action action, String content) Adds textual content.protected voidaddReferenceChildren(EReference eReference, Collection<org.nasdanika.html.model.app.Label> labels, Map<org.nasdanika.graph.emf.EReferenceConnection, Collection<org.nasdanika.html.model.app.Label>> outgoingLabels, org.nasdanika.common.ProgressMonitor progressMonitor) protected voidbuildIncomingOperation(EOperation eOperation, List<Object> arguments, List<Map.Entry<org.nasdanika.graph.emf.EOperationConnection, WidgetFactory>> operationIncomingEndpoints, Collection<org.nasdanika.html.model.app.Label> labels, Map<org.nasdanika.graph.emf.EOperationConnection, Collection<org.nasdanika.html.model.app.Label>> incomingLabels, org.nasdanika.common.ProgressMonitor progressMonitor) Called by builder/consumer's execute();protected voidbuildIncomingReference(EReference eReference, List<Map.Entry<org.nasdanika.graph.emf.EReferenceConnection, WidgetFactory>> referenceIncomingEndpoints, Collection<org.nasdanika.html.model.app.Label> labels, Map<org.nasdanika.graph.emf.EReferenceConnection, Collection<org.nasdanika.html.model.app.Label>> incomingLabels, org.nasdanika.common.ProgressMonitor progressMonitor) Called by builder/consumer's execute();protected voidbuildOutgoingOperation(EOperation eOperation, List<Object> arguments, List<Map.Entry<org.nasdanika.graph.emf.EOperationConnection, WidgetFactory>> operationOutgoingEndpoints, Collection<org.nasdanika.html.model.app.Label> labels, Map<org.nasdanika.graph.emf.EOperationConnection, Collection<org.nasdanika.html.model.app.Label>> outgoingLabels, org.nasdanika.common.ProgressMonitor progressMonitor) Called by builder/consumer's execute();protected voidbuildOutgoingReference(EReference eReference, List<Map.Entry<org.nasdanika.graph.emf.EReferenceConnection, WidgetFactory>> referenceOutgoingEndpoints, Collection<org.nasdanika.html.model.app.Label> labels, Map<org.nasdanika.graph.emf.EReferenceConnection, Collection<org.nasdanika.html.model.app.Label>> outgoingLabels, org.nasdanika.common.ProgressMonitor progressMonitor) Called by builder/consumer's execute();protected intcompareElements(Map.Entry<org.nasdanika.graph.emf.EReferenceConnection, Collection<org.nasdanika.html.model.app.Label>> a, Map.Entry<org.nasdanika.graph.emf.EReferenceConnection, Collection<org.nasdanika.html.model.app.Label>> b) Convenience method for sorting reference elements by name if they are named elementsprotected intcompareIncomingOperations(EOperation aOp, List<Object> aArgs, EOperation bOp, List<Object> bArgs) Comparator for operation binding sortingprotected intComparator for reference sortingprotected intcompareOutgoingOperations(EOperation aOp, List<Object> aArgs, EOperation bOp, List<Object> bArgs) Comparator for operator binding sortingprotected intComparator for reference sortingprotected voidconfigureHelpModal(org.nasdanika.html.model.bootstrap.Modal helpModal) Override to configure the modal.voidconfigureLabel(Object source, org.nasdanika.html.model.app.Label label, org.nasdanika.common.ProgressMonitor progressMonitor) Configures label.protected org.nasdanika.html.model.app.ActioncreateAction(EObject eObject, org.nasdanika.common.ProgressMonitor progressMonitor) Creates and configures an action for eObject.protected org.nasdanika.html.model.app.LabelcreateAction(org.nasdanika.common.ProgressMonitor progressMonitor) Creates action for the node.protected Collection<EObject>createHelpContents(URI base, org.nasdanika.common.ProgressMonitor progressMonitor) static org.nasdanika.html.model.app.LabelcreateHelpDecorator(String tooltip, String location, String title, String icon, String contents, Consumer<org.nasdanika.html.model.bootstrap.Modal> modalConfigurator) static org.nasdanika.html.model.app.LabelcreateHelpDecorator(String tooltip, String location, String title, String icon, Collection<EObject> contents, Consumer<org.nasdanika.html.model.bootstrap.Modal> modalConfigurator) Convenience method for creating help decorators.org.nasdanika.html.model.app.LabelcreateHelpDecorator(URI base, org.nasdanika.common.ProgressMonitor progressMonitor) Creates a help decorator with URL's deresolved (relativized) against the provided base URI.protected org.nasdanika.common.Consumer<org.nasdanika.common.Supplier.FunctionResult<Collection<org.nasdanika.html.model.app.Label>,Map<org.nasdanika.graph.emf.EOperationConnection, Collection<org.nasdanika.html.model.app.Label>>>> createIncomingOperationLabelBuilder(EOperation eOperation, List<Object> arguments, List<Map.Entry<org.nasdanika.graph.emf.EOperationConnection, WidgetFactory>> operationIncomingEndpoints) Builds target labelsprotected org.nasdanika.common.Consumer<Collection<org.nasdanika.html.model.app.Label>>createIncomingOperationLabelConsumer(EOperation eOperation, List<Object> arguments, List<Map.Entry<org.nasdanika.graph.emf.EOperationConnection, WidgetFactory>> operationIncomingEndpoints) protected org.nasdanika.common.Consumer<org.nasdanika.common.Supplier.FunctionResult<Collection<org.nasdanika.html.model.app.Label>,Map<org.nasdanika.graph.emf.EReferenceConnection, Collection<org.nasdanika.html.model.app.Label>>>> createIncomingReferenceLabelBuilder(EReference eReference, List<Map.Entry<org.nasdanika.graph.emf.EReferenceConnection, WidgetFactory>> referenceIncomingEndpoints) Builds target labelsprotected org.nasdanika.common.Consumer<Collection<org.nasdanika.html.model.app.Label>>createIncomingReferenceLabelConsumer(EReference eReference, List<Map.Entry<org.nasdanika.graph.emf.EReferenceConnection, WidgetFactory>> referenceIncomingEndpoints) protected org.nasdanika.html.model.app.LabelcreateLabel(EObject eObject, org.nasdanika.common.ProgressMonitor progressMonitor) Creates and configures a label for eObject.createLabel(org.nasdanika.common.ProgressMonitor progressMonitor) Creates a "label" which is an HTML/text representation of something which does not navigate to that something.protected Collection<org.nasdanika.html.model.app.Label>createLabels(org.nasdanika.common.ProgressMonitor progressMonitor) org.nasdanika.common.Supplier<Collection<org.nasdanika.html.model.app.Label>>createLabelString(org.nasdanika.common.ProgressMonitor progressMonitor) Creates a string (HTML text) representation of "label".createLink(URI base, org.nasdanika.common.ProgressMonitor progressMonitor) Creates a link with URL's deresolved (relativized) against the provided base URI.protected org.nasdanika.html.model.app.LinkcreateLink(EObject eObject, String path, org.nasdanika.common.ProgressMonitor progressMonitor) Creates and configures a link for eObject.createLinkString(URI base, org.nasdanika.common.ProgressMonitor progressMonitor) Link rendered to Stringorg.nasdanika.html.model.app.LabelcreateMarkdownHelpDecorator(String tooltip, String location, String title, String icon, String markdown, Consumer<org.nasdanika.html.model.bootstrap.Modal> modalConfigurator) protected org.nasdanika.common.Consumer<org.nasdanika.common.Supplier.FunctionResult<Collection<org.nasdanika.html.model.app.Label>,Map<org.nasdanika.graph.emf.EOperationConnection, Collection<org.nasdanika.html.model.app.Label>>>> createOutgoingOperationLabelBuilder(EOperation eOperation, List<Object> arguments, List<Map.Entry<org.nasdanika.graph.emf.EOperationConnection, WidgetFactory>> operationOutgoingEndpoints) Builds target labelsprotected org.nasdanika.common.Consumer<Collection<org.nasdanika.html.model.app.Label>>createOutgoingOperationLabelConsumer(EOperation eOperation, List<Object> arguments, List<Map.Entry<org.nasdanika.graph.emf.EOperationConnection, WidgetFactory>> operationOutgoingEndpoints) protected org.nasdanika.common.Consumer<org.nasdanika.common.Supplier.FunctionResult<Collection<org.nasdanika.html.model.app.Label>,Map<org.nasdanika.graph.emf.EReferenceConnection, Collection<org.nasdanika.html.model.app.Label>>>> createOutgoingReferenceLabelBuilder(EReference eReference, List<Map.Entry<org.nasdanika.graph.emf.EReferenceConnection, WidgetFactory>> referenceOutgoingEndpoints) Builds target labelsprotected org.nasdanika.common.Consumer<Collection<org.nasdanika.html.model.app.Label>>createOutgoingReferenceLabelConsumer(EReference eReference, List<Map.Entry<org.nasdanika.graph.emf.EReferenceConnection, WidgetFactory>> referenceOutgoingEndpoints) static org.nasdanika.exec.content.TextcreateText(String content) Convenience method to create Text and set content in one shot.protected org.nasdanika.common.Supplier<Collection<org.nasdanika.html.model.app.Label>>org.nasdanika.graph.processor.NodeProcessorConfig<WidgetFactory,WidgetFactory> org.nasdanika.common.Contextprotected intIcon size to scale image representations tointgetId()Generated unique ID for grouping and comparing/ordering.protected StringgetImageRepresentationIcon(String imageRepr) Converts image representation to an icon ifgetIncomingHandler(org.nasdanika.graph.Connection connection) protected StringgetName(org.nasdanika.ncore.NamedElement namedElement) Override to customize name, e.g.org.nasdanika.graph.emf.EObjectNodegetNode()protected List<org.nasdanika.common.Consumer<Collection<org.nasdanika.html.model.app.Label>>>getOutgoingHandler(org.nasdanika.graph.Connection connection) protected List<org.nasdanika.common.Consumer<Collection<org.nasdanika.html.model.app.Label>>>getUri()protected org.nasdanika.exec.content.MarkdowninterpolatedMarkdown(String markdown, URI location, org.nasdanika.common.ProgressMonitor progressMonitor) protected booleanisCallIncomingOperationLabelsSuppliers(EOperation eOperation, List<Object> arguments) protected booleanisCallIncomingReferenceLabelsSuppliers(EReference eReference) protected booleanisCallOutgoingOperationLabelsSuppliers(EOperation eOperation, List<Object> arguments) protected booleanisCallOutgoingReferenceLabelsSuppliers(EReference eReference) protected booleanThis implementation returns true.protected org.nasdanika.html.model.app.ActionCreates a new action using a factory.protected StringvoidUsed to establish node URI's.protected StringrewriteImageRepresentation(String imageRepr) This implementation returns the argumet.selectString(Object selector, URI base, org.nasdanika.common.ProgressMonitor progressMonitor) voidsetChildProcessors(Map<org.nasdanika.graph.emf.EObjectNode, org.nasdanika.graph.processor.ProcessorInfo<Object>> childProcessors) final voidsetEClassEndpoint(org.nasdanika.graph.emf.EClassConnection connection, WidgetFactory eClassWidgetFactory) voidsetIncomingRefernceEndpoint(org.nasdanika.graph.emf.EReferenceConnection connection, WidgetFactory endpoint) voidsetIncominOperationgEndpoint(org.nasdanika.graph.emf.EOperationConnection connection, WidgetFactory endpoint) voidsetNode(org.nasdanika.graph.emf.EObjectNode node) voidsetOutgoingOperationEndpoint(org.nasdanika.graph.emf.EOperationConnection connection, WidgetFactory endpoint) voidsetOutgoingRefernceEndpoint(org.nasdanika.graph.emf.EReferenceConnection connection, WidgetFactory endpoint) voidsetParentProcessor(ConnectionProcessor parentProcessor) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.nasdanika.common.EStructuralFeatureAndEOperationMatcher
getEClass, getEPackage, matchEOperation, matchEStructuralFeatureMethods inherited from interface org.nasdanika.html.model.app.graph.WidgetFactory
createHelpDecorator, createLink, createLinkString, select, select, select, select, selectString
-
Field Details
-
ICON_SIZE
Icons size for UI generation - jsTree displays icons up to 24x24 pixels, leaving 4 pixes for padding- See Also:
-
TARGET_SELECTOR
-
SELF_SELECTOR
-
prototypeProvider
protected Function<org.nasdanika.common.ProgressMonitor,org.nasdanika.html.model.app.Action> prototypeProvider -
config
-
context
-
uri
-
facets
Facets are used to provide support for multiple inheritance. For example,EClassC has EClasses A and B as supertypes. EClass C node processor would extend class A node processor and have class B node processor as a facet delegating to it. -
childProcessors
protected Map<org.nasdanika.graph.emf.EObjectNode,org.nasdanika.graph.processor.ProcessorInfo<Object>> childProcessors -
parentProcessor
-
node
-
incomingReferenceEndpoints
protected Map<org.nasdanika.graph.emf.EReferenceConnection,WidgetFactory> incomingReferenceEndpoints -
outgoingReferenceEndpoints
protected Map<org.nasdanika.graph.emf.EReferenceConnection,WidgetFactory> outgoingReferenceEndpoints -
incomingOperationEndpoints
protected Map<org.nasdanika.graph.emf.EOperationConnection,WidgetFactory> incomingOperationEndpoints -
outgoingOperationEndpoints
protected Map<org.nasdanika.graph.emf.EOperationConnection,WidgetFactory> outgoingOperationEndpoints
-
-
Constructor Details
-
EObjectNodeProcessor
public EObjectNodeProcessor(org.nasdanika.graph.processor.NodeProcessorConfig<WidgetFactory, WidgetFactory> config, org.nasdanika.common.Context context, Function<org.nasdanika.common.ProgressMonitor, org.nasdanika.html.model.app.Action> prototypeProvider)
-
-
Method Details
-
getId
Generated unique ID for grouping and comparing/ordering. E.g. deciding which processor of two is responsible for combining opposite references (Ecore level and Nasdanika level) or grouping all cross-references into one for graph generation.- Returns:
-
getUri
-
setChildProcessors
public void setChildProcessors(Map<org.nasdanika.graph.emf.EObjectNode, org.nasdanika.graph.processor.ProcessorInfo<Object>> childProcessors) -
setParentProcessor
-
setNode
-
getNode
-
getConfig
-
getContext
-
getTarget
-
setIncomingRefernceEndpoint
public void setIncomingRefernceEndpoint(org.nasdanika.graph.emf.EReferenceConnection connection, WidgetFactory endpoint) -
setOutgoingRefernceEndpoint
public void setOutgoingRefernceEndpoint(org.nasdanika.graph.emf.EReferenceConnection connection, WidgetFactory endpoint) -
setIncominOperationgEndpoint
public void setIncominOperationgEndpoint(org.nasdanika.graph.emf.EOperationConnection connection, WidgetFactory endpoint) -
setOutgoingOperationEndpoint
public void setOutgoingOperationEndpoint(org.nasdanika.graph.emf.EOperationConnection connection, WidgetFactory endpoint) -
getIncomingHandler
-
getOutgoingHandler
-
createLabels
protected Collection<org.nasdanika.html.model.app.Label> createLabels(org.nasdanika.common.ProgressMonitor progressMonitor) -
createAction
protected org.nasdanika.html.model.app.Label createAction(org.nasdanika.common.ProgressMonitor progressMonitor) Creates action for the node.- Parameters:
progressMonitor-- Returns:
-
getImageRepresentationIcon
Converts image representation to an icon if- Parameters:
action-imageRepr-
-
rewriteImageRepresentation
This implementation returns the argumet. Override to rewrite URL's before conversion to icons. For example, read representations from a file system and convert to data URL's.- Parameters:
imageRepr-- Returns:
-
isScaleImageRepresentationToIcon
This implementation returns true. Override to suppress scaling of image representations to icons.- Returns:
-
getIconSize
Icon size to scale image representations to- Returns:
-
getRepresentations
-
doCreateLabelsSupplier
protected org.nasdanika.common.Supplier<Collection<org.nasdanika.html.model.app.Label>> doCreateLabelsSupplier()- Returns:
- Supplier of labels with object's own information, without references. Reference-related information is added by reference consumers/builders.
-
compareIncomingReferences
Comparator for reference sorting- Parameters:
a-b-- Returns:
-
compareOutgoingReferences
Comparator for reference sorting- Parameters:
a-b-- Returns:
-
compareIncomingOperations
protected int compareIncomingOperations(EOperation aOp, List<Object> aArgs, EOperation bOp, List<Object> bArgs) Comparator for operation binding sorting- Returns:
-
compareOutgoingOperations
protected int compareOutgoingOperations(EOperation aOp, List<Object> aArgs, EOperation bOp, List<Object> bArgs) Comparator for operator binding sorting- Returns:
-
getReferenceLabelBuilders
protected List<org.nasdanika.common.Consumer<Collection<org.nasdanika.html.model.app.Label>>> getReferenceLabelBuilders() -
getOperationLabelBuilders
protected List<org.nasdanika.common.Consumer<Collection<org.nasdanika.html.model.app.Label>>> getOperationLabelBuilders() -
isCallIncomingReferenceLabelsSuppliers
- Parameters:
eReference-- Returns:
- true if lables suppliers shall be called to create labels/actions. This implementation returns false.
-
isCallOutgoingReferenceLabelsSuppliers
- Parameters:
eReference-- Returns:
- true if lables suppliers shall be called to create labels/actions. This implementation returns true for containment references, i.e. actions for child objects shall be created.
-
isCallIncomingOperationLabelsSuppliers
protected boolean isCallIncomingOperationLabelsSuppliers(EOperation eOperation, List<Object> arguments) - Parameters:
eOperation-- Returns:
- true if lables suppliers shall be called to create labels/actions. This implementation returns false.
-
isCallOutgoingOperationLabelsSuppliers
protected boolean isCallOutgoingOperationLabelsSuppliers(EOperation eOperation, List<Object> arguments) - Parameters:
eOperation-- Returns:
- true if lables suppliers shall be called to create labels/actions. This implementation returns false.
-
createIncomingReferenceLabelConsumer
protected org.nasdanika.common.Consumer<Collection<org.nasdanika.html.model.app.Label>> createIncomingReferenceLabelConsumer(EReference eReference, List<Map.Entry<org.nasdanika.graph.emf.EReferenceConnection, WidgetFactory>> referenceIncomingEndpoints) - Returns:
-
createIncomingReferenceLabelBuilder
protected org.nasdanika.common.Consumer<org.nasdanika.common.Supplier.FunctionResult<Collection<org.nasdanika.html.model.app.Label>,Map<org.nasdanika.graph.emf.EReferenceConnection, createIncomingReferenceLabelBuilderCollection<org.nasdanika.html.model.app.Label>>>> (EReference eReference, List<Map.Entry<org.nasdanika.graph.emf.EReferenceConnection, WidgetFactory>> referenceIncomingEndpoints) Builds target labels- Parameters:
eReference-- Returns:
-
buildIncomingReference
protected void buildIncomingReference(EReference eReference, List<Map.Entry<org.nasdanika.graph.emf.EReferenceConnection, WidgetFactory>> referenceIncomingEndpoints, Collection<org.nasdanika.html.model.app.Label> labels, Map<org.nasdanika.graph.emf.EReferenceConnection, Collection<org.nasdanika.html.model.app.Label>> incomingLabels, org.nasdanika.common.ProgressMonitor progressMonitor) Called by builder/consumer's execute();- Parameters:
eReference-referenceIncomingEndpoints-labels-incomingLabels-progressMonitor-
-
createIncomingOperationLabelConsumer
protected org.nasdanika.common.Consumer<Collection<org.nasdanika.html.model.app.Label>> createIncomingOperationLabelConsumer(EOperation eOperation, List<Object> arguments, List<Map.Entry<org.nasdanika.graph.emf.EOperationConnection, WidgetFactory>> operationIncomingEndpoints) - Returns:
-
createIncomingOperationLabelBuilder
protected org.nasdanika.common.Consumer<org.nasdanika.common.Supplier.FunctionResult<Collection<org.nasdanika.html.model.app.Label>,Map<org.nasdanika.graph.emf.EOperationConnection, createIncomingOperationLabelBuilderCollection<org.nasdanika.html.model.app.Label>>>> (EOperation eOperation, List<Object> arguments, List<Map.Entry<org.nasdanika.graph.emf.EOperationConnection, WidgetFactory>> operationIncomingEndpoints) Builds target labels- Parameters:
eReference-- Returns:
-
buildIncomingOperation
protected void buildIncomingOperation(EOperation eOperation, List<Object> arguments, List<Map.Entry<org.nasdanika.graph.emf.EOperationConnection, WidgetFactory>> operationIncomingEndpoints, Collection<org.nasdanika.html.model.app.Label> labels, Map<org.nasdanika.graph.emf.EOperationConnection, Collection<org.nasdanika.html.model.app.Label>> incomingLabels, org.nasdanika.common.ProgressMonitor progressMonitor) Called by builder/consumer's execute(); -
createOutgoingOperationLabelConsumer
protected org.nasdanika.common.Consumer<Collection<org.nasdanika.html.model.app.Label>> createOutgoingOperationLabelConsumer(EOperation eOperation, List<Object> arguments, List<Map.Entry<org.nasdanika.graph.emf.EOperationConnection, WidgetFactory>> operationOutgoingEndpoints) - Returns:
-
createOutgoingOperationLabelBuilder
protected org.nasdanika.common.Consumer<org.nasdanika.common.Supplier.FunctionResult<Collection<org.nasdanika.html.model.app.Label>,Map<org.nasdanika.graph.emf.EOperationConnection, createOutgoingOperationLabelBuilderCollection<org.nasdanika.html.model.app.Label>>>> (EOperation eOperation, List<Object> arguments, List<Map.Entry<org.nasdanika.graph.emf.EOperationConnection, WidgetFactory>> operationOutgoingEndpoints) Builds target labels- Parameters:
eReference-- Returns:
-
buildOutgoingOperation
protected void buildOutgoingOperation(EOperation eOperation, List<Object> arguments, List<Map.Entry<org.nasdanika.graph.emf.EOperationConnection, WidgetFactory>> operationOutgoingEndpoints, Collection<org.nasdanika.html.model.app.Label> labels, Map<org.nasdanika.graph.emf.EOperationConnection, Collection<org.nasdanika.html.model.app.Label>> outgoingLabels, org.nasdanika.common.ProgressMonitor progressMonitor) Called by builder/consumer's execute(); -
createOutgoingReferenceLabelConsumer
protected org.nasdanika.common.Consumer<Collection<org.nasdanika.html.model.app.Label>> createOutgoingReferenceLabelConsumer(EReference eReference, List<Map.Entry<org.nasdanika.graph.emf.EReferenceConnection, WidgetFactory>> referenceOutgoingEndpoints) - Returns:
-
createOutgoingReferenceLabelBuilder
protected org.nasdanika.common.Consumer<org.nasdanika.common.Supplier.FunctionResult<Collection<org.nasdanika.html.model.app.Label>,Map<org.nasdanika.graph.emf.EReferenceConnection, createOutgoingReferenceLabelBuilderCollection<org.nasdanika.html.model.app.Label>>>> (EReference eReference, List<Map.Entry<org.nasdanika.graph.emf.EReferenceConnection, WidgetFactory>> referenceOutgoingEndpoints) Builds target labels- Parameters:
eReference-- Returns:
-
buildOutgoingReference
protected void buildOutgoingReference(EReference eReference, List<Map.Entry<org.nasdanika.graph.emf.EReferenceConnection, WidgetFactory>> referenceOutgoingEndpoints, Collection<org.nasdanika.html.model.app.Label> labels, Map<org.nasdanika.graph.emf.EReferenceConnection, Collection<org.nasdanika.html.model.app.Label>> outgoingLabels, org.nasdanika.common.ProgressMonitor progressMonitor) Called by builder/consumer's execute();- Parameters:
eReference-referenceOutgoingEndpoints-labels-incomingLabels-progressMonitor-
-
addReferenceChildren
protected void addReferenceChildren(EReference eReference, Collection<org.nasdanika.html.model.app.Label> labels, Map<org.nasdanika.graph.emf.EReferenceConnection, Collection<org.nasdanika.html.model.app.Label>> outgoingLabels, org.nasdanika.common.ProgressMonitor progressMonitor) -
setEClassEndpoint
public final void setEClassEndpoint(org.nasdanika.graph.emf.EClassConnection connection, WidgetFactory eClassWidgetFactory) -
createAction
protected org.nasdanika.html.model.app.Action createAction(EObject eObject, org.nasdanika.common.ProgressMonitor progressMonitor) Creates and configures an action for eObject. Override to create from prototypes.- Parameters:
eObject-- Returns:
-
newAction
protected org.nasdanika.html.model.app.Action newAction(EObject eObject, org.nasdanika.common.ProgressMonitor progressMonitor) Creates a new action using a factory. Override to create from prototypes.- Returns:
-
createLink
protected org.nasdanika.html.model.app.Link createLink(EObject eObject, String path, org.nasdanika.common.ProgressMonitor progressMonitor) Creates and configures a link for eObject. Override to create from prototypes.- Parameters:
eObject-- Returns:
-
createLabel
protected org.nasdanika.html.model.app.Label createLabel(EObject eObject, org.nasdanika.common.ProgressMonitor progressMonitor) Creates and configures a label for eObject. Override to create from prototypes.- Parameters:
eObject-- Returns:
-
configureLabel
public void configureLabel(Object source, org.nasdanika.html.model.app.Label label, org.nasdanika.common.ProgressMonitor progressMonitor) Configures label.- Specified by:
configureLabelin interfaceWidgetFactory- Parameters:
eObject-label-
-
getName
Override to customize name, e.g. replace blank name with some generated name- Parameters:
namedElement-- Returns:
-
render
-
resolve
Description copied from interface:WidgetFactoryUsed to establish node URI's. Propagates caller URI.- Specified by:
resolvein interfaceWidgetFactory
-
selectString
public String selectString(Object selector, URI base, org.nasdanika.common.ProgressMonitor progressMonitor) - Specified by:
selectStringin interfaceWidgetFactory- Returns:
- widget rendered to (HTML) string
-
createLinkString
Description copied from interface:WidgetFactoryLink rendered to String- Specified by:
createLinkStringin interfaceWidgetFactory- Returns:
-
createLink
Description copied from interface:WidgetFactoryCreates a link with URL's deresolved (relativized) against the provided base URI.- Specified by:
createLinkin interfaceWidgetFactory- Parameters:
base- For connections, if not null, is resolved against the calling end URI - source or target, if it is not null. If null, the respective end URI is used as the base.- Returns:
-
configureHelpModal
Override to configure the modal. E.g. center, change size, make scrollable, etc.- Parameters:
helpModal-
-
createHelpDecorator
public static org.nasdanika.html.model.app.Label createHelpDecorator(String tooltip, String location, String title, String icon, Collection<EObject> contents, Consumer<org.nasdanika.html.model.bootstrap.Modal> modalConfigurator) Convenience method for creating help decorators. Returns null if the tooltip, location and contents are blank/empty. If the contents is empty returns a label or a link with a help icon and a tooltip. Otherwise returns a link with a tooltip and a modal. The modal header links to the location if it is not empty.- Parameters:
tooltip- Tooltip to showlocation- If not blanktitle- Modal header texticon-contents-modalConfigurator-- Returns:
-
createHelpDecorator
-
createMarkdownHelpDecorator
-
createHelpContents
protected Collection<EObject> createHelpContents(URI base, org.nasdanika.common.ProgressMonitor progressMonitor) -
createHelpDecorator
public org.nasdanika.html.model.app.Label createHelpDecorator(URI base, org.nasdanika.common.ProgressMonitor progressMonitor) Description copied from interface:WidgetFactoryCreates a help decorator with URL's deresolved (relativized) against the provided base URI. For example, anEObjectNodeProcessorfor an object of type X would call itsEClassConnectionoutgoing connection to create a help decorator. The EClassConnection would in turn call EClassNodeProcessor forEClassX to generate context help decorator.- Specified by:
createHelpDecoratorin interfaceWidgetFactory- Parameters:
base- For connections, if not null, is resolved against the calling end URI - source or target, if it is not null. If null, the respective end URI is used as the base.- Returns:
-
createLabelsSupplier
public org.nasdanika.common.Supplier<Collection<org.nasdanika.html.model.app.Label>> createLabelsSupplier()- Specified by:
createLabelsSupplierin interfaceWidgetFactory
-
createLabelString
Description copied from interface:WidgetFactoryCreates a string (HTML text) representation of "label".- Specified by:
createLabelStringin interfaceWidgetFactory- Returns:
-
createLabel
Description copied from interface:WidgetFactoryCreates a "label" which is an HTML/text representation of something which does not navigate to that something. E.g.Label. Can be composite.- Specified by:
createLabelin interfaceWidgetFactory- Returns:
-
addContent
Adds textual content.- Parameters:
content-
-
createText
Convenience method to create Text and set content in one shot.- Parameters:
content-- Returns:
-
interpolatedMarkdown
protected org.nasdanika.exec.content.Markdown interpolatedMarkdown(String markdown, URI location, org.nasdanika.common.ProgressMonitor progressMonitor) - Parameters:
markdown- Markdown text- Returns:
- Spec for interpolating markdown and then converting to HTML.
-
compareElements
protected int compareElements(Map.Entry<org.nasdanika.graph.emf.EReferenceConnection, Collection<org.nasdanika.html.model.app.Label>> a, Map.Entry<org.nasdanika.graph.emf.EReferenceConnection, Collection<org.nasdanika.html.model.app.Label>> b) Convenience method for sorting reference elements by name if they are named elements- Parameters:
a-b-- Returns:
-