Class RuntimeObjectFactory

  • All Implemented Interfaces:
    org.pentaho.platform.api.engine.IPentahoObjectFactory, org.pentaho.platform.api.engine.IPentahoRegistrableObjectFactory
    Direct Known Subclasses:
    OSGIRuntimeObjectFactory

    public class RuntimeObjectFactory
    extends Object
    implements org.pentaho.platform.api.engine.IPentahoRegistrableObjectFactory
    This class supports the registration of Object implementations as well as IPentahoObjectReferences at runtime.

    PentahoSystem adds an instance of this class to its AggregateObjectFactory and delegates to it for its static registration methods which shadow those defined in IPentahoRegistrableObjectFactory

    Created by nbaker on 2/19/14.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      protected class  RuntimeObjectFactory.ObjectRegistration
      Handle returned when an object or reference is registered.
      • Nested classes/interfaces inherited from interface org.pentaho.platform.api.engine.IPentahoRegistrableObjectFactory

        org.pentaho.platform.api.engine.IPentahoRegistrableObjectFactory.Types
    • Field Summary

      • Fields inherited from interface org.pentaho.platform.api.engine.IPentahoObjectFactory

        DEFAULT_PRIORTIY
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      <T> T get​(Class<T> interfaceClass, String key, org.pentaho.platform.api.engine.IPentahoSession session)
      <T> T get​(Class<T> interfaceClass, org.pentaho.platform.api.engine.IPentahoSession session)
      <T> T get​(Class<T> interfaceClass, org.pentaho.platform.api.engine.IPentahoSession session, Map<String,​String> properties)
      <T> List<T> getAll​(Class<T> interfaceClass, org.pentaho.platform.api.engine.IPentahoSession session)
      <T> List<T> getAll​(Class<T> interfaceClass, org.pentaho.platform.api.engine.IPentahoSession session, Map<String,​String> properties)
      Class<?> getImplementingClass​(String key)
      This class cannot respond to a simple key request.
      String getName()
      <T> org.pentaho.platform.api.engine.IPentahoObjectReference<T> getObjectReference​(Class<T> interfaceClass, org.pentaho.platform.api.engine.IPentahoSession curSession)
      <T> org.pentaho.platform.api.engine.IPentahoObjectReference<T> getObjectReference​(Class<T> interfaceClass, org.pentaho.platform.api.engine.IPentahoSession curSession, Map<String,​String> properties)
      <T> List<org.pentaho.platform.api.engine.IPentahoObjectReference<T>> getObjectReferences​(Class<T> interfaceClass, org.pentaho.platform.api.engine.IPentahoSession curSession)
      <T> List<org.pentaho.platform.api.engine.IPentahoObjectReference<T>> getObjectReferences​(Class<T> interfaceClass, org.pentaho.platform.api.engine.IPentahoSession curSession, Map<String,​String> properties)
      protected <T> List<org.pentaho.platform.api.engine.IPentahoObjectReference<?>> getReferencesByQuery​(Class<T> type, Map<String,​String> query)  
      void init​(String configFile, Object context)
      No meaning for this class.
      boolean objectDefined​(Class<?> clazz)
      boolean objectDefined​(String key)
      This class cannot respond to a simple key request.
      <T> org.pentaho.platform.api.engine.IPentahoObjectRegistration registerObject​(T obj)
      <T> org.pentaho.platform.api.engine.IPentahoObjectRegistration registerObject​(T obj, Class<?>... classes)  
      <T> org.pentaho.platform.api.engine.IPentahoObjectRegistration registerObject​(T obj, org.pentaho.platform.api.engine.IPentahoRegistrableObjectFactory.Types types)
      <T> org.pentaho.platform.api.engine.IPentahoObjectRegistration registerReference​(org.pentaho.platform.api.engine.IPentahoObjectReference<T> reference)
      <T> org.pentaho.platform.api.engine.IPentahoObjectRegistration registerReference​(org.pentaho.platform.api.engine.IPentahoObjectReference<T> reference, Class<?>... classes)  
      <T> org.pentaho.platform.api.engine.IPentahoObjectRegistration registerReference​(org.pentaho.platform.api.engine.IPentahoObjectReference<T> reference, org.pentaho.platform.api.engine.IPentahoRegistrableObjectFactory.Types types)
    • Constructor Detail

      • RuntimeObjectFactory

        public RuntimeObjectFactory()
    • Method Detail

      • registerObject

        public <T> org.pentaho.platform.api.engine.IPentahoObjectRegistration registerObject​(T obj)
        Specified by:
        registerObject in interface org.pentaho.platform.api.engine.IPentahoRegistrableObjectFactory
      • registerReference

        public <T> org.pentaho.platform.api.engine.IPentahoObjectRegistration registerReference​(org.pentaho.platform.api.engine.IPentahoObjectReference<T> reference)
        Specified by:
        registerReference in interface org.pentaho.platform.api.engine.IPentahoRegistrableObjectFactory
      • registerObject

        public <T> org.pentaho.platform.api.engine.IPentahoObjectRegistration registerObject​(T obj,
                                                                                             org.pentaho.platform.api.engine.IPentahoRegistrableObjectFactory.Types types)
        Specified by:
        registerObject in interface org.pentaho.platform.api.engine.IPentahoRegistrableObjectFactory
      • registerReference

        public <T> org.pentaho.platform.api.engine.IPentahoObjectRegistration registerReference​(org.pentaho.platform.api.engine.IPentahoObjectReference<T> reference,
                                                                                                org.pentaho.platform.api.engine.IPentahoRegistrableObjectFactory.Types types)
        Specified by:
        registerReference in interface org.pentaho.platform.api.engine.IPentahoRegistrableObjectFactory
      • registerObject

        public <T> org.pentaho.platform.api.engine.IPentahoObjectRegistration registerObject​(T obj,
                                                                                             Class<?>... classes)
        Specified by:
        registerObject in interface org.pentaho.platform.api.engine.IPentahoRegistrableObjectFactory
      • registerReference

        public <T> org.pentaho.platform.api.engine.IPentahoObjectRegistration registerReference​(org.pentaho.platform.api.engine.IPentahoObjectReference<T> reference,
                                                                                                Class<?>... classes)
        Specified by:
        registerReference in interface org.pentaho.platform.api.engine.IPentahoRegistrableObjectFactory
      • get

        public <T> T get​(Class<T> interfaceClass,
                         org.pentaho.platform.api.engine.IPentahoSession session)
                  throws org.pentaho.platform.api.engine.ObjectFactoryException
        Specified by:
        get in interface org.pentaho.platform.api.engine.IPentahoObjectFactory
        Throws:
        org.pentaho.platform.api.engine.ObjectFactoryException
      • get

        public <T> T get​(Class<T> interfaceClass,
                         String key,
                         org.pentaho.platform.api.engine.IPentahoSession session)
                  throws org.pentaho.platform.api.engine.ObjectFactoryException
        Specified by:
        get in interface org.pentaho.platform.api.engine.IPentahoObjectFactory
        Throws:
        org.pentaho.platform.api.engine.ObjectFactoryException
      • get

        public <T> T get​(Class<T> interfaceClass,
                         org.pentaho.platform.api.engine.IPentahoSession session,
                         Map<String,​String> properties)
                  throws org.pentaho.platform.api.engine.ObjectFactoryException
        Specified by:
        get in interface org.pentaho.platform.api.engine.IPentahoObjectFactory
        Throws:
        org.pentaho.platform.api.engine.ObjectFactoryException
      • objectDefined

        public boolean objectDefined​(String key)
        This class cannot respond to a simple key request. False will always be returned.

        Specified by:
        objectDefined in interface org.pentaho.platform.api.engine.IPentahoObjectFactory
      • objectDefined

        public boolean objectDefined​(Class<?> clazz)
        Specified by:
        objectDefined in interface org.pentaho.platform.api.engine.IPentahoObjectFactory
      • getImplementingClass

        public Class<?> getImplementingClass​(String key)
        This class cannot respond to a simple key request. Null will always be returned.

        Specified by:
        getImplementingClass in interface org.pentaho.platform.api.engine.IPentahoObjectFactory
      • init

        public void init​(String configFile,
                         Object context)
        No meaning for this class. No-Op Implementation to satisfy interface.

        Specified by:
        init in interface org.pentaho.platform.api.engine.IPentahoObjectFactory
      • getAll

        public <T> List<T> getAll​(Class<T> interfaceClass,
                                  org.pentaho.platform.api.engine.IPentahoSession session)
                           throws org.pentaho.platform.api.engine.ObjectFactoryException
        Specified by:
        getAll in interface org.pentaho.platform.api.engine.IPentahoObjectFactory
        Throws:
        org.pentaho.platform.api.engine.ObjectFactoryException
      • getAll

        public <T> List<T> getAll​(Class<T> interfaceClass,
                                  org.pentaho.platform.api.engine.IPentahoSession session,
                                  Map<String,​String> properties)
                           throws org.pentaho.platform.api.engine.ObjectFactoryException
        Specified by:
        getAll in interface org.pentaho.platform.api.engine.IPentahoObjectFactory
        Throws:
        org.pentaho.platform.api.engine.ObjectFactoryException
      • getObjectReference

        public <T> org.pentaho.platform.api.engine.IPentahoObjectReference<T> getObjectReference​(Class<T> interfaceClass,
                                                                                                 org.pentaho.platform.api.engine.IPentahoSession curSession)
                                                                                          throws org.pentaho.platform.api.engine.ObjectFactoryException
        Specified by:
        getObjectReference in interface org.pentaho.platform.api.engine.IPentahoObjectFactory
        Throws:
        org.pentaho.platform.api.engine.ObjectFactoryException
      • getObjectReference

        public <T> org.pentaho.platform.api.engine.IPentahoObjectReference<T> getObjectReference​(Class<T> interfaceClass,
                                                                                                 org.pentaho.platform.api.engine.IPentahoSession curSession,
                                                                                                 Map<String,​String> properties)
                                                                                          throws org.pentaho.platform.api.engine.ObjectFactoryException
        Specified by:
        getObjectReference in interface org.pentaho.platform.api.engine.IPentahoObjectFactory
        Throws:
        org.pentaho.platform.api.engine.ObjectFactoryException
      • getObjectReferences

        public <T> List<org.pentaho.platform.api.engine.IPentahoObjectReference<T>> getObjectReferences​(Class<T> interfaceClass,
                                                                                                        org.pentaho.platform.api.engine.IPentahoSession curSession)
                                                                                                 throws org.pentaho.platform.api.engine.ObjectFactoryException
        Specified by:
        getObjectReferences in interface org.pentaho.platform.api.engine.IPentahoObjectFactory
        Throws:
        org.pentaho.platform.api.engine.ObjectFactoryException
      • getObjectReferences

        public <T> List<org.pentaho.platform.api.engine.IPentahoObjectReference<T>> getObjectReferences​(Class<T> interfaceClass,
                                                                                                        org.pentaho.platform.api.engine.IPentahoSession curSession,
                                                                                                        Map<String,​String> properties)
                                                                                                 throws org.pentaho.platform.api.engine.ObjectFactoryException
        Specified by:
        getObjectReferences in interface org.pentaho.platform.api.engine.IPentahoObjectFactory
        Throws:
        org.pentaho.platform.api.engine.ObjectFactoryException
      • getName

        public String getName()
        Specified by:
        getName in interface org.pentaho.platform.api.engine.IPentahoObjectFactory
      • getReferencesByQuery

        protected <T> List<org.pentaho.platform.api.engine.IPentahoObjectReference<?>> getReferencesByQuery​(Class<T> type,
                                                                                                            Map<String,​String> query)