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,
List<AbstractDescriptor.ColumnParams> itemPatternList) |
| Modifier and Type | Method and Description |
|---|---|
protected de.hybris.platform.impex.jalo.translators.ItemExpressionTranslator.ExportPatternEndElement |
addValuePath(List<AttributeDescriptor> path,
AtomicValueTranslator trans,
Map modifiers,
boolean isAlternative) |
protected ItemExpressionTranslator.ExpressionQuery |
buildQuery(ComposedType targetType,
List<AbstractDescriptor.ColumnParams> itemPatternList) |
protected void |
checkResolvableAttribute(HeaderDescriptor header,
AttributeDescriptor attributeDescriptor) |
static List<ItemExpressionTranslator.CombinedSearchResult> |
convertAllToJalo(Item _forItem,
List<ItemExpressionTranslator> translators,
List<String> expressions) |
protected Object |
convertToJalo(String valueExpr,
Item forItem)
Converts a non-null and non-empty string into a jalo attribute value.
|
protected String |
convertToString(Object value)
Converts a non-null jalo attribute value into its string representation.
|
protected void |
createAtomicAttributeSubTranslator(AttributeDescriptor attributeDescriptor,
StringBuilder stringBuilder,
ComposedType type,
AbstractDescriptor.ColumnParams patternElement,
List<AttributeDescriptor> qualifierPath,
String enclosingTableAlias,
boolean isAlternative) |
protected void |
createDocumentIDSubTranslator(AttributeDescriptor attributeDescriptor,
StringBuilder stringBuilder,
ComposedType type,
AbstractDescriptor.ColumnParams patternElement,
List<AttributeDescriptor> qualifierPath,
String enclosingTableAlias,
boolean isAlternative,
String documentID) |
protected void |
createItemAttributeSubTranslator(String qualifier,
ComposedType attrType,
StringBuilder stringBuilder,
ComposedType type,
AbstractDescriptor.ColumnParams patternElement,
List<AttributeDescriptor> qualifierPath,
String enclosingTableAlias,
boolean isAlternative) |
protected String |
createNewTableAlias() |
protected void |
createRelationAttributeSubTranslator(RelationDescriptor relationDescriptor,
StringBuilder stringBuilder,
ComposedType relatedType,
AbstractDescriptor.ColumnParams patternElement,
List<AttributeDescriptor> qualifierPath,
String enclosingTableAlias,
boolean isAlternative) |
protected ComposedType |
createSubTranslator(StringBuilder stringBuilder,
ComposedType type,
AbstractDescriptor.ColumnParams patternElement,
List<AttributeDescriptor> qualifierPath,
String enclosingTableAlias,
boolean isAlternative)
Translates a single item reference expression.
|
protected List<de.hybris.platform.impex.jalo.translators.ItemExpressionTranslator.ExportPatternElement> |
cutOff(List<de.hybris.platform.impex.jalo.translators.ItemExpressionTranslator.ExportPatternElement> original,
int cutPosition) |
protected String |
getDocumentIDFromItemPattern(AbstractDescriptor.ColumnParams pattern) |
protected Object |
getEmptyValue()
Returning default translation in case a default value was specified for each item path expression.
|
protected Map<String,Object> |
getFullDefaultValueMap() |
protected Language |
getLanguageByIsoCode(de.hybris.platform.impex.jalo.translators.ItemExpressionTranslator.ExportPatternEndElement patternElement) |
protected ComposedType |
getMostSpecific(ComposedType baseType,
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 String |
inserIsNullIfNecessary(String queryBody,
Map<String,Object> valuesIncludingNull) |
protected boolean |
isLocalizedAndLanguageModifierIsSet(de.hybris.platform.impex.jalo.translators.ItemExpressionTranslator.ExportPatternEndElement patternElement) |
protected Map<String,Object> |
mergeDefaultValues(List<String> parsedValues) |
protected static void |
mergeValues(Map<String,Object> merged,
Map<String,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 List<Object> |
searchCombined(List<ItemExpressionTranslator> translators,
List<Map<String,Object>> valueMaps,
List<String> valueExpressions) |
protected Object |
searchItem(Map values,
String valueExpr)
Executes actual resolving of a given reference pattern by issuing a flexible search query.
|
protected 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, 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 String createNewTableAlias()
protected ItemExpressionTranslator.ExpressionQuery buildQuery(ComposedType targetType, List<AbstractDescriptor.ColumnParams> itemPatternList) throws HeaderValidationException
HeaderValidationExceptionprotected ComposedType getMostSpecific(ComposedType baseType, 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(List<AttributeDescriptor> path, AtomicValueTranslator trans, Map modifiers, boolean isAlternative)
protected List<de.hybris.platform.impex.jalo.translators.ItemExpressionTranslator.ExportPatternElement> cutOff(List<de.hybris.platform.impex.jalo.translators.ItemExpressionTranslator.ExportPatternElement> original, int cutPosition)
protected ComposedType createSubTranslator(StringBuilder stringBuilder, ComposedType type, AbstractDescriptor.ColumnParams patternElement, List<AttributeDescriptor> qualifierPath, String enclosingTableAlias, boolean isAlternative) throws HeaderValidationException
stringBuilder - type - patternElement - qualifierPath - isAlternative - HeaderValidationExceptionprotected String getDocumentIDFromItemPattern(AbstractDescriptor.ColumnParams pattern) throws HeaderValidationException
HeaderValidationExceptionprotected void createRelationAttributeSubTranslator(RelationDescriptor relationDescriptor, StringBuilder stringBuilder, ComposedType relatedType, AbstractDescriptor.ColumnParams patternElement, List<AttributeDescriptor> qualifierPath, String enclosingTableAlias, boolean isAlternative) throws HeaderValidationException
HeaderValidationExceptionprotected void createItemAttributeSubTranslator(String qualifier, ComposedType attrType, StringBuilder stringBuilder, ComposedType type, AbstractDescriptor.ColumnParams patternElement, List<AttributeDescriptor> qualifierPath, String enclosingTableAlias, boolean isAlternative) throws HeaderValidationException
HeaderValidationExceptionprotected void createAtomicAttributeSubTranslator(AttributeDescriptor attributeDescriptor, StringBuilder stringBuilder, ComposedType type, AbstractDescriptor.ColumnParams patternElement, List<AttributeDescriptor> qualifierPath, String enclosingTableAlias, boolean isAlternative) throws HeaderValidationException
HeaderValidationExceptionprotected void createDocumentIDSubTranslator(AttributeDescriptor attributeDescriptor, StringBuilder stringBuilder, ComposedType type, AbstractDescriptor.ColumnParams patternElement, List<AttributeDescriptor> qualifierPath, String enclosingTableAlias, boolean isAlternative, 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 String convertToString(Object value)
SingleValueTranslatorconvertToString in class SingleValueTranslatorvalue - value to translateprotected Language getLanguageByIsoCode(de.hybris.platform.impex.jalo.translators.ItemExpressionTranslator.ExportPatternEndElement patternElement)
protected boolean isLocalizedAndLanguageModifierIsSet(de.hybris.platform.impex.jalo.translators.ItemExpressionTranslator.ExportPatternEndElement patternElement)
protected 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 Object searchItem(Map values, String valueExpr)
values - valueExpr - protected static String inserIsNullIfNecessary(String queryBody, Map<String,Object> valuesIncludingNull)
protected static void mergeValues(Map<String,Object> merged, Map<String,Object> original, int tokenNumber)
public static List<ItemExpressionTranslator.CombinedSearchResult> convertAllToJalo(Item _forItem, List<ItemExpressionTranslator> translators, List<String> expressions)
protected static List<Object> searchCombined(List<ItemExpressionTranslator> translators, List<Map<String,Object>> valueMaps, List<String> valueExpressions)
protected Object convertToJalo(String valueExpr, Item forItem)
SingleValueTranslatorconvertToJalo in class SingleValueTranslatorvalueExpr - string to translateforItem - item instance the translated value will be set to as attributeCopyright © 2017 SAP SE. All Rights Reserved.