module Sbuilder ## # Mixer module to include to API loader plugins # # Implement: # - getter & setter for Snippet loader facade module SnippetLoaderPluginMixer ## # Sbuilder controller calls 'setFacade' when new API loader object # is contstructed. Sets instance variable '@facade'. # # @param [Sbuilder::ApiLoaderFacade] facace to Sbuilder services def setSnippetFacade( facade ) @snippetFacade = facade end # @return [Sbuilder::ApiLoaderFacade] snippetFacade to access Sbuilder servivices ( set in 'setFacade') def snippetFacade @snippetFacade end ## # A method available for plugin sub class, allowing sub class to # register metatype prio def registerMetatype( metatype, desc ) snippetFacade.registerMetatype( metatype, desc ) end ## # @param [Hash] snippetsDefs defining snippets to # load. +snippetsDefs+ are passed un modified to plugin # implementation def registerSnippets( snippetsDefs ) # call implementation in concrete class logger.info "#{__method__}, snippetsDefs=#{snippetsDefs}" doRegisterSnippets( snippetsDefs ) end # def validateProperties( hash, required_props, allowed_props ) # SnippetLoaderPlugin.validateProperties( hash, required_props, allowed_props ) # end def self.validateProperties( hash, required_props, allowed_props ) Sbuilder::Utils::Validate.validateProperties( hash, required_props, allowed_props ) end end end