| | |
| | | package com.zy.asrs.wms.utils; |
| | | |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.function.Function; |
| | | |
| | | /** |
| | | * Created by vincent on 2021/1/19 |
| | | */ |
| | | public class NodeUtils { |
| | | |
| | | public StringBuilder path = new StringBuilder(); |
| | | |
| | | public StringBuilder pathName = new StringBuilder(); |
| | | |
| | | public interface NodeSupport<T> { |
| | | T query(T t); |
| | | } |
| | | |
| | | public <T, R extends Serializable> void generatePath0( |
| | | NodeSupport<T> support |
| | | , T t |
| | | , Function<? super T, ? extends Long> idMapper |
| | | , Function<? super T, ? extends String> nameMapper |
| | | , Function<? super T, ? extends Long> parentIdMapper) { |
| | | T parent = support.query(t); |
| | | if (null != parent) { |
| | | path.insert(0, idMapper.apply(parent)).insert(0,","); |
| | | pathName.insert(0, nameMapper.apply(parent)).insert(0,","); |
| | | if (parentIdMapper.apply(parent) != null && parentIdMapper.apply(parent) != 0) { |
| | | generatePath0(support, parent, idMapper, nameMapper, parentIdMapper); |
| | | } else { |
| | | path.deleteCharAt(0); |
| | | pathName.deleteCharAt(0); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | package com.zy.asrs.wms.utils;
|
| | |
|
| | |
|
| | | import java.io.Serializable;
|
| | | import java.util.function.Function;
|
| | |
|
| | | /**
|
| | | * Created by vincent on 2021/1/19
|
| | | */
|
| | | public class NodeUtils {
|
| | |
|
| | | public StringBuilder path = new StringBuilder();
|
| | |
|
| | | public StringBuilder pathName = new StringBuilder();
|
| | |
|
| | | public interface NodeSupport<T> {
|
| | | T query(T t);
|
| | | }
|
| | |
|
| | | public <T, R extends Serializable> void generatePath0(
|
| | | NodeSupport<T> support
|
| | | , T t
|
| | | , Function<? super T, ? extends Long> idMapper
|
| | | , Function<? super T, ? extends String> nameMapper
|
| | | , Function<? super T, ? extends Long> parentIdMapper) {
|
| | | T parent = support.query(t);
|
| | | if (null != parent) {
|
| | | path.insert(0, idMapper.apply(parent)).insert(0,",");
|
| | | pathName.insert(0, nameMapper.apply(parent)).insert(0,",");
|
| | | if (parentIdMapper.apply(parent) != null && parentIdMapper.apply(parent) != 0) {
|
| | | generatePath0(support, parent, idMapper, nameMapper, parentIdMapper);
|
| | | } else {
|
| | | path.deleteCharAt(0);
|
| | | pathName.deleteCharAt(0);
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | |
|
| | | }
|