Class ClassSet

java.lang.Object
xyz.cofe.collection.BasicEventSet<java.lang.Class>
xyz.cofe.collection.ClassSet
All Implemented Interfaces:
java.lang.Iterable<java.lang.Class>, java.util.Collection<java.lang.Class>, java.util.Set<java.lang.Class>, CollectionEventPublisher<EventSet<java.lang.Class>,​java.lang.Class>, EventSet<java.lang.Class>, GetReadLock, GetWriteLock, ReadWriteLockSupport, Eterable<java.lang.Class>, LongScn<EventSet<java.lang.Class>,​CollectionEvent<EventSet<java.lang.Class>,​java.lang.Class>>, Scn<EventSet<java.lang.Class>,​java.lang.Long,​CollectionEvent<EventSet<java.lang.Class>,​java.lang.Class>>

public class ClassSet
extends BasicEventSet<java.lang.Class>
Набор классов с поддержкой конструкции instanceof
Author:
gocha
  • Constructor Details

    • ClassSet

      public ClassSet()
      Конструктор
    • ClassSet

      public ClassSet​(boolean inverse)
      Конструктор
      Parameters:
      inverse - true - в порядке от дочернего к родит; false - от родител. к дочернему
    • ClassSet

      public ClassSet​(boolean inverse, java.lang.Iterable<java.lang.Class> itr)
      Конструктор
      Parameters:
      inverse - true - в порядке от дочернего к родит; false - от родител. к дочернему
      itr - Начальное наполнение
  • Method Details

    • getAssignableFrom

      public java.util.Collection<java.lang.Class> getAssignableFrom​(java.lang.Class cls, boolean parentClasses, boolean childrenClasses)
      Возвращает классы удовлетворяющие заданным конструкции
      Parameters:
      cls - Класс
      parentClasses - Результат(Класс) - является этим же классом либо родительским.
      Результат принимает (=) значения Параметра
      (cls instanceof Результат)
      childrenClasses - Результат - является дочерним либо этим же классом.
      Параметр принимает (=) результат(Класс)
      (Результат instanceof cls)
      Returns:
      Классы
    • getParentClassesFrom

      public java.util.Collection<java.lang.Class> getParentClassesFrom​(java.lang.Class cls)
      Возвращает родительские классы (включая этот клас)
      Parameters:
      cls - Класс относительного которого производится отчет родительских классов
      Returns:
      Родительские классы
    • getFirstParentClassesFrom

      public java.lang.Class getFirstParentClassesFrom​(java.lang.Class cls)
      Возвращает первый родитеский класс (возможно указанный) и выборки getParentClassesFrom()
      Parameters:
      cls - Класс относительного которого производится отчет родительских классов
      Returns:
      Родительский класс или null
      See Also:
      getParentClassesFrom(java.lang.Class)
    • getLastParentClassesFrom

      public java.lang.Class getLastParentClassesFrom​(java.lang.Class cls)
      Возвращает последний родитеский класс (возможно указанный) и выборки getParentClassesFrom()
      Parameters:
      cls - Класс относительного которого производится отчет родительских классов
      Returns:
      Родительский класс или null
      See Also:
      getParentClassesFrom(java.lang.Class)
    • getChildClassesFrom

      public java.util.Collection<java.lang.Class> getChildClassesFrom​(java.lang.Class cls)
      Возвращает дочерние классы (включая этот клас)
      Parameters:
      cls - Класс относительного которого производится отчет дочерних классов
      Returns:
      Дочерние классы
    • getFirstChildClassesFrom

      public java.lang.Class getFirstChildClassesFrom​(java.lang.Class cls)
      Возвращает первый дочерний класс (возможно указанный) и выборки getChildClassesFrom()
      Parameters:
      cls - Класс относительного которого производится отчет дочерних классов
      Returns:
      Дочерний класс или null
      See Also:
      getChildClassesFrom(java.lang.Class)
    • getLastChildClassesFrom

      public java.lang.Class getLastChildClassesFrom​(java.lang.Class cls)
      Возвращает последний дочерний класс (возможно указанный) и выборки getChildClassesFrom()
      Parameters:
      cls - Класс относительного которого производится отчет дочерних классов
      Returns:
      Дочерний класс или null
      See Also:
      getChildClassesFrom(java.lang.Class)
    • createAssignableCollection

      protected java.util.Collection<java.lang.Class> createAssignableCollection()
      Создает пустую коллекцию для хранения перечня классов
      Returns:
      Пустая коллекция классов
    • firstItem

      public java.lang.Class firstItem()
      Возвращает первый элемент коллекции
      Returns:
      Первый элемент или null, если коллеция пуста
    • lastItem

      public java.lang.Class lastItem()
      Возвращает последний элемент коллекции
      Returns:
      Последний элемент или null, если коллеция пуста