本文整理汇总了Java中com.helger.commons.hierarchy.visit.EHierarchyVisitorReturn类的典型用法代码示例。如果您正苦于以下问题:Java EHierarchyVisitorReturn类的具体用法?Java EHierarchyVisitorReturn怎么用?Java EHierarchyVisitorReturn使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
EHierarchyVisitorReturn类属于com.helger.commons.hierarchy.visit包,在下文中一共展示了EHierarchyVisitorReturn类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: _sort
import com.helger.commons.hierarchy.visit.EHierarchyVisitorReturn; //导入依赖的package包/类
private static <KEYTYPE, DATATYPE, ITEMTYPE extends ITreeItemWithID <KEYTYPE, DATATYPE, ITEMTYPE>> void _sort (@Nonnull final IBasicTree <DATATYPE, ITEMTYPE> aTree,
@Nonnull final Comparator <? super ITEMTYPE> aComparator)
{
ValueEnforcer.notNull (aTree, "Tree");
ValueEnforcer.notNull (aComparator, "Comparator");
// sort root manually
aTree.getRootItem ().reorderChildrenByItems (aComparator);
// and now start iterating
TreeVisitor.visitTree (aTree, new DefaultHierarchyVisitorCallback <ITEMTYPE> ()
{
@Override
public EHierarchyVisitorReturn onItemBeforeChildren (@Nullable final ITEMTYPE aTreeItem)
{
if (aTreeItem != null)
aTreeItem.reorderChildrenByItems (aComparator);
return EHierarchyVisitorReturn.CONTINUE;
}
});
}
示例2: _sort
import com.helger.commons.hierarchy.visit.EHierarchyVisitorReturn; //导入依赖的package包/类
private static <DATATYPE, ITEMTYPE extends ITreeItem <DATATYPE, ITEMTYPE>> void _sort (@Nonnull final IBasicTree <? extends DATATYPE, ITEMTYPE> aTree,
@Nonnull final Comparator <? super ITEMTYPE> aComparator)
{
ValueEnforcer.notNull (aTree, "Tree");
ValueEnforcer.notNull (aComparator, "Comparator");
// and now start iterating (including the root item)
ChildrenProviderHierarchyVisitor.visitFrom (aTree.getRootItem (), new DefaultHierarchyVisitorCallback <ITEMTYPE> ()
{
@Override
@Nonnull
public EHierarchyVisitorReturn onItemBeforeChildren (@Nullable final ITEMTYPE aTreeItem)
{
if (aTreeItem != null)
aTreeItem.reorderChildItems (aComparator);
return EHierarchyVisitorReturn.CONTINUE;
}
}, true);
}
示例3: findAllItemsWithIDRecursive
import com.helger.commons.hierarchy.visit.EHierarchyVisitorReturn; //导入依赖的package包/类
/**
* Fill all items with the same ID by linearly scanning the tree.
*
* @param <KEYTYPE>
* tree ID type
* @param <DATATYPE>
* tree data type
* @param <ITEMTYPE>
* tree item type
* @param aTreeItem
* The tree item to search. May not be <code>null</code>.
* @param aSearchID
* The ID to search. May not be <code>null</code>.
* @return A non-<code>null</code> list with all matching items.
*/
@Nonnull
@ReturnsMutableCopy
public static <KEYTYPE, DATATYPE, ITEMTYPE extends ITreeItemWithID <KEYTYPE, DATATYPE, ITEMTYPE>> ICommonsList <ITEMTYPE> findAllItemsWithIDRecursive (@Nonnull final ITEMTYPE aTreeItem,
@Nullable final KEYTYPE aSearchID)
{
final ICommonsList <ITEMTYPE> aRetList = new CommonsArrayList <> ();
TreeVisitor.visitTreeItem (aTreeItem, new DefaultHierarchyVisitorCallback <ITEMTYPE> ()
{
@Override
@Nonnull
public EHierarchyVisitorReturn onItemBeforeChildren (@Nullable final ITEMTYPE aItem)
{
if (aItem != null && aItem.getID ().equals (aSearchID))
aRetList.add (aItem);
return EHierarchyVisitorReturn.CONTINUE;
}
});
return aRetList;
}
示例4: _getXMLAsTreeWithID
import com.helger.commons.hierarchy.visit.EHierarchyVisitorReturn; //导入依赖的package包/类
private static <KEYTYPE, DATATYPE, ITEMTYPE extends ITreeItemWithID <KEYTYPE, DATATYPE, ITEMTYPE>> void _getXMLAsTreeWithID (@Nonnull final IMicroElement aElement,
@Nonnull final Function <? super String, ? extends KEYTYPE> aIDConverter,
@Nonnull final IConverterMicroNodeToTreeItem <? extends DATATYPE> aDataConverter,
@Nonnull final BasicTreeWithID <KEYTYPE, DATATYPE, ITEMTYPE> aTree)
{
final String sNamespaceURI = aDataConverter.getNamespaceURI ();
final NonBlockingStack <ITEMTYPE> aParents = new NonBlockingStack <> ();
aParents.push (aTree.getRootItem ());
MicroVisitor.visit (aElement,
new ChildrenProviderElementWithName (sNamespaceURI, ELEMENT_ITEM),
new DefaultHierarchyVisitorCallback <IMicroElement> ()
{
@Override
@Nonnull
public EHierarchyVisitorReturn onItemBeforeChildren (@Nullable final IMicroElement eItem)
{
if (eItem != null)
{
final KEYTYPE aTreeItemID = aIDConverter.apply (eItem.getAttributeValue (ATTR_ID));
final IMicroElement eData = eItem.getFirstChildElement (sNamespaceURI, ELEMENT_DATA);
final DATATYPE aTreeItemValue = aDataConverter.getAsDataValue (eData);
final ITEMTYPE aTreeItem = aParents.peek ().createChildItem (aTreeItemID, aTreeItemValue);
aParents.push (aTreeItem);
}
return EHierarchyVisitorReturn.CONTINUE;
}
@Override
@Nonnull
public EHierarchyVisitorReturn onItemAfterChildren (@Nullable final IMicroElement aItem)
{
if (aItem != null)
aParents.pop ();
return EHierarchyVisitorReturn.CONTINUE;
}
});
}
示例5: onItemBeforeChildren
import com.helger.commons.hierarchy.visit.EHierarchyVisitorReturn; //导入依赖的package包/类
@Override
@Nonnull
public EHierarchyVisitorReturn onItemBeforeChildren (@Nonnull final ITEMTYPE aItem)
{
final DATATYPE aConvertedValue = m_aConverter.apply (aItem);
return m_aDataCallback.onItemBeforeChildren (aConvertedValue);
}
示例6: onItemAfterChildren
import com.helger.commons.hierarchy.visit.EHierarchyVisitorReturn; //导入依赖的package包/类
@Override
@Nonnull
public EHierarchyVisitorReturn onItemAfterChildren (@Nonnull final ITEMTYPE aItem)
{
final DATATYPE aConvertedValue = m_aConverter.apply (aItem);
return m_aDataCallback.onItemAfterChildren (aConvertedValue);
}
示例7: onItemBeforeChildren
import com.helger.commons.hierarchy.visit.EHierarchyVisitorReturn; //导入依赖的package包/类
@Override
public EHierarchyVisitorReturn onItemBeforeChildren (final DefaultTreeItemWithID <String, Object> aItem)
{
if (getLevel () < 0)
throw new IllegalStateException ();
m_aMI.inc ();
return EHierarchyVisitorReturn.CONTINUE;
}