Class SecurityLevelConfig
java.lang.Object
com.inductiveautomation.ignition.common.auth.security.level.SecurityLevelConfig
- All Implemented Interfaces:
Serializable
A SecurityLevelConfig is a node on a security level tree which encapsulates the node's name, its description, and
its children.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
Support for Gson serialization and deserialization -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final com.inductiveautomation.ignition.common.gson.Gson
-
Constructor Summary
ConstructorsConstructorDescriptionSecurityLevelConfig
(String name) SecurityLevelConfig
(String name, String description, com.google.common.collect.ImmutableCollection<SecurityLevelConfig> children) -
Method Summary
Modifier and TypeMethodDescriptionboolean
static Optional<SecurityLevelConfig>
find
(com.google.common.collect.ImmutableCollection<SecurityLevelConfig> children, String... path) static SecurityLevelConfig
static SecurityLevelConfig
fromJsonTree
(com.inductiveautomation.ignition.common.gson.JsonElement jsonElement) static com.google.common.collect.ImmutableSet<SecurityLevelConfig>
Merges an arbitrary number of security level paths into a security level tree according to the merging behavior specified bymerge(SecurityLevelConfig...)
.com.google.common.collect.ImmutableSet<SecurityLevelConfig>
getName()
int
hashCode()
static com.google.common.collect.ImmutableSet<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.toJson()
com.inductiveautomation.ignition.common.gson.JsonElement
String[][]
toPaths()
toString()
-
Field Details
-
GSON
public static final com.inductiveautomation.ignition.common.gson.Gson GSON
-
-
Constructor Details
-
SecurityLevelConfig
-
SecurityLevelConfig
public SecurityLevelConfig(String name, String description, com.google.common.collect.ImmutableCollection<SecurityLevelConfig> children)
-
-
Method Details
-
getName
-
getDescription
-
getChildren
-
find
public static Optional<SecurityLevelConfig> find(com.google.common.collect.ImmutableCollection<SecurityLevelConfig> children, String... path) -
find
-
hashCode
public int hashCode() -
equals
-
toString
-
fromJson
-
fromJsonTree
public static SecurityLevelConfig fromJsonTree(com.inductiveautomation.ignition.common.gson.JsonElement jsonElement) -
toJson
-
toJsonTree
public com.inductiveautomation.ignition.common.gson.JsonElement toJsonTree() -
merge
public static com.google.common.collect.ImmutableSet<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. All nullSecurityLevelConfig
s are ignored.- Parameters:
configs
- theSecurityLevelConfigs
to merge- Returns:
- the merged
ImmutableSet
ofSecurityLevelConfigs
-
fromPaths
public static com.google.common.collect.ImmutableSet<SecurityLevelConfig> fromPaths(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
ImmutableSet
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:
-
toPaths
- Returns:
- a flattened array of security level paths from the root node of this security level config tree to the leaf nodes
-