Package com._1c.g5.v8.dt.ql.resource
Class QlDerivedStateComputer
java.lang.Object
com._1c.g5.v8.dt.ql.resource.QlDerivedStateComputer
- All Implemented Interfaces:
org.eclipse.xtext.resource.IDerivedStateComputer
- Direct Known Subclasses:
QlDcsDerivedStateComputer,RightQlDerivedStateComputer
public class QlDerivedStateComputer
extends Object
implements org.eclipse.xtext.resource.IDerivedStateComputer
Implementation
IDerivedStateComputer for Ql language-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classSpecial class for creating lazy proxy for QlclassProvider for name which not allowed as name forDbViewDescriptionTempTable -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcomputeDbView(AbstractQuerySchemaQuery query, org.eclipse.xtext.resource.DerivedStateAwareResource resource) Computes all DbView for onequeryprotected voidCreatesDbViewDescriptionTempTablebyQuerySchemaTableprotected DbViewDefCreates DbView for select querycreateDbViewForEachSource(QuerySchemaSource source, QlDerivedStateComputer.NotAllowedNameForTempTableProvider notAllowedNamesForTempTableProvider, List<DbViewDef> earlierCreatedDbViewSource) Creates DbView for each source in 'from' sectionprotected voidcreateProxyForDbView(org.eclipse.emf.ecore.EObject object) Creates proxy for all elements which haveDbViewElementprotected voidDiscardsDbViewfor each queryprotected voidDiscardsDbViewfor each sourcevoiddiscardDerivedState(org.eclipse.xtext.resource.DerivedStateAwareResource resource) protected AliasComputerGets object for computing aliasprotected Collection<CaseInsensitiveString>getAllDbViewNamesWithSinglePart(org.eclipse.emf.ecore.EObject context) Gets all DbView names with single part from scope by actual contextvoidinstallDerivedState(org.eclipse.xtext.resource.DerivedStateAwareResource resource, boolean preLinkingPhase)
-
Constructor Details
-
QlDerivedStateComputer
public QlDerivedStateComputer()
-
-
Method Details
-
installDerivedState
public void installDerivedState(org.eclipse.xtext.resource.DerivedStateAwareResource resource, boolean preLinkingPhase) - Specified by:
installDerivedStatein interfaceorg.eclipse.xtext.resource.IDerivedStateComputer
-
discardDerivedState
public void discardDerivedState(org.eclipse.xtext.resource.DerivedStateAwareResource resource) - Specified by:
discardDerivedStatein interfaceorg.eclipse.xtext.resource.IDerivedStateComputer
-
createDbViewForEachSource
protected List<DbViewDef> createDbViewForEachSource(QuerySchemaSource source, QlDerivedStateComputer.NotAllowedNameForTempTableProvider notAllowedNamesForTempTableProvider, List<DbViewDef> earlierCreatedDbViewSource) Creates DbView for each source in 'from' section- Parameters:
source-QuerySchemaSourcenotAllowedNamesForTempTableProvider- provider for not allowed names forDbViewDescriptionTempTable, cannot benullearlierCreatedDbViewSource- list of earlier created DbViewDef from source section, can't benull- Returns:
- list of DbViewDef computed by
QuerySchemaSource
-
computeDbView
protected void computeDbView(AbstractQuerySchemaQuery query, org.eclipse.xtext.resource.DerivedStateAwareResource resource) Computes all DbView for onequery- Parameters:
queries- processingQuerySchemaSelectQueryresource- ql grammarDerivedStateAwareResource
-
getAliasComputer
Gets object for computing alias- Returns:
- object for computing alias
- See Also:
-
createDbViewForEachQuery
Creates DbView for select query- Parameters:
query-QuerySchemaSelectQueryprocessing query- Returns:
DbViewDefcreated DbView
-
createProxyForDbView
protected void createProxyForDbView(org.eclipse.emf.ecore.EObject object) Creates proxy for all elements which haveDbViewElement- Parameters:
object- object for creating proxies, can't benull
-
discardDbViewForEachQuery
DiscardsDbViewfor each query- Parameters:
eachQuery-QuerySchemaSelectQuery
-
discardDbViewForEachSource
DiscardsDbViewfor each source- Parameters:
source-QuerySchemaSource
-
getAllDbViewNamesWithSinglePart
protected Collection<CaseInsensitiveString> getAllDbViewNamesWithSinglePart(org.eclipse.emf.ecore.EObject context) Gets all DbView names with single part from scope by actual context- Parameters:
context- actual context for getting scope ofDbViewElement- Returns:
- collection of DbView names with single part, never
null
-
createDbviewDescriptionTempTable
CreatesDbViewDescriptionTempTablebyQuerySchemaTable- Parameters:
name- name of creating DbViewDescriptionTempTable, can't benulltable- actualQuerySchemaTable, can't benull
-