public class TypeCastGraph extends xyz.cofe.collection.graph.SimpleSDGraph<Class,xyz.cofe.collection.Convertor<Object,Object>> implements xyz.cofe.collection.graph.Graph<Class,xyz.cofe.collection.Convertor<Object,Object>>
| Modifier and Type | Field and Description |
|---|---|
protected xyz.cofe.collection.set.ClassSet |
classes |
protected xyz.cofe.collection.Convertor<xyz.cofe.collection.graph.Edge<Class,xyz.cofe.collection.Convertor<Object,Object>>,Double> |
edgeWeightConvertor |
| Constructor and Description |
|---|
TypeCastGraph()
Конструктор по умолчанию
|
TypeCastGraph(TypeCastGraph src)
Конструктор копирования
|
| Modifier and Type | Method and Description |
|---|---|
<TARGET> TARGET |
cast(Object value,
Class<TARGET> targetType)
Преборазования значения
|
Object |
cast(Object value,
Class targetType,
xyz.cofe.common.Reciver<SequenceCaster> newSeqCasters,
xyz.cofe.common.Reciver<xyz.cofe.collection.Convertor<Object,Object>> castedConvertor,
xyz.cofe.common.Reciver<xyz.cofe.collection.Pair<xyz.cofe.collection.Convertor<Object,Object>,Throwable>> failedCastConvertor)
Преборазования значения
|
TypeCastGraph |
clone()
Клонирование
|
xyz.cofe.collection.Convertor<xyz.cofe.collection.graph.Edge<Class,xyz.cofe.collection.Convertor<Object,Object>>,Double> |
createEdgeWeight()
Создание конвертора ребро графа -> вес
|
SequenceCaster |
createSequenceCaster(xyz.cofe.collection.graph.Path<Class,xyz.cofe.collection.Convertor<Object,Object>> path)
Создание Caster для цепочки преобразований
|
xyz.cofe.collection.graph.Path<Class,xyz.cofe.collection.Convertor<Object,Object>> |
findPath(Class from,
Class to)
Поиск пути цепочки преобразований.
|
xyz.cofe.collection.graph.Path<Class,xyz.cofe.collection.Convertor<Object,Object>> |
findPath(Class from,
Class to,
xyz.cofe.collection.Predicate<xyz.cofe.collection.graph.Path<Class,xyz.cofe.collection.Convertor<Object,Object>>> filter)
Поиск пути цепочки преобразований.
|
List<Class> |
findStartNode(Class type,
boolean strongCompare,
boolean childToParent,
boolean incParent,
boolean incChildren)
Получение начального узла преобразований
|
List<xyz.cofe.collection.graph.Path<Class,xyz.cofe.collection.Convertor<Object,Object>>> |
getCastPaths(Class fromType,
Class targetType)
Получение возможных путей преобразования
|
xyz.cofe.collection.Convertor<xyz.cofe.collection.graph.Edge<Class,xyz.cofe.collection.Convertor<Object,Object>>,Double> |
getEdgeWeight()
Получение конвертора ребра графа в его вес
|
protected void |
onNodeAdded(Class type) |
protected void |
onNodeRemoved(Class type) |
add, add, clearAll, clearEdges, contains, edgesOf, edgesOfNodeA, edgesOfNodeB, get, getEdge, getEdges, getEdges, getNodes, hasEdge, indexOf, onEdgeAdded, onEdgeRemoved, remove, remove, removeEdge, set, setEdge, setEdgespublic TypeCastGraph()
public TypeCastGraph(TypeCastGraph src)
src - конструкторpublic TypeCastGraph clone()
protected void onNodeAdded(Class type)
protected void onNodeRemoved(Class type)
public List<Class> findStartNode(Class type, boolean strongCompare, boolean childToParent, boolean incParent, boolean incChildren)
type - Искомый типstrongCompare - true - жесткое сравнение типов; false - использование конструкции instanceof в сравненииchildToParent - true - последовательность в порядке от дочерних классов, к родительскому классу incParent - true - включать в поиск родитеслькие классыincChildren - true - включать в поиск дочерние классыpublic xyz.cofe.collection.Convertor<xyz.cofe.collection.graph.Edge<Class,xyz.cofe.collection.Convertor<Object,Object>>,Double> createEdgeWeight()
public xyz.cofe.collection.Convertor<xyz.cofe.collection.graph.Edge<Class,xyz.cofe.collection.Convertor<Object,Object>>,Double> getEdgeWeight()
public xyz.cofe.collection.graph.Path<Class,xyz.cofe.collection.Convertor<Object,Object>> findPath(Class from, Class to)
from - класс начала пути преобразованияto - конечный класс пути преобразованияpublic xyz.cofe.collection.graph.Path<Class,xyz.cofe.collection.Convertor<Object,Object>> findPath(Class from, Class to, xyz.cofe.collection.Predicate<xyz.cofe.collection.graph.Path<Class,xyz.cofe.collection.Convertor<Object,Object>>> filter)
from - класс начала пути преобразованияto - конечный класс пути преобразованияfilter - Фильтр или nullpublic SequenceCaster createSequenceCaster(xyz.cofe.collection.graph.Path<Class,xyz.cofe.collection.Convertor<Object,Object>> path)
path - цепочка преобразованийpublic List<xyz.cofe.collection.graph.Path<Class,xyz.cofe.collection.Convertor<Object,Object>>> getCastPaths(Class fromType, Class targetType)
fromType - Исходный тип данныхtargetType - Конечный тип данныхpublic <TARGET> TARGET cast(Object value, Class<TARGET> targetType)
TARGET - Тип данных который хотим получитьvalue - Исходное значениеtargetType - Целевой типError - если невозможно преобразованиеpublic Object cast(Object value, Class targetType, xyz.cofe.common.Reciver<SequenceCaster> newSeqCasters, xyz.cofe.common.Reciver<xyz.cofe.collection.Convertor<Object,Object>> castedConvertor, xyz.cofe.common.Reciver<xyz.cofe.collection.Pair<xyz.cofe.collection.Convertor<Object,Object>,Throwable>> failedCastConvertor)
value - Исходное значениеtargetType - Целевой типnewSeqCasters - Созданные SequenceCastercastedConvertor - Convertor который удачно отработалfailedCastConvertor - Convertor который не удачно отработалError - если невозможно преобразованиеCopyright © 2017. All rights reserved.