Class SecurityLevelConfig
- java.lang.Object
-
- com.inductiveautomation.ignition.common.auth.security.level.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
-
Constructor Summary
Constructors Constructor Description SecurityLevelConfig(java.lang.String name)
SecurityLevelConfig(java.lang.String name, java.lang.String description, com.google.common.collect.ImmutableCollection<SecurityLevelConfig> children)
-
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 bymerge(SecurityLevelConfig...)
.int
hashCode()
static com.google.common.collect.ImmutableCollection<SecurityLevelConfig>
merge(SecurityLevelConfig... configs)
Given n number ofSecurityLevelConfigs
, 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()
-
-
-
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 classjava.lang.Object
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
toString
@Nonnull public java.lang.String toString()
- Overrides:
toString
in classjava.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 ofSecurityLevelConfigs
, 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 nullSecurityLevelConfig
s are ignored.- Parameters:
configs
- theSecurityLevelConfigs
to merge- Returns:
- the merged
ImmutableCollection
ofSecurityLevelConfigs
-
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
ofSecurityLevelConfig
s where each member of the collection is:- A direct child of the implied root Public security level
- 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...)
-
-