com.xpn.xwiki.objects.classes
Class DBTreeListClass
java.lang.Object
com.xpn.xwiki.objects.BaseElement<R>
com.xpn.xwiki.objects.BaseCollection<ClassPropertyReference>
com.xpn.xwiki.objects.classes.PropertyClass
com.xpn.xwiki.objects.classes.ListClass
com.xpn.xwiki.objects.classes.DBListClass
com.xpn.xwiki.objects.classes.DBTreeListClass
- All Implemented Interfaces:
- PropertyClassInterface, ElementInterface, ObjectInterface, PropertyInterface, Serializable, Cloneable, Comparable<PropertyClass>
public class DBTreeListClass
- extends DBListClass
- See Also:
- Serialized Form
Method Summary |
protected void |
addToList(Map<String,List<ListItem>> map,
String key,
ListItem item)
|
protected void |
addToSelect(select select,
List<String> selectlist,
Map<String,ListItem> map,
Map<String,List<ListItem>> treemap,
String parent,
String level,
XWikiContext context)
|
protected void |
addToTreeList(List<ListItem> treelist,
Map<String,List<ListItem>> treemap,
Map<String,ListItem> map,
String parent,
XWikiContext context)
|
void |
displayEdit(StringBuffer buffer,
String name,
String prefix,
BaseCollection object,
XWikiContext context)
|
protected void |
displayTreeSelectEdit(StringBuffer buffer,
String name,
String prefix,
BaseCollection object,
XWikiContext context)
|
void |
displayView(StringBuffer buffer,
String name,
String prefix,
BaseCollection object,
XWikiContext context)
|
protected List<ListItem> |
getCachedDBTreeList(XWikiContext context)
Get the ordered list of tree nodes that is currently cached, if any. |
String |
getParentField()
|
String |
getQuery(XWikiContext context)
Computes the query corresponding to the current XProperty. |
protected List<ListItem> |
getTreeList(Map<String,List<ListItem>> treemap,
Map<String,ListItem> map,
XWikiContext context)
Gets an ordered list of items in the tree. |
Map<String,List<ListItem>> |
getTreeMap(XWikiContext context)
|
protected String |
renderItemsList(List<List<ListItem>> resList)
|
protected void |
setCachedDBTreeList(List<ListItem> cachedDBTreeList,
XWikiContext context)
Store the ordered list of tree nodes in a cache. |
void |
setParentField(String parentField)
|
Methods inherited from class com.xpn.xwiki.objects.classes.DBListClass |
flushCache, getCachedDBList, getClassname, getDBList, getIdField, getList, getMap, getSql, getValue, getValueField, makeList, returnCol, setCachedDBList, setClassname, setIdField, setSql, setValueField |
Methods inherited from class com.xpn.xwiki.objects.classes.ListClass |
displayHidden, displayRadioEdit, displaySelectEdit, fromString, fromStringArray, getDisplayType, getDisplayValue, getDisplayValue, getElementValue, getListFromString, getListFromString, getMapFromString, getSeparator, getSeparators, getSize, getSort, isCache, isMultiSelect, isPicker, isRelationalStorage, newProperty, newPropertyfromXML, setCache, setDisplayType, setMultiSelect, setPicker, setRelationalStorage, setSeparator, setSeparators, setSize, setSort |
Methods inherited from class com.xpn.xwiki.objects.classes.PropertyClass |
clone, compareTo, createReference, displayCustom, displayEdit, displayEdit, displayHidden, displayHidden, displayView, displayView, fromValue, fromXML, getCachedDefaultCustomDisplayer, getClassName, getClassType, getCustomDisplay, getDefaultCustomDisplayer, getFieldFullName, getFullQueryPropertyName, getId, getName, getNumber, getObject, getPrettyName, getPrettyName, getTooltip, getTooltip, getTranslatedPrettyName, getValidationMessage, getValidationRegExp, getXClass, getxWikiClass, initLazyCollections, isCustomDisplayed, isDisabled, isUnmodifiable, isValidColumnTypes, setClassType, setCustomDisplay, setDisabled, setId, setName, setNumber, setObject, setPrettyName, setTooltip, setUnmodifiable, setValidationMessage, setValidationRegExp, setxWikiClass, toFormString, toString, toXML, toXML, validateProperty |
Methods inherited from class com.xpn.xwiki.objects.BaseCollection |
addField, addPropertyForRemoval, apply, equals, get, getCustomMappingMap, getDateValue, getDiff, getDoubleValue, getField, getFieldList, getFieldsToRemove, getFloatValue, getIntValue, getIntValue, getLargeStringValue, getListValue, getLongValue, getProperties, getPropertyList, getPropertyNames, getRelativeXClassReference, getSetValue, getSortedIterator, getStringValue, getXClassReference, merge, merge, put, removeField, safeget, safeput, setClassName, setDateValue, setDBStringListValue, setDocumentReference, setDoubleValue, setFields, setFieldsToRemove, setFloatValue, setIntValue, setLargeStringValue, setLongValue, setSetValue, setStringListValue, setStringValue, setXClassReference, toString, toXMLString |
DBTreeListClass
public DBTreeListClass(PropertyMetaClass wclass)
DBTreeListClass
public DBTreeListClass()
getParentField
public String getParentField()
setParentField
public void setParentField(String parentField)
getCachedDBTreeList
protected List<ListItem> getCachedDBTreeList(XWikiContext context)
- Get the ordered list of tree nodes that is currently cached, if any.
- Parameters:
context
- the current request context
- Returns:
- the cached list, or
null
if not already cached
setCachedDBTreeList
protected void setCachedDBTreeList(List<ListItem> cachedDBTreeList,
XWikiContext context)
- Store the ordered list of tree nodes in a cache.
- Parameters:
cachedDBTreeList
- the list to cachecontext
- the current request context
getTreeMap
public Map<String,List<ListItem>> getTreeMap(XWikiContext context)
getTreeList
protected List<ListItem> getTreeList(Map<String,List<ListItem>> treemap,
Map<String,ListItem> map,
XWikiContext context)
- Gets an ordered list of items in the tree. This is necessary to make sure children are coming right after their
parents.
- Parameters:
treemap
- the unordered list of tree nodesmap
- the mapping between a node name and its corresponding tree nodecontext
- the current request context
- Returns:
- ordered list of
ListItem
tree nodes
addToTreeList
protected void addToTreeList(List<ListItem> treelist,
Map<String,List<ListItem>> treemap,
Map<String,ListItem> map,
String parent,
XWikiContext context)
addToList
protected void addToList(Map<String,List<ListItem>> map,
String key,
ListItem item)
displayView
public void displayView(StringBuffer buffer,
String name,
String prefix,
BaseCollection object,
XWikiContext context)
- Specified by:
displayView
in interface PropertyClassInterface
- Overrides:
displayView
in class DBListClass
displayEdit
public void displayEdit(StringBuffer buffer,
String name,
String prefix,
BaseCollection object,
XWikiContext context)
- Specified by:
displayEdit
in interface PropertyClassInterface
- Overrides:
displayEdit
in class DBListClass
renderItemsList
protected String renderItemsList(List<List<ListItem>> resList)
addToSelect
protected void addToSelect(select select,
List<String> selectlist,
Map<String,ListItem> map,
Map<String,List<ListItem>> treemap,
String parent,
String level,
XWikiContext context)
displayTreeSelectEdit
protected void displayTreeSelectEdit(StringBuffer buffer,
String name,
String prefix,
BaseCollection object,
XWikiContext context)
getQuery
public String getQuery(XWikiContext context)
Computes the query corresponding to the current XProperty. The query is either manually specified by the XClass
creator in the sql field, or, if the query field is blank, constructed using the classname,
idField, valueField and parentField properties. The query is constructed according to
the following rules:
- If no classname, id and value fields are selected, return a query that return no rows, as the parent is not
enough to make a query.
- If no parent field is provided, use the document "parent" medatada.
- If only the classname is provided, select all document names which have an object of that type, preserving
the hierarchy defined by the parent field.
- If only one of id and value is provided, use it for both columns.
- If no classname is provided, assume the fields are document properties.
- If the document is not used at all, don't put it in the query.
- If the object is not used at all, don't put it in the query.
The generated query always selects 3 columns, the first one is used as the stored value, the second one as the
displayed value, and the third one defines the "parent" of the current value.
- Overrides:
getQuery
in class DBListClass
- Parameters:
context
- The current context
.
- Returns:
- The HQL query corresponding to this property.