Interface BeanClass

All Superinterfaces:
BeanType
All Known Implementing Classes:
BeanClassImpl

public interface BeanClass extends BeanType
BeanClass extends BeanType for a VirtualBean with extended information.
Since:
1.0.0
See Also:
  • Method Details

    • getSuperClasses

      Collection<BeanClass> getSuperClasses()
      Returns:
      the Collection of the super BeanClass this class inherits from.
    • getJavaClass

      Class<? extends VirtualBean> getJavaClass()
      Specified by:
      getJavaClass in interface BeanType
      Returns:
      the primary Class (or interface) reflecting the "implementation" of this BeanType. If this BeanType is virtual this will be inherited from the first parent class.
    • getPrototype

      VirtualBean getPrototype()
      Returns:
      the prototype of this BeanClass. Properties added to this prototype will be inherited by all instances of this BeanClass including those created before adding the new property.
    • isSuperclassOf

      default boolean isSuperclassOf(BeanClass beanClass)
      Parameters:
      beanClass - the BeanClass to check hierarchical relationship with.
      Returns:
      true if this BeanClass is a transitive super-class of the given BeanClass, false otherwise.
    • isSuperclassOf

      default boolean isSuperclassOf(BeanClass beanClass, boolean transitive, boolean equal)
      Parameters:
      beanClass - the BeanClass to check hierarchical relationship with.
      transitive - true to check hierarchy transitive, false otherwise (only check for direct superclass).
      equal - true if equality of this and the given BeanClass will be accepted (returning true), false otherwise.
      Returns:
      true if this BeanClass is a (transitive) super-class of (or equal to) the given BeanClass, false otherwise.
    • isSubclassOf

      default boolean isSubclassOf(BeanClass beanClass)
      Parameters:
      beanClass - the BeanClass to check hierarchical relationship with.
      Returns:
      true if this BeanClass is a transitive sub-class of (or in other words inherits from) the given BeanClass, false otherwise.
    • isSubclassOf

      default boolean isSubclassOf(BeanClass beanClass, boolean transitive, boolean equal)
      Parameters:
      beanClass - the BeanClass to check hierarchical relationship with.
      transitive - true to check hierarchy transitive, false otherwise (only check for direct subclass).
      equal - true if equality of this and the given BeanClass will be accepted (returning true), false otherwise.
      Returns:
      true if this BeanClass is a (transitive) sub-class of (or equal to) the given BeanClass, false otherwise.
    • createVirtual

      static BeanClass createVirtual(String packageName, String simpleName, String stableName, BeanClass... superClasses)
      Parameters:
      packageName - the package name.
      simpleName - the simple name.
      stableName - the stable name.
      superClasses - the super-classes.
      Returns:
      the created virtual BeanClass.
      See Also: