public class ItemExpressionTranslator extends SingleValueTranslator
| Modifier and Type | Class and Description |
|---|---|
static class |
ItemExpressionTranslator.CombinedSearchResult |
static class |
ItemExpressionTranslator.ExpressionQuery |
| Constructor and Description |
|---|
ItemExpressionTranslator(ComposedType targetType,
java.util.List<AbstractDescriptor.ColumnParams> itemPatternList) |
| Modifier and Type | Method and Description |
|---|---|
protected de.hybris.platform.impex.jalo.translators.ItemExpressionTranslator.ExportPatternEndElement |
addValuePath(java.util.List<AttributeDescriptor> path,
AtomicValueTranslator trans,
java.util.Map modifiers,
boolean isAlternative) |
protected ItemExpressionTranslator.ExpressionQuery |
buildQuery(ComposedType targetType,
java.util.List<AbstractDescriptor.ColumnParams> itemPatternList) |
protected void |
checkResolvableAttribute(HeaderDescriptor header,
AttributeDescriptor attributeDescriptor) |
static java.util.List<ItemExpressionTranslator.CombinedSearchResult> |
convertAllToJalo(Item forItem,
java.util.List<ItemExpressionTranslator> translators,
java.util.List<java.lang.String> expressions) |
static java.util.List<ItemExpressionTranslator.CombinedSearchResult> |
convertAllToJalo(java.util.List<ItemExpressionTranslator> translators,
java.util.List<java.lang.String> expressions,
int queryChunkSize) |
protected java.lang.Object |
convertToJalo(java.lang.String valueExpr,
Item forItem)
Converts a non-null and non-empty string into a jalo attribute value.
|
protected java.lang.String |
convertToString(java.lang.Object value)
Converts a non-null jalo attribute value into its string representation.
|
protected void |
createAtomicAttributeSubTranslator(AttributeDescriptor attributeDescriptor,
java.lang.StringBuilder stringBuilder,
ComposedType type,
AbstractDescriptor.ColumnParams patternElement,
java.util.List<AttributeDescriptor> qualifierPath,
java.lang.String enclosingTableAlias,
boolean isAlternative) |
protected void |
createDocumentIDSubTranslator(AttributeDescriptor attributeDescriptor,
java.lang.StringBuilder stringBuilder,
ComposedType type,
AbstractDescriptor.ColumnParams patternElement,
java.util.List<AttributeDescriptor> qualifierPath,
java.lang.String enclosingTableAlias,
boolean isAlternative,
java.lang.String documentID) |
protected void |
createItemAttributeSubTranslator(java.lang.String qualifier,
ComposedType attrType,
java.lang.StringBuilder stringBuilder,
ComposedType type,
AbstractDescriptor.ColumnParams patternElement,
java.util.List<AttributeDescriptor> qualifierPath,
java.lang.String enclosingTableAlias,
boolean isAlternative) |
protected java.lang.String |
createNewTableAlias() |
protected void |
createRelationAttributeSubTranslator(RelationDescriptor relationDescriptor,
java.lang.StringBuilder stringBuilder,
ComposedType relatedType,
AbstractDescriptor.ColumnParams patternElement,
java.util.List<AttributeDescriptor> qualifierPath,
java.lang.String enclosingTableAlias,
boolean isAlternative) |
protected ComposedType |
createSubTranslator(java.lang.StringBuilder stringBuilder,
ComposedType type,
AbstractDescriptor.ColumnParams patternElement,
java.util.List<AttributeDescriptor> qualifierPath,
java.lang.String enclosingTableAlias,
boolean isAlternative)
Translates a single item reference expression.
|
protected java.util.List<de.hybris.platform.impex.jalo.translators.ItemExpressionTranslator.ExportPatternElement> |
cutOff(java.util.List<de.hybris.platform.impex.jalo.translators.ItemExpressionTranslator.ExportPatternElement> original,
int cutPosition) |
protected java.lang.String |
getDocumentIDFromItemPattern(AbstractDescriptor.ColumnParams pattern) |
protected java.lang.Object |
getEmptyValue()
Returning default translation in case a default value was specified for each item path expression.
|
protected java.util.Map<java.lang.String,java.lang.Object> |
getFullDefaultValueMap() |
protected Language |
getLanguageByIsoCode(de.hybris.platform.impex.jalo.translators.ItemExpressionTranslator.ExportPatternEndElement patternElement) |
protected ComposedType |
getMostSpecific(ComposedType baseType,
java.util.Set<ComposedType> types) |
protected ItemExpressionTranslator.ExpressionQuery |
getQuery() |
protected ComposedType |
getTargetType() |
void |
init(StandardColumnDescriptor columnDescriptor)
Called once per header creation to allow configuring this translator using column modifiers etc.
|
protected static java.lang.String |
inserIsNullIfNecessary(java.lang.String queryBody,
java.util.Map<java.lang.String,java.lang.Object> valuesIncludingNull) |
protected boolean |
isLocalizedAndLanguageModifierIsSet(de.hybris.platform.impex.jalo.translators.ItemExpressionTranslator.ExportPatternEndElement patternElement) |
protected java.util.Map<java.lang.String,java.lang.Object> |
mergeDefaultValues(java.util.List<java.lang.String> parsedValues) |
protected static void |
mergeValues(java.util.Map<java.lang.String,java.lang.Object> merged,
java.util.Map<java.lang.String,java.lang.Object> original,
int tokenNumber) |
protected AttributeDescriptor |
resolveAttribute(ComposedType type,
AbstractDescriptor.ColumnParams patternElement)
Tries to find the matching attribute descriptor for a given expression pattern element.
|
protected static java.util.List<java.lang.Object> |
search(java.util.List<ItemExpressionTranslator> translators2query,
java.util.List<java.util.Map<java.lang.String,java.lang.Object>> values2query,
java.util.List<java.lang.String> expressions2query,
int queryChunkSize) |
protected static java.util.List<java.lang.Object> |
searchCombined(java.util.List<ItemExpressionTranslator> translators,
java.util.List<java.util.Map<java.lang.String,java.lang.Object>> valueMaps,
java.util.List<java.lang.String> valueExpressions) |
protected static java.util.List<java.lang.Object> |
searchInChunks(java.util.List<ItemExpressionTranslator> translators2query,
java.util.List<java.util.Map<java.lang.String,java.lang.Object>> values2query,
java.util.List<java.lang.String> expressions2query,
int chunkSize) |
protected java.lang.Object |
searchItem(java.util.Map values,
java.lang.String valueExpr)
Executes actual resolving of a given reference pattern by issuing a flexible search query.
|
protected java.lang.String |
toString(Item item) |
void |
validate(StandardColumnDescriptor columnDescriptor)
Validates the value translator once per header creation.
|
exportValue, importValue, isEmptyclearStatus, createTranslator, createTranslator, createTranslator, debug, error, getColumnDescriptor, getFlexibleSearch, info, isDebugEnabled, isInfoEnabled, setEmpty, setError, warn, wasEmpty, wasUnresolvedpublic ItemExpressionTranslator(ComposedType targetType, java.util.List<AbstractDescriptor.ColumnParams> itemPatternList) throws HeaderValidationException
HeaderValidationExceptionpublic void init(StandardColumnDescriptor columnDescriptor)
AbstractValueTranslatorinit in class AbstractValueTranslatorcolumnDescriptor - descriptor where the value to translate belongs toprotected ItemExpressionTranslator.ExpressionQuery getQuery()
protected ComposedType getTargetType()
protected java.lang.String createNewTableAlias()
protected ItemExpressionTranslator.ExpressionQuery buildQuery(ComposedType targetType, java.util.List<AbstractDescriptor.ColumnParams> itemPatternList) throws HeaderValidationException
HeaderValidationExceptionprotected ComposedType getMostSpecific(ComposedType baseType, java.util.Set<ComposedType> types) throws HeaderValidationException
HeaderValidationExceptionprotected AttributeDescriptor resolveAttribute(ComposedType type, AbstractDescriptor.ColumnParams patternElement) throws HeaderValidationException
( {itemtype} '.' )? {qualifier}
In case a explicite item type is specified it must be the same or subtype of the actual attribute type which
encloses this expression.type - the attribute type which encloses this expressionpatternElement - the expression to reference the enclosing attribute valueHeaderValidationExceptionprotected de.hybris.platform.impex.jalo.translators.ItemExpressionTranslator.ExportPatternEndElement addValuePath(java.util.List<AttributeDescriptor> path, AtomicValueTranslator trans, java.util.Map modifiers, boolean isAlternative)
protected java.util.List<de.hybris.platform.impex.jalo.translators.ItemExpressionTranslator.ExportPatternElement> cutOff(java.util.List<de.hybris.platform.impex.jalo.translators.ItemExpressionTranslator.ExportPatternElement> original,
int cutPosition)
protected ComposedType createSubTranslator(java.lang.StringBuilder stringBuilder, ComposedType type, AbstractDescriptor.ColumnParams patternElement, java.util.List<AttributeDescriptor> qualifierPath, java.lang.String enclosingTableAlias, boolean isAlternative) throws HeaderValidationException
stringBuilder - type - patternElement - qualifierPath - isAlternative - HeaderValidationExceptionprotected java.lang.String getDocumentIDFromItemPattern(AbstractDescriptor.ColumnParams pattern) throws HeaderValidationException
HeaderValidationExceptionprotected void createRelationAttributeSubTranslator(RelationDescriptor relationDescriptor, java.lang.StringBuilder stringBuilder, ComposedType relatedType, AbstractDescriptor.ColumnParams patternElement, java.util.List<AttributeDescriptor> qualifierPath, java.lang.String enclosingTableAlias, boolean isAlternative) throws HeaderValidationException
HeaderValidationExceptionprotected void createItemAttributeSubTranslator(java.lang.String qualifier,
ComposedType attrType,
java.lang.StringBuilder stringBuilder,
ComposedType type,
AbstractDescriptor.ColumnParams patternElement,
java.util.List<AttributeDescriptor> qualifierPath,
java.lang.String enclosingTableAlias,
boolean isAlternative)
throws HeaderValidationException
HeaderValidationExceptionprotected void createAtomicAttributeSubTranslator(AttributeDescriptor attributeDescriptor, java.lang.StringBuilder stringBuilder, ComposedType type, AbstractDescriptor.ColumnParams patternElement, java.util.List<AttributeDescriptor> qualifierPath, java.lang.String enclosingTableAlias, boolean isAlternative) throws HeaderValidationException
HeaderValidationExceptionprotected void createDocumentIDSubTranslator(AttributeDescriptor attributeDescriptor, java.lang.StringBuilder stringBuilder, ComposedType type, AbstractDescriptor.ColumnParams patternElement, java.util.List<AttributeDescriptor> qualifierPath, java.lang.String enclosingTableAlias, boolean isAlternative, java.lang.String documentID) throws HeaderValidationException
HeaderValidationExceptionpublic void validate(StandardColumnDescriptor columnDescriptor) throws HeaderValidationException
AbstractValueTranslatorvalidate in class AbstractValueTranslatorcolumnDescriptor - descriptor where the value to translate belongs toHeaderValidationException - validation has thrown errorsprotected void checkResolvableAttribute(HeaderDescriptor header, AttributeDescriptor attributeDescriptor) throws HeaderValidationException
HeaderValidationExceptionprotected java.util.Map<java.lang.String,java.lang.Object> getFullDefaultValueMap()
protected java.util.Map<java.lang.String,java.lang.Object> mergeDefaultValues(java.util.List<java.lang.String> parsedValues)
protected java.lang.String convertToString(java.lang.Object value)
SingleValueTranslatorconvertToString in class SingleValueTranslatorvalue - value to translateprotected java.lang.String toString(Item item)
protected Language getLanguageByIsoCode(de.hybris.platform.impex.jalo.translators.ItemExpressionTranslator.ExportPatternEndElement patternElement)
protected boolean isLocalizedAndLanguageModifierIsSet(de.hybris.platform.impex.jalo.translators.ItemExpressionTranslator.ExportPatternEndElement patternElement)
protected java.lang.Object getEmptyValue()
Example:
INSERT ...; attrib( a1[ default=a],a2[default=b],a3[default=c] ); ...
Here a actually empty attrib column is translated into the equivalent of 'a:b:c' which were set as
default value because each path expression ( a1, a2, a3 ) owns a default value. Otherwise the column would not be
translatablegetEmptyValue in class SingleValueTranslatorprotected java.lang.Object searchItem(java.util.Map values,
java.lang.String valueExpr)
values - valueExpr - protected static java.lang.String inserIsNullIfNecessary(java.lang.String queryBody,
java.util.Map<java.lang.String,java.lang.Object> valuesIncludingNull)
protected static void mergeValues(java.util.Map<java.lang.String,java.lang.Object> merged,
java.util.Map<java.lang.String,java.lang.Object> original,
int tokenNumber)
public static java.util.List<ItemExpressionTranslator.CombinedSearchResult> convertAllToJalo(Item forItem, java.util.List<ItemExpressionTranslator> translators, java.util.List<java.lang.String> expressions)
public static java.util.List<ItemExpressionTranslator.CombinedSearchResult> convertAllToJalo(java.util.List<ItemExpressionTranslator> translators, java.util.List<java.lang.String> expressions, int queryChunkSize)
protected static java.util.List<java.lang.Object> search(java.util.List<ItemExpressionTranslator> translators2query, java.util.List<java.util.Map<java.lang.String,java.lang.Object>> values2query, java.util.List<java.lang.String> expressions2query, int queryChunkSize)
protected static java.util.List<java.lang.Object> searchInChunks(java.util.List<ItemExpressionTranslator> translators2query, java.util.List<java.util.Map<java.lang.String,java.lang.Object>> values2query, java.util.List<java.lang.String> expressions2query, int chunkSize)
protected static java.util.List<java.lang.Object> searchCombined(java.util.List<ItemExpressionTranslator> translators, java.util.List<java.util.Map<java.lang.String,java.lang.Object>> valueMaps, java.util.List<java.lang.String> valueExpressions)
protected java.lang.Object convertToJalo(java.lang.String valueExpr,
Item forItem)
SingleValueTranslatorconvertToJalo in class SingleValueTranslatorvalueExpr - string to translateforItem - item instance the translated value will be set to as attributeCopyright © 2018 SAP SE. All Rights Reserved.