Class ComponentDescriptorImpl
- java.lang.Object
-
- com.inductiveautomation.perspective.common.api.ComponentDescriptorImpl
-
- All Implemented Interfaces:
ComponentDescriptor
public class ComponentDescriptorImpl extends java.lang.Object implements ComponentDescriptor
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classComponentDescriptorImpl.ComponentBuilder
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Set<BrowserResource>browserResources()Returns a set ofBrowserResources, 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.JsonSchemachildPositionSchema()Used for components that are containers in order to provide a schema for the position objects of their children.java.lang.StringdefaultMetaName()The default meta.name value for this component.com.inductiveautomation.ignition.common.gson.JsonObjectdefaultProperties()Defines default property structure and values for new instances of this component.java.util.Collection<ComponentEventDescriptor>events()static ComponentDescriptorImpl.ComponentBuilderfromJson(com.inductiveautomation.ignition.common.gson.JsonObject json, java.lang.String versionHash)Builds a ComponentDescriptor, given aJsonObjectthat is follows the following format:// TODOjava.util.Optional<com.inductiveautomation.ignition.common.gson.JsonObject>getExampleChildPositionDefaults()com.inductiveautomation.ignition.common.gson.JsonObjectgetExampleDefaultProps()javax.swing.IcongetIcon()Return the icon that is registered along with the descriptor.java.lang.Stringid()The unique string that identifies this componentjava.lang.StringmoduleId()The moduleId should be a String id that matches the module that is contributing this component to the Ignition Perspective module system.java.lang.StringpaletteCategory()Which category this component should be listed under in the Designer's component palette.java.lang.StringpaletteDescription()The description should return a short description of the component, generally as a short sentence.java.lang.StringpaletteName()The name for this component as it will be presented in the Designer palette, stored as aLocalizedString.JsonSchemaschema()Defines the shape of the component's properties structure.booleanshowOnPalette()java.lang.StringtoString()
-
-
-
Method Detail
-
moduleId
@Nonnull public java.lang.String moduleId()
Description copied from interface:ComponentDescriptorThe moduleId should be a String id that matches the module that is contributing this component to the Ignition Perspective module system.- Specified by:
moduleIdin interfaceComponentDescriptor- Returns:
- the Ignition module ID of the module providing the component.
-
paletteName
@Nonnull public java.lang.String paletteName()
Description copied from interface:ComponentDescriptorThe name for this component as it will be presented in the Designer palette, stored as aLocalizedString.- Specified by:
paletteNamein interfaceComponentDescriptor
-
defaultMetaName
@Nonnull public java.lang.String defaultMetaName()
Description copied from interface:ComponentDescriptorThe default meta.name value for this component.- Specified by:
defaultMetaNamein interfaceComponentDescriptor
-
paletteDescription
@Nonnull public java.lang.String paletteDescription()
Description copied from interface:ComponentDescriptorThe description should return a short description of the component, generally as a short sentence.- Specified by:
paletteDescriptionin interfaceComponentDescriptor- Returns:
- a short sentence about what this component does
-
defaultProperties
@Nonnull public com.inductiveautomation.ignition.common.gson.JsonObject defaultProperties()
Description copied from interface:ComponentDescriptorDefines default property structure and values for new instances of this component.- Specified by:
defaultPropertiesin interfaceComponentDescriptor
-
childPositionDefaults
public java.util.Optional<com.inductiveautomation.ignition.common.gson.JsonObject> childPositionDefaults()
Description copied from interface:ComponentDescriptorDefined default position property structure and values for children of new instances of this component.- Specified by:
childPositionDefaultsin interfaceComponentDescriptor
-
browserResources
@Nonnull public java.util.Set<BrowserResource> browserResources()
Description copied from interface:ComponentDescriptorReturns a set ofBrowserResources, 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:
browserResourcesin interfaceComponentDescriptor- Returns:
- a set of resources that the component requires.
-
schema
public JsonSchema schema()
Description copied from interface:ComponentDescriptorDefines the shape of the component's properties structure.- Specified by:
schemain interfaceComponentDescriptor
-
childPositionSchema
@Nullable public JsonSchema childPositionSchema()
Description copied from interface:ComponentDescriptorUsed for components that are containers in order to provide a schema for the position objects of their children.- Specified by:
childPositionSchemain interfaceComponentDescriptor
-
id
@Nonnull public java.lang.String id()
Description copied from interface:ComponentDescriptorThe unique string that identifies this component- Specified by:
idin interfaceComponentDescriptor
-
paletteCategory
@Nonnull public java.lang.String paletteCategory()
Description copied from interface:ComponentDescriptorWhich category this component should be listed under in the Designer's component palette.- Specified by:
paletteCategoryin interfaceComponentDescriptor
-
showOnPalette
public boolean showOnPalette()
- Specified by:
showOnPalettein interfaceComponentDescriptor- Returns:
- true if the component should be displayed in the Ignition Designer's Perspective Component palette. True by default, but may be implemented to return false to remove a component from the designer palette. Useful as a means to 'soft deprecate' a component without removing it from the system entirely, insuring that projects that already use said component will continue to function, but new instances of these components will not easily be created in the designer.
-
events
@Nonnull public java.util.Collection<ComponentEventDescriptor> events()
- Specified by:
eventsin interfaceComponentDescriptor- Returns:
- a collection of the events that this component might fire.
-
getExampleDefaultProps
@Nullable public com.inductiveautomation.ignition.common.gson.JsonObject getExampleDefaultProps()
- Specified by:
getExampleDefaultPropsin interfaceComponentDescriptor
-
getExampleChildPositionDefaults
public java.util.Optional<com.inductiveautomation.ignition.common.gson.JsonObject> getExampleChildPositionDefaults()
- Specified by:
getExampleChildPositionDefaultsin interfaceComponentDescriptor
-
getIcon
@Nullable public javax.swing.Icon getIcon()
Description copied from interface:ComponentDescriptorReturn the icon that is registered along with the descriptor. If an icon is not set, the default icon will be used instead.- Specified by:
getIconin interfaceComponentDescriptor- Returns:
- icon used for the nav tree and component palette
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
fromJson
public static ComponentDescriptorImpl.ComponentBuilder fromJson(@Nonnull com.inductiveautomation.ignition.common.gson.JsonObject json, @Nullable java.lang.String versionHash)
Builds a ComponentDescriptor, given aJsonObjectthat is follows the following format:// TODO- Parameters:
json- object to build the descriptor from- Returns:
- ComponentDescriptor populated from the given json object
- Since:
- Ignition 8.0.6
-
-