java.lang.Object
xyz.cofe.collection.ClassNode
- All Implemented Interfaces:
java.util.function.Function,NodesExtracter,LongScn<ClassNode,java.lang.Object>,Scn<ClassNode,java.lang.Long,java.lang.Object>
public class ClassNode extends java.lang.Object implements NodesExtracter, LongScn<ClassNode,java.lang.Object>
Функция "следования" (извлечения) дочерних/связынных объектов из объектов определенного типа.
Использование:
ClassNode cn = new ClassNode();
// Определяем функцию извелечения дочерних файлов из каталога
cn.add( File.class, new NodesExtracter(){ ... } );
// Определяем функцию 1 извелечения элементов из списка
cn.add( List.class, new NodesExtracter(){ ... } );
// Определяем функцию 2 извелечения элементов из списка в обратном порядке
cn.add( List.class, new NodesExtracter(){ ... } );
// вернет итератор по элементам,
// при чем элементы будут возвращены по два раза
// в прямом и в обратном порядке т.к. определены две функции
for( Object it : cn.fetch( list ) )
- Author:
- Kamnev Georgiy (nt.gocha@gmail.com)
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Map<java.lang.Class,java.util.Set<NodesExtracter>>typedExtracterprotected ClassSettypes -
Constructor Summary
-
Method Summary
Modifier and Type Method Description java.io.Closeableadd(java.lang.Class cls, NodesExtracter ne)Добавляет функцию следования<T> ClassNodeadds(java.lang.Class<T> cls, NodesExtracter<T,?>... ne)Добавляет функции следования для указанного типаvoidclear()Очищает все функции следования для указанного типаvoidclear(java.lang.Class cls)Очищает все функции следования для указанного типаClassNodeclone()КлонированиеEterableextract(java.lang.Object from)Возвращает набор функций подходящих для извлечения данных (синоним fetch).NodesExtracter[]extractersOf(java.lang.Class cls)Возвращает набор функций подходящих для извлечения данныхEterablefetch(java.lang.Object node)Возвращает набор функций подходящих для извлечения данныхjava.lang.Class[]getClasses()Возвращает зарегистрированные типыNodesExtracter[]getNodeExtracters(java.lang.Class cls)Возвращает функции следования для указанного типаbooleanhasClass(java.lang.Class cls)Проверяет наличие функций у указанного типаvoidremove(java.lang.Class cls, NodesExtracter ne)Удаляет функцию следованияMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface xyz.cofe.scn.Scn
addScnChangedListener, addScnChangedListener, fireScnChanged, fireScnChanged, getScnChangedListeners, hasScnChangedListener, onScn, removeAllScnChangedListeners, removeScnChangedListener, scn, scn
-
Field Details
-
Constructor Details
-
Method Details
-
clone
Клонирование- Overrides:
clonein classjava.lang.Object- Returns:
- клон
-
adds
Добавляет функции следования для указанного типа- Type Parameters:
T- тип- Parameters:
cls- типne- функции- Returns:
- self ссылка
-
add
Добавляет функцию следования- Parameters:
cls- типne- функция следования- Returns:
- интерфейс для удаления ассоциации
-
remove
Удаляет функцию следования- Parameters:
cls- типne- функция
-
clear
public void clear(java.lang.Class cls)Очищает все функции следования для указанного типа- Parameters:
cls- тип
-
clear
public void clear()Очищает все функции следования для указанного типа -
hasClass
public boolean hasClass(java.lang.Class cls)Проверяет наличие функций у указанного типа- Parameters:
cls- тип- Returns:
- true - есть функции
-
getClasses
public java.lang.Class[] getClasses()Возвращает зарегистрированные типы- Returns:
- типы
-
getNodeExtracters
Возвращает функции следования для указанного типа- Parameters:
cls- тип- Returns:
- функции
- See Also:
Map.get(java.lang.Object)
-
extractersOf
Возвращает набор функций подходящих для извлечения данных- Parameters:
cls- тип данных- Returns:
- набор подходящих функций
-
fetch
Возвращает набор функций подходящих для извлечения данных- Parameters:
node- объект из которого происходит извлечение данных- Returns:
- Объекты которые следуют согласно указанным функциям
-
extract
Возвращает набор функций подходящих для извлечения данных (синоним fetch).- Specified by:
extractin interfaceNodesExtracter- Parameters:
from- объект из которого происходит извлечение данных- Returns:
- Объекты которые следуют согласно указанным функциям
- See Also:
fetch(java.lang.Object)
-