Class ToolInfo

    • Constructor Detail

      • ToolInfo

        public ToolInfo​(String key,
                        Class clazz)
        Creates a new instance using the minimum required info necessary for a tool.
    • Method Detail

      • setKey

        public void setKey​(String key)
        Mutators
      • setClass

        public void setClass​(Class clazz)
        Tries to create an instance of the specified Class, then looks for a configure(Map) method.
        Parameters:
        clazz - the java.lang.Class of the tool
      • restrictTo

        public void restrictTo​(String path)
        Parameters:
        path - the full or partial request path restriction of the tool
      • setSkipSetters

        public void setSkipSetters​(boolean cfgOnly)
      • addProperties

        public void addProperties​(Map<String,​Object> parentProps)
        Adds a map of properties from a parent scope to the properties for this tool. Only new properties will be added; any that are already set for this tool will be ignored.
      • putProperty

        public Object putProperty​(String name,
                                  Object value)
        Puts a new property for this tool.
      • getKey

        public String getKey()
        Accessors
      • getClassname

        public String getClassname()
      • getToolClass

        public Class getToolClass()
      • hasConfigure

        public boolean hasConfigure()
      • isSkipSetters

        public boolean isSkipSetters()
      • hasPermission

        public boolean hasPermission​(String path)
        Parameters:
        path - the path of a template requesting this tool
        Returns:
        true if the specified request path matches the restrictions of this tool. If there is no request path restriction for this tool, it will always return true.
      • create

        public Object create​(Map<String,​Object> dynamicProperties)
        Returns a new instance of the tool. If the tool has an configure(Map) method, the new instance will be initialized using the given properties combined with whatever "constant" properties have been put into this ToolInfo.
      • configure

        protected void configure​(Object tool,
                                 Map<String,​Object> configuration)
        Actually performs configuration of the newly instantiated tool using the combined final set of configuration properties. First, if the class lacks the SkipSetters annotation, then any specific setters matching the configuration keys are called, then the general configure(Map) method (if any) is called.
      • getConfigure

        protected Method getConfigure()
      • newInstance

        protected Object newInstance()