Package com._1c.g5.v8.dt.ql.resource
Class AliasComputer
java.lang.Object
com._1c.g5.v8.dt.ql.resource.AliasComputer
- Direct Known Subclasses:
AliasComputerDcs
Handler for aliases in select query
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classKeep pair value for computing alias -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic AliasComputerstatic final Stringstatic final String -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidfillAliasForFromSection(QuerySchemaOperator operator) Fills alias for 'from' section, if they don't have itprotected voidfillAliasFormJoins(List<? extends AbstractQuerySchemaQuerySourceJoin> allJoins, Set<CaseInsensitiveString> announcedAlias) Fills all alias for sources from joinsfillAliasForSelectFields(List<QuerySchemaExpression> allFields, List<QuerySchemaSource> allSources, IDynamicDbViewFieldComputer dynamicDbViewComputer, boolean isRussian) Fills alias for select fields, if they don't have itgetAlias(CaseInsensitiveString name, Set<CaseInsensitiveString> announcesAlias, boolean isExpr, boolean isRussian) Getting actual alias fornamestatic CaseInsensitiveStringgetAliasWithoutRepeat(CaseInsensitiveString alias, Set<CaseInsensitiveString> announcesAlias, boolean isExpr, boolean isRussian) Compute unique aliasstatic StringgetDefaultFieldName(boolean isRussian) Gets default field namegetNameAliasCommonExpression(CommonExpression expr, IDynamicDbViewFieldComputer dynamicDbViewComputer, boolean isRussian) Gets name alias from CommonExpression - split by '.' and get lastgetNameAliasCommonExpressionForFieldOfNestedTable(CommonExpression expr, IDynamicDbViewFieldComputer dynamicDbViewComputer, boolean isRussian) Computes alias for field from nested table represented as CommonExpressiongetNameAliasTableExpression(AbstractQuerySchemaTable table, String alias) Gets name alias from AbstractTable - split by '.' and get lastgetQSExpressionName(QuerySchemaExpression expression, IDynamicDbViewFieldComputer dynamicDbViewComputer, boolean isRussian) Gets name field by it expressionreadAllFillAliasFrom(QuerySchemaOperator operator) Read all alias from section 'from' (including 'join' section)Read all alias from 1 source in section 'from' (including 'join' section)protected voidreadAllFillAliasFromJoins(List<AbstractQuerySchemaQuerySourceJoin> allJoins, Set<CaseInsensitiveString> announcedAlias) Read all alias from joins
-
Field Details
-
REFPRESENTATION
- See Also:
-
PRESENTATION
- See Also:
-
FIELD
- See Also:
-
FIELD_RU
- See Also:
-
INSTANCE
-
-
Constructor Details
-
AliasComputer
public AliasComputer()
-
-
Method Details
-
getDefaultFieldName
Gets default field name- Parameters:
isRussian-trueif actual script variant is Russian,falseotherwise- Returns:
- default field name, never
null
-
getAliasWithoutRepeat
public static CaseInsensitiveString getAliasWithoutRepeat(CaseInsensitiveString alias, Set<CaseInsensitiveString> announcesAlias, boolean isExpr, boolean isRussian) Compute unique alias- Parameters:
alias- original aliasannouncesAlias- aliases which have been created earlierisExpr- if alias for AbstractExpression- Returns:
- unique alias: 1) isExpr == false then return the first element isn't contained in announcesAlias from [ alias, alias1, alias2, ...] 2) isExpr == true then return the first element isn't contained in announcesAlias from [ DefaultColumnName1, DefaultColumnName2, DefaultColumnName3, ...]
-
fillAliasForSelectFields
public Set<CaseInsensitiveString> fillAliasForSelectFields(List<QuerySchemaExpression> allFields, List<QuerySchemaSource> allSources, IDynamicDbViewFieldComputer dynamicDbViewComputer, boolean isRussian) Fills alias for select fields, if they don't have it- Parameters:
allFields- all select fields, can't benullallSources- all sources, can benulldynamicDbViewComputer-IDynamicDbViewFieldComputer, can benull, in this case aliases will be computed by string representation of expressionsisRussian-trueif aliases computing for Russian script variant,falseotherwise- Returns:
- all aliases, never
null
-
fillAliasForFromSection
Fills alias for 'from' section, if they don't have it- Parameters:
operator- processingQuerySchemaOperator, can't benull
-
getNameAliasCommonExpression
public String getNameAliasCommonExpression(CommonExpression expr, IDynamicDbViewFieldComputer dynamicDbViewComputer, boolean isRussian) Gets name alias from CommonExpression - split by '.' and get last- Parameters:
expr- processingCommonExpression, can benulldynamicDbViewComputer-IDynamicDbViewFieldComputer, can benull, in this case aliases will be computed by string representation of expressionsisRussian-trueif aliases computing for Russian script variant,falseotherwise- Returns:
- if
expr == nullreturns null, else returns last part of common expression
-
getNameAliasTableExpression
Gets name alias from AbstractTable - split by '.' and get last- Parameters:
table- processing table, can benullalias- current alias, can benull- Returns:
- if
table == nullreturnsnull, ifalias != nullreturnsalias, ifalias == nullreturns last part of table name
-
getAlias
public CaseInsensitiveString getAlias(CaseInsensitiveString name, Set<CaseInsensitiveString> announcesAlias, boolean isExpr, boolean isRussian) Getting actual alias forname- Parameters:
name- of expression, can't benullannouncesAlias- aliases which have been used, can't benullisExpr- true, if this name corresponding to expression not instance of CommonExpressionisRussian-trueif actual script variant is Russian,falseotherwise- Returns:
- alias
-
getQSExpressionName
public AliasComputer.PairAliasIsExpr getQSExpressionName(QuerySchemaExpression expression, IDynamicDbViewFieldComputer dynamicDbViewComputer, boolean isRussian) Gets name field by it expression- Parameters:
expression- processing expression, can't benullisRussian-trueif actual script variant is Russian,falseotherwise- Returns:
QlDerivedStateComputer.PairAliasIsExpr
-
readAllFillAliasFrom
Read all alias from section 'from' (including 'join' section)- Parameters:
operator- processingQuerySchemaOperator, can't benull- Returns:
- set of string with all aliases
-
readAllFillAliasFrom
Read all alias from 1 source in section 'from' (including 'join' section)- Parameters:
source- processing source, can't benull- Returns:
- set of string with all aliases
-
getNameAliasCommonExpressionForFieldOfNestedTable
public String getNameAliasCommonExpressionForFieldOfNestedTable(CommonExpression expr, IDynamicDbViewFieldComputer dynamicDbViewComputer, boolean isRussian) Computes alias for field from nested table represented as CommonExpression- Parameters:
expr- processing expression, can't benulldynamicDbViewComputer-IDynamicDbViewFieldComputer, can benull, in this case aliases will be computed by string representation of expressionsisRussian-trueif aliases computing for Russian script variant,falseotherwise- Returns:
- computed alias, can be
nullif model of the query is not valid
-
readAllFillAliasFromJoins
protected void readAllFillAliasFromJoins(List<AbstractQuerySchemaQuerySourceJoin> allJoins, Set<CaseInsensitiveString> announcedAlias) Read all alias from joins- Parameters:
allJoins- - processing joinsAbstractQuerySchemaQuerySourceJoinannouncedAlias- - container of alias
-
fillAliasFormJoins
protected void fillAliasFormJoins(List<? extends AbstractQuerySchemaQuerySourceJoin> allJoins, Set<CaseInsensitiveString> announcedAlias) Fills all alias for sources from joins- Parameters:
allJoins- - processing joinsAbstractQuerySchemaQuerySourceJoinannouncedAlias- - container of alias
-