public class TypeCastGraph extends SimpleSDGraph<Class,Convertor<Object,Object>> implements Graph<Class,Convertor<Object,Object>>
| Modifier and Type | Field and Description |
|---|---|
protected ClassSet |
classes |
protected Convertor<Edge<Class,Convertor<Object,Object>>,Double> |
edgeWeightConvertor |
edges, factory, nodes| 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,
Reciver<SequenceCaster> newSeqCasters,
Reciver<Convertor<Object,Object>> castedConvertor,
Reciver<Pair<Convertor<Object,Object>,Throwable>> failedCastConvertor)
Преборазования значения
|
TypeCastGraph |
clone()
Клонирование
|
Convertor<Edge<Class,Convertor<Object,Object>>,Double> |
createEdgeWeight()
Создание конвертора ребро графа -> вес
|
SequenceCaster |
createSequenceCaster(Path<Class,Convertor<Object,Object>> path)
Создание Caster для цепочки преобразований
|
Path<Class,Convertor<Object,Object>> |
findPath(Class from,
Class to)
Поиск пути цепочки преобразований.
|
Path<Class,Convertor<Object,Object>> |
findPath(Class from,
Class to,
Predicate<Path<Class,Convertor<Object,Object>>> filter)
Поиск пути цепочки преобразований.
|
List<Class> |
findStartNode(Class type,
boolean strongCompare,
boolean childToParent,
boolean incParent,
boolean incChildren)
Получение начального узла преобразований
|
List<Path<Class,Convertor<Object,Object>>> |
getCastPaths(Class fromType,
Class targetType)
Получение возможных путей преобразования
|
Convertor<Edge<Class,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, setEdgesequals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitadd, clearAll, clearEdges, contains, edgesOf, edgesOfNodeA, edgesOfNodeB, getEdge, getEdges, getEdges, getNodes, hasEdge, remove, removeEdge, setEdge, setEdgesprotected ClassSet classes
public TypeCastGraph()
public TypeCastGraph(TypeCastGraph src)
src - конструкторpublic TypeCastGraph clone()
protected void onNodeAdded(Class type)
SimpleSDGraphonNodeAdded in class SimpleSDGraph<Class,Convertor<Object,Object>>type - Вершинаprotected void onNodeRemoved(Class type)
SimpleSDGraphonNodeRemoved in class SimpleSDGraph<Class,Convertor<Object,Object>>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 Convertor<Edge<Class,Convertor<Object,Object>>,Double> createEdgeWeight()
public Convertor<Edge<Class,Convertor<Object,Object>>,Double> getEdgeWeight()
public Path<Class,Convertor<Object,Object>> findPath(Class from, Class to)
from - класс начала пути преобразованияto - конечный класс пути преобразованияpublic Path<Class,Convertor<Object,Object>> findPath(Class from, Class to, Predicate<Path<Class,Convertor<Object,Object>>> filter)
from - класс начала пути преобразованияto - конечный класс пути преобразованияfilter - Фильтр или nullpublic SequenceCaster createSequenceCaster(Path<Class,Convertor<Object,Object>> path)
path - цепочка преобразованийpublic List<Path<Class,Convertor<Object,Object>>> getCastPaths(Class fromType, Class targetType)
fromType - Исходный тип данныхtargetType - Конечный тип данныхpublic <TARGET> TARGET cast(Object value, Class<TARGET> targetType)
TARGET - Тип данных который хотим получитьvalue - Исходное значениеtargetType - Целевой типClassCastException - если невозможно преобразованиеpublic Object cast(Object value, Class targetType, Reciver<SequenceCaster> newSeqCasters, Reciver<Convertor<Object,Object>> castedConvertor, Reciver<Pair<Convertor<Object,Object>,Throwable>> failedCastConvertor)
value - Исходное значениеtargetType - Целевой типnewSeqCasters - Созданные SequenceCastercastedConvertor - Convertor который удачно отработалfailedCastConvertor - Convertor который не удачно отработалClassCastException - если невозможно преобразованиеCopyright © 2018. All rights reserved.