Class ComponentDescriptorImpl

    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.Set<BrowserResource> browserResources()
      Returns a set of BrowserResources, which are provided to the designer and perspective client at runtime to insure the needed items are provided in the web environment to support the component.
      java.util.Optional<com.inductiveautomation.ignition.common.gson.JsonObject> childPositionDefaults()
      Defined default position property structure and values for children of new instances of this component.
      JsonSchema childPositionSchema()
      Used for components that are containers in order to provide a schema for the position objects of their children.
      java.lang.String defaultMetaName()
      The default meta.name value for this component.
      com.inductiveautomation.ignition.common.gson.JsonObject defaultProperties()
      Defines default property structure and values for new instances of this component.
      boolean deprecated()  
      java.util.Collection<ComponentEventDescriptor> events()  
      java.util.Collection<ExtensionFunctionDescriptor> extensionFunctions()  
      static ComponentDescriptorImpl.ComponentBuilder fromJson​(com.inductiveautomation.ignition.common.gson.JsonObject json, java.lang.String moduleId, java.lang.String versionHash)
      Builds a ComponentDescriptor, given a JsonObject that is follows the following format:
      static ComponentDescriptorImpl.ComponentBuilder fromJson​(com.inductiveautomation.ignition.common.gson.JsonObject json, java.lang.String moduleId, java.util.function.Function<java.lang.String,​javax.swing.Icon> iconFetcher, java.util.function.BiFunction<java.lang.String,​java.lang.String,​java.awt.image.BufferedImage> thumbnailFetcher, java.lang.String versionHash)
      Use this variant if you know how to provide icons and thumbnails for your components.
      java.util.Optional<com.inductiveautomation.ignition.common.gson.JsonObject> getExampleChildPositionDefaults()  
      java.util.Optional<javax.swing.Icon> getIcon()
      Return the icon that is registered along with the descriptor.
      java.lang.String id()
      The unique string that identifies this component
      java.lang.String moduleId()
      The moduleId should be a String id that matches the module that is contributing this component to the Ignition Perspective module system.
      java.lang.String name()  
      @NotNull java.lang.String paletteCategory()
      Which category this component should be listed under in the Designer's component palette.
      @NotNull java.util.Collection<PaletteEntry> paletteEntries()  
      JsonSchema schema()
      Defines the shape of the component's properties structure.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Method Detail

      • moduleId

        @Nonnull
        public java.lang.String moduleId()
        Description copied from interface: ComponentDescriptor
        The moduleId should be a String id that matches the module that is contributing this component to the Ignition Perspective module system.
        Specified by:
        moduleId in interface ComponentDescriptor
        Returns:
        the Ignition module ID of the module providing the component.
      • name

        public java.lang.String name()
        Specified by:
        name in interface ComponentDescriptor
        Returns:
        a human-readable name to briefly describe the component
      • deprecated

        public boolean deprecated()
        Specified by:
        deprecated in interface ComponentDescriptor
        Returns:
        true if this component is no longer in active use. This will hide it from the palette and other UI that allows users to pick components (e.g. tag drop config)
      • paletteCategory

        @NotNull
        public @NotNull java.lang.String paletteCategory()
        Description copied from interface: ComponentDescriptor
        Which category this component should be listed under in the Designer's component palette.
        Specified by:
        paletteCategory in interface ComponentDescriptor
      • defaultProperties

        @Nonnull
        public com.inductiveautomation.ignition.common.gson.JsonObject defaultProperties()
        Description copied from interface: ComponentDescriptor
        Defines default property structure and values for new instances of this component.
        Specified by:
        defaultProperties in interface ComponentDescriptor
      • childPositionDefaults

        public java.util.Optional<com.inductiveautomation.ignition.common.gson.JsonObject> childPositionDefaults()
        Description copied from interface: ComponentDescriptor
        Defined default position property structure and values for children of new instances of this component.
        Specified by:
        childPositionDefaults in interface ComponentDescriptor
      • browserResources

        @Nonnull
        public java.util.Set<BrowserResource> browserResources()
        Description copied from interface: ComponentDescriptor
        Returns a set of BrowserResources, which are provided to the designer and perspective client at runtime to insure the needed items are provided in the web environment to support the component. Common use cases are css files and js libraries. These resources are collected at runtime and added to the DOM prior to starting the project/view.
        Specified by:
        browserResources in interface ComponentDescriptor
        Returns:
        a set of resources that the component requires.
      • id

        @Nonnull
        public java.lang.String id()
        Description copied from interface: ComponentDescriptor
        The unique string that identifies this component
        Specified by:
        id in interface ComponentDescriptor
      • getIcon

        public java.util.Optional<javax.swing.Icon> getIcon()
        Description copied from interface: ComponentDescriptor

        Return the icon that is registered along with the descriptor. If an icon is not set, the default icon will be used instead.

        Pro-tip: use InteractiveSvgIcon to create an icon that works well in the nav-tree

        Specified by:
        getIcon in interface ComponentDescriptor
        Returns:
        icon used for the nav tree and component palette
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • fromJson

        public static ComponentDescriptorImpl.ComponentBuilder fromJson​(@Nonnull
                                                                        com.inductiveautomation.ignition.common.gson.JsonObject json,
                                                                        @Nonnull
                                                                        java.lang.String moduleId,
                                                                        @Nullable
                                                                        java.lang.String versionHash)
        Builds a ComponentDescriptor, given a JsonObject that is follows the following format:
         {
             "id": "mymodule.my-component",
             "name": "My Component",
             "deprecated": false, (optional),
             "defaultMetaName": "MyComp",
             "palette": {
                 "category": "Examples",
                 "variants": [
                    {
                        "label": "My Component",
                        "tooltip": "It's a useful component"
                    },
                    { (additional entries optional)
                        "id": "alt-1",
                        "label": "My Component - Alternate",
                        "tooltip": "It's like the normal version, but different"
                        "props": {
                            "someSetting": "set-differently"
                        }
                    }
                 ]
             }
             "schema": { json-schema here }
        
         }
         
        Parameters:
        json - object to build the descriptor from
        Returns:
        ComponentDescriptor populated from the given json object
        Since:
        Ignition 8.0.6
      • fromJson

        public static ComponentDescriptorImpl.ComponentBuilder fromJson​(@Nonnull
                                                                        com.inductiveautomation.ignition.common.gson.JsonObject json,
                                                                        @Nonnull
                                                                        java.lang.String moduleId,
                                                                        @Nonnull
                                                                        java.util.function.Function<java.lang.String,​javax.swing.Icon> iconFetcher,
                                                                        @Nonnull
                                                                        java.util.function.BiFunction<java.lang.String,​java.lang.String,​java.awt.image.BufferedImage> thumbnailFetcher,
                                                                        @Nullable
                                                                        java.lang.String versionHash)
        Use this variant if you know how to provide icons and thumbnails for your components.
        Parameters:
        iconFetcher - function of component id -> (nullable)icon
        thumbnailFetcher - function of (component id, variant id) -> (nullable)buffered image