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 class
Special class for creating lazy proxy for Qlclass
Provider for name which not allowed as name forDbViewDescriptionTempTable
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
computeDbView
(AbstractQuerySchemaQuery query, org.eclipse.xtext.resource.DerivedStateAwareResource resource) Computes all DbView for onequery
protected void
CreatesDbViewDescriptionTempTable
byQuerySchemaTable
protected DbViewDef
Creates DbView for select querycreateDbViewForEachSource
(QuerySchemaSource source, QlDerivedStateComputer.NotAllowedNameForTempTableProvider notAllowedNamesForTempTableProvider, List<DbViewDef> earlierCreatedDbViewSource) Creates DbView for each source in 'from' sectionprotected void
createProxyForDbView
(org.eclipse.emf.ecore.EObject object) Creates proxy for all elements which haveDbViewElement
protected void
DiscardsDbView
for each queryprotected void
DiscardsDbView
for each sourcevoid
discardDerivedState
(org.eclipse.xtext.resource.DerivedStateAwareResource resource) protected AliasComputer
Gets object for computing aliasprotected Collection<CaseInsensitiveString>
getAllDbViewNamesWithSinglePart
(org.eclipse.emf.ecore.EObject context) Gets all DbView names with single part from scope by actual contextvoid
installDerivedState
(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:
installDerivedState
in interfaceorg.eclipse.xtext.resource.IDerivedStateComputer
-
discardDerivedState
public void discardDerivedState(org.eclipse.xtext.resource.DerivedStateAwareResource resource) - Specified by:
discardDerivedState
in 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
-QuerySchemaSource
notAllowedNamesForTempTableProvider
- provider for not allowed names forDbViewDescriptionTempTable
, cannot benull
earlierCreatedDbViewSource
- 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
- processingQuerySchemaSelectQuery
resource
- ql grammarDerivedStateAwareResource
-
getAliasComputer
Gets object for computing alias- Returns:
- object for computing alias
- See Also:
-
createDbViewForEachQuery
Creates DbView for select query- Parameters:
query
-QuerySchemaSelectQuery
processing query- Returns:
DbViewDef
created 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
DiscardsDbView
for each query- Parameters:
eachQuery
-QuerySchemaSelectQuery
-
discardDbViewForEachSource
DiscardsDbView
for 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
CreatesDbViewDescriptionTempTable
byQuerySchemaTable
- Parameters:
name
- name of creating DbViewDescriptionTempTable, can't benull
table
- actualQuerySchemaTable
, can't benull
-