|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object info.magnolia.ui.form.field.transformer.basic.BasicTransformer<com.vaadin.data.util.PropertysetItem> info.magnolia.ui.form.field.transformer.multi.MultiValueChildrenNodeTransformer info.magnolia.ui.form.field.transformer.multi.MultiValueSubChildrenNodePropertiesTransformer
public class MultiValueSubChildrenNodePropertiesTransformer
Sub Nodes implementation of Transformer
storing and retrieving properties (as PropertysetItem
) displayed in MultiField.
In opposition to MultiValueChildrenNodeTransformer
this implementation handle multiple properties stored under a child node.
These multiple properties are put/retrieve into/from a PropertysetItem
.
Storage strategy:
- root node (relatedFormItem)
-- main child node (nodeName = field name)
--- child node 1 (used to store the first values set of the MultiField as a property)
---- property 1 (store the first property of the first value of the MultiField)
---- property 2 (store the second property of the first value of the MultiField)
---- property 3 (store the third property of the first value of the MultiField)
---- ...
--- child node 2 (used to store the second values of the MultiField as a property)
---- property 1 (store the first property of the second value of the MultiField)
---- property 2 (store the second property of the second value of the MultiField)
---- property 3 (store the third property of the second value of the MultiField)
...
This implementation store/retrieve the PropertysetItem
properties under the child node.
Used in the case of a MultiField
contains a CompositeField
or a SwitchableField
.
In this case, CompositeField
or SwitchableField
will have to declare a NoOpCompositeTransformer
.
Field Summary |
---|
Fields inherited from class info.magnolia.ui.form.field.transformer.basic.BasicTransformer |
---|
basePropertyName, definition, i18NPropertyName, relatedFormItem, type |
Constructor Summary | |
---|---|
MultiValueSubChildrenNodePropertiesTransformer(com.vaadin.data.Item relatedFormItem,
ConfiguredFieldDefinition definition,
Class<com.vaadin.data.util.PropertysetItem> type)
|
Method Summary | |
---|---|
protected JcrNodeAdapter |
getRootItem()
Define the root Item used in order to set the SubNodes list. |
protected com.vaadin.data.util.PropertysetItem |
getValueFromChildNode(javax.jcr.Node child)
Return a specific value from the child node. |
protected void |
handleRootitemAndParent(JcrNodeAdapter rootItem)
Handle the relation between parent and rootItem. Typically, if rootItem would be a child of parentItem: |
protected void |
setChildItemValue(JcrNodeAdapter childItem,
Object newValues)
Set the value as property to the childItem. |
Methods inherited from class info.magnolia.ui.form.field.transformer.multi.MultiValueChildrenNodeTransformer |
---|
createChildItemName, createPredicateToEvaluateChildNode, getOrCreateChildNode, getStoredChildNodes, hasI18NSupport, initializeChildItem, readFromItem, setChildValuePropertyName, setNewChildItem, writeToItem |
Methods inherited from class info.magnolia.ui.form.field.transformer.basic.BasicTransformer |
---|
definePropertyName, getBasePropertyName, getLocale, getOrCreateProperty, getType, setI18NPropertyName, setLocale, setType |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public MultiValueSubChildrenNodePropertiesTransformer(com.vaadin.data.Item relatedFormItem, ConfiguredFieldDefinition definition, Class<com.vaadin.data.util.PropertysetItem> type)
Method Detail |
---|
protected JcrNodeAdapter getRootItem()
MultiValueChildrenNodeTransformer
getRootItem
in class MultiValueChildrenNodeTransformer
protected void handleRootitemAndParent(JcrNodeAdapter rootItem)
MultiValueChildrenNodeTransformer
if (childItem.getChildren() != null && !childItem.getChildren().isEmpty()) { ((JcrNodeAdapter) parent).addChild(childItem); } else { ((JcrNodeAdapter) parent).removeChild(childItem); }
handleRootitemAndParent
in class MultiValueChildrenNodeTransformer
protected com.vaadin.data.util.PropertysetItem getValueFromChildNode(javax.jcr.Node child)
MultiValueChildrenNodeTransformer
getValueFromChildNode
in class MultiValueChildrenNodeTransformer
protected void setChildItemValue(JcrNodeAdapter childItem, Object newValues)
MultiValueChildrenNodeTransformer
setChildItemValue
in class MultiValueChildrenNodeTransformer
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |