Class SecurityLevelConfig


  • public class SecurityLevelConfig
    extends java.lang.Object
    A SecurityLevelConfig is a node on a security level tree which encapsulates the node's name, its description, and its children.
    See Also:
    SecurityLevelConfig.GsonAdapter
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  SecurityLevelConfig.GsonAdapter
      Support for Gson serialization and deserialization
    • Field Summary

      Fields 
      Modifier and Type Field Description
      com.google.common.collect.ImmutableCollection<SecurityLevelConfig> children  
      java.lang.String description  
      static com.inductiveautomation.ignition.common.gson.Gson GSON  
      java.lang.String name  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object o)  
      static java.util.Optional<SecurityLevelConfig> find​(com.google.common.collect.ImmutableCollection<SecurityLevelConfig> children, java.lang.String... path)  
      java.util.Optional<SecurityLevelConfig> find​(java.lang.String... path)  
      static SecurityLevelConfig fromJson​(java.lang.String s)  
      static com.google.common.collect.ImmutableCollection<SecurityLevelConfig> fromPaths​(java.lang.String[]... paths)
      Merges an arbitrary number of security level paths into a security level tree according to the merging behavior specified by merge(SecurityLevelConfig...).
      int hashCode()  
      static com.google.common.collect.ImmutableCollection<SecurityLevelConfig> merge​(SecurityLevelConfig... configs)
      Given n number of SecurityLevelConfigs, merges them together such that for each duplicate security level (identified based on the security level name), the duplicates are merged so the resulting security level has the duplicate name, the description of the last duplicate security level in the given array, and children resulting from recursively merging them together using this method.
      java.lang.String toJson()  
      com.inductiveautomation.ignition.common.gson.JsonElement toJsonTree()  
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • GSON

        public static final com.inductiveautomation.ignition.common.gson.Gson GSON
      • name

        public final java.lang.String name
      • description

        public final java.lang.String description
      • children

        public final com.google.common.collect.ImmutableCollection<SecurityLevelConfig> children
    • Constructor Detail

      • SecurityLevelConfig

        public SecurityLevelConfig​(@Nonnull
                                   java.lang.String name)
      • SecurityLevelConfig

        public SecurityLevelConfig​(@Nonnull
                                   java.lang.String name,
                                   @Nonnull
                                   java.lang.String description,
                                   @Nonnull
                                   com.google.common.collect.ImmutableCollection<SecurityLevelConfig> children)
    • Method Detail

      • find

        @Nonnull
        public static java.util.Optional<SecurityLevelConfig> find​(@Nonnull
                                                                   com.google.common.collect.ImmutableCollection<SecurityLevelConfig> children,
                                                                   @Nonnull
                                                                   java.lang.String... path)
      • find

        @Nonnull
        public java.util.Optional<SecurityLevelConfig> find​(@Nonnull
                                                            java.lang.String... path)
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • toString

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

        @Nonnull
        public static SecurityLevelConfig fromJson​(@Nonnull
                                                   java.lang.String s)
      • toJson

        @Nonnull
        public java.lang.String toJson()
      • toJsonTree

        @Nonnull
        public com.inductiveautomation.ignition.common.gson.JsonElement toJsonTree()
      • merge

        @Nonnull
        public static com.google.common.collect.ImmutableCollection<SecurityLevelConfig> merge​(@Nonnull
                                                                                               SecurityLevelConfig... configs)
        Given n number of SecurityLevelConfigs, merges them together such that for each duplicate security level (identified based on the security level name), the duplicates are merged so the resulting security level has the duplicate name, the description of the last duplicate security level in the given array, and children resulting from recursively merging them together using this method. All null SecurityLevelConfigs are ignored.
        Parameters:
        configs - the SecurityLevelConfigs to merge
        Returns:
        the merged ImmutableCollection of SecurityLevelConfigs
      • fromPaths

        @Nonnull
        public static com.google.common.collect.ImmutableCollection<SecurityLevelConfig> fromPaths​(@Nonnull
                                                                                                   java.lang.String[]... paths)

        Merges an arbitrary number of security level paths into a security level tree according to the merging behavior specified by merge(SecurityLevelConfig...).

        Each security level path is represented as a String array where the element at position n represents the name of the node at level n + 1 of a security level sub-tree under the root public node containing only the nodes specified in the path.

        The resultant security level tree is represented as an ImmutableCollection of SecurityLevelConfigs where each member of the collection is:

        1. A direct child of the implied root Public security level
        2. Itself the root of a security level sub-tree

        Any null paths or paths with no elements are ignored.

        Parameters:
        paths - the security levels paths to merge
        Returns:
        the security level tree
        See Also:
        merge(SecurityLevelConfig...)