Class DefaultSubclassRegistry

java.lang.Object
de.hybris.platform.webservicescommons.mapping.impl.DefaultSubclassRegistry
All Implemented Interfaces:
SubclassRegistry, org.springframework.beans.factory.Aware, org.springframework.context.ApplicationContextAware

public class DefaultSubclassRegistry extends Object implements SubclassRegistry, org.springframework.context.ApplicationContextAware
Default implementation of SubclassRegistry
  • Constructor Details

    • DefaultSubclassRegistry

      public DefaultSubclassRegistry()
  • Method Details

    • setApplicationContext

      public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
      Specified by:
      setApplicationContext in interface org.springframework.context.ApplicationContextAware
    • init

      public void init()
    • buildSubclassesMap

      protected void buildSubclassesMap(org.springframework.context.ApplicationContext applicationContext)
      Builds the subclasses map based on all the managed beans of type SubclassMapping.
      Parameters:
      applicationContext - The application context to look for managed beans in.
    • getSubclasses

      public Set<Class> getSubclasses(Class parentClass)
      Method returns information about direct subclasses for given parent class
      Specified by:
      getSubclasses in interface SubclassRegistry
      Parameters:
      parentClass - class, for which we want to get subclasses
      Returns:
      direct subclasses set
    • getAllSubclasses

      public Set<Class> getAllSubclasses(Class parentClass)
      Method returns information about all subclasses (not only direct) for given parent class
      Specified by:
      getAllSubclasses in interface SubclassRegistry
      Parameters:
      parentClass - class, for which we want to get all subclasses in hierarchy
      Returns:
      all subclasses in hierarchy
    • createSubclassesSet

      protected void createSubclassesSet(Class parentClass, Set<Class> allSubclasses)
    • registerSubclass

      public void registerSubclass(Class parentClass, Class subclass)
      Register direct subclass for given parent class
      Specified by:
      registerSubclass in interface SubclassRegistry
      Parameters:
      parentClass - class, for which we want to register subclass
      subclass - subclasses, which will be registered
    • registerSubclasses

      public void registerSubclasses(Class parentClass, Set<Class> subclasses)
      Method register whole set of subclasses for given class
      Specified by:
      registerSubclasses in interface SubclassRegistry
      Parameters:
      parentClass - class, for which we want to register subclasses
      subclasses - subclasses, which will be registered
    • unregisterSubclass

      public void unregisterSubclass(Class parentClass, Class subclass)
      Unregister direct subclass for given parent class
      Specified by:
      unregisterSubclass in interface SubclassRegistry
      Parameters:
      parentClass - class, for which we want to unregister subclass
      subclass - subclass, which should be unregistered
    • unregisterSubclasses

      public void unregisterSubclasses(Class parentClass, Set<Class> subclasses)
      Unregister direct subclasses for given parent class
      Specified by:
      unregisterSubclasses in interface SubclassRegistry
      Parameters:
      parentClass - class, for which we want to unregister subclasses
      subclasses - subclasses, which should be unregistered
    • unregisterSubclasses

      public void unregisterSubclasses(Class parentClass)
      Unregister all direct subclasses for given parent class
      Specified by:
      unregisterSubclasses in interface SubclassRegistry
      Parameters:
      parentClass - class, for which we want to unregister subclasses