Class AlarmEventInstance
- java.lang.Object
-
- com.inductiveautomation.ignition.common.alarming.AlarmEventInstance
-
- All Implemented Interfaces:
AlarmEvent
,Countable
,Extendable<PropertySet>
,Mergable<PropertySet>
,MutablePropertyValueSource
,PropertySet
,PropertyValueSource
,java.io.Serializable
,java.lang.Iterable<PropertyValue>
public class AlarmEventInstance extends java.lang.Object implements AlarmEvent
Alarm events normally exist as a single object in the system. However, in some cases (such as pipelines), we need to send the same event off in different directions, and we don't want to share the state between them. This class is used to create a new instance, which stores its own state, but still has a reference to the core event.- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from interface com.inductiveautomation.ignition.common.config.PropertySet
EMPTY
-
-
Constructor Summary
Constructors Constructor Description AlarmEventInstance(AlarmEvent core)
AlarmEventInstance(AlarmEvent core, AlarmStateTransition transition)
Convenience constructor for branching on new state transition *
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
acknowledge(EventData ackData)
void
active(EventData activeData)
static AlarmEventInstance
branch(AlarmEvent event)
Creates a new instance, incrementing the BranchDepth property.void
clear(EventData clearData)
boolean
contains(Property<?> prop)
<T> T
get(Property<T> prop)
Retrieves the value of the property, or null if this set doesn't contain that property.EventData
getAckData()
EventData
getActiveData()
EventData
getClearedData()
int
getCount()
StringPath
getDisplayPath()
java.lang.String
getDisplayPathOrSource()
java.util.UUID
getId()
The unique id for this event.java.lang.String
getLabel()
Returns the "Label" property, or "Name" if not defined.AlarmStateTransition
getLastEventState()
Returns the most recent transition, or if this event represents a single state, the particular state that it represents.PropertySet
getLocals()
java.lang.String
getName()
java.lang.String
getNotes()
<T> T
getOrDefault(Property<T> prop)
<T> T
getOrElse(Property<T> property, T value)
Get the value for a givenProperty
, or else fall back to value if it's not present.AlarmPriority
getPriority()
Returns the priority of the alarm event.java.util.Collection<Property<?>>
getProperties()
QualifiedPath
getSource()
The path to the alarm that generated this event.AlarmState
getState()
Returns the current state, as an enum.java.util.List<PropertyValue>
getValues()
Returns the opaque PropertyValue objects.boolean
isAcked()
boolean
isCleared()
boolean
isExtended(Property<?> prop)
Returns whether this property set contains a value for the prop, and the prop was actually inherited.boolean
isInherited(Property<?> prop)
Indicates whether the property was inherited from a parent type.boolean
isShelved()
Returns whether this is event is currently shelved, if the ShelfExpiration property is set, or whether the event was shelved, for journaled events, based on whether the IsShelved property is set.java.util.Iterator<PropertyValue>
iterator()
void
merge(PropertySet other)
void
remove(Property<?> prop)
<T> void
set(Property<T> prop, T value)
void
set(PropertyValue propValue)
<T> void
setGlobal(Property<T> p, T value)
java.lang.String
toString()
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.inductiveautomation.ignition.common.config.MutablePropertyValueSource
merge
-
Methods inherited from interface com.inductiveautomation.ignition.common.config.PropertySet
extend, getExtension, newDefaultInstance, newExtension
-
Methods inherited from interface com.inductiveautomation.ignition.common.config.PropertyValueSource
getNonNull, getNonNull
-
-
-
-
Constructor Detail
-
AlarmEventInstance
public AlarmEventInstance(AlarmEvent core)
-
AlarmEventInstance
public AlarmEventInstance(AlarmEvent core, AlarmStateTransition transition)
Convenience constructor for branching on new state transition *
-
-
Method Detail
-
branch
public static AlarmEventInstance branch(AlarmEvent event)
Creates a new instance, incrementing the BranchDepth property.
-
getLocals
public PropertySet getLocals()
-
getLastEventState
@Nullable public AlarmStateTransition getLastEventState()
Description copied from interface:AlarmEvent
Returns the most recent transition, or if this event represents a single state, the particular state that it represents.- Specified by:
getLastEventState
in interfaceAlarmEvent
-
contains
public boolean contains(Property<?> prop)
- Specified by:
contains
in interfacePropertyValueSource
- Returns:
- True if the source contains a value for prop.
-
getOrDefault
@Nullable public <T> T getOrDefault(Property<T> prop)
- Specified by:
getOrDefault
in interfacePropertyValueSource
- Returns:
- The value for prop or
Property.getDefaultValue()
if not present. Can return null if the value is null.
-
get
public <T> T get(Property<T> prop)
Description copied from interface:PropertyValueSource
Retrieves the value of the property, or null if this set doesn't contain that property.- Specified by:
get
in interfacePropertyValueSource
-
iterator
public java.util.Iterator<PropertyValue> iterator()
- Specified by:
iterator
in interfacejava.lang.Iterable<PropertyValue>
-
set
public <T> void set(Property<T> prop, T value)
- Specified by:
set
in interfaceMutablePropertyValueSource
-
setGlobal
public <T> void setGlobal(Property<T> p, T value)
-
getOrElse
public <T> T getOrElse(Property<T> property, T value)
Description copied from interface:PropertyValueSource
Get the value for a givenProperty
, or else fall back to value if it's not present.- Specified by:
getOrElse
in interfacePropertyValueSource
- Parameters:
property
- TheProperty
for which a value is to be retrieved.value
- The value to default to if property isn't present.- Returns:
- The value of property if present, value if not. Can return null if the value is null.
-
set
public void set(PropertyValue propValue)
- Specified by:
set
in interfaceMutablePropertyValueSource
-
remove
public void remove(Property<?> prop)
- Specified by:
remove
in interfaceMutablePropertyValueSource
-
getProperties
public java.util.Collection<Property<?>> getProperties()
- Specified by:
getProperties
in interfacePropertyValueSource
-
getValues
public java.util.List<PropertyValue> getValues()
Description copied from interface:PropertyValueSource
Returns the opaque PropertyValue objects. This can be useful when you want to avoid the strict type checking of the value, and it's important to note that if the property is bound, the value will be a BoundValue. Be very careful about overriding, and make sure to maintain the methodology of using getProperties to iterate and get (or getOrDefault), to get the value, because those are all handled differently by BoundPropertySets, ExtendedPropertySets, etc.- Specified by:
getValues
in interfacePropertyValueSource
-
getId
public java.util.UUID getId()
Description copied from interface:AlarmEvent
The unique id for this event. Generated when the alarm is first generated, and then maintained for the life of the alarm event cycle.- Specified by:
getId
in interfaceAlarmEvent
-
isExtended
public boolean isExtended(Property<?> prop)
Description copied from interface:PropertySet
Returns whether this property set contains a value for the prop, and the prop was actually inherited. In other words, this is true if the property is inherited, and an override value is present.- Specified by:
isExtended
in interfacePropertySet
-
isInherited
public boolean isInherited(Property<?> prop)
Description copied from interface:PropertySet
Indicates whether the property was inherited from a parent type.- Specified by:
isInherited
in interfacePropertySet
-
merge
public void merge(PropertySet other)
- Specified by:
merge
in interfaceMergable<PropertySet>
-
getSource
public QualifiedPath getSource()
Description copied from interface:AlarmEvent
The path to the alarm that generated this event.- Specified by:
getSource
in interfaceAlarmEvent
-
getName
public java.lang.String getName()
- Specified by:
getName
in interfaceAlarmEvent
-
getPriority
public AlarmPriority getPriority()
Description copied from interface:AlarmEvent
Returns the priority of the alarm event.- Specified by:
getPriority
in interfaceAlarmEvent
-
getDisplayPath
public StringPath getDisplayPath()
- Specified by:
getDisplayPath
in interfaceAlarmEvent
-
getDisplayPathOrSource
public java.lang.String getDisplayPathOrSource()
- Specified by:
getDisplayPathOrSource
in interfaceAlarmEvent
-
getLabel
public java.lang.String getLabel()
Description copied from interface:AlarmEvent
Returns the "Label" property, or "Name" if not defined.- Specified by:
getLabel
in interfaceAlarmEvent
-
active
public void active(EventData activeData)
- Specified by:
active
in interfaceAlarmEvent
-
acknowledge
public void acknowledge(EventData ackData)
- Specified by:
acknowledge
in interfaceAlarmEvent
-
clear
public void clear(EventData clearData)
- Specified by:
clear
in interfaceAlarmEvent
-
isCleared
public boolean isCleared()
- Specified by:
isCleared
in interfaceAlarmEvent
-
isAcked
public boolean isAcked()
- Specified by:
isAcked
in interfaceAlarmEvent
-
isShelved
public boolean isShelved()
Description copied from interface:AlarmEvent
Returns whether this is event is currently shelved, if the ShelfExpiration property is set, or whether the event was shelved, for journaled events, based on whether the IsShelved property is set.- Specified by:
isShelved
in interfaceAlarmEvent
-
getState
public AlarmState getState()
Description copied from interface:AlarmEvent
Returns the current state, as an enum. If this event represents a single state, such as the result from a journal query, this value will be misleading. In that case, getLastEventState() is the more accurate state function to use.- Specified by:
getState
in interfaceAlarmEvent
-
getActiveData
public EventData getActiveData()
- Specified by:
getActiveData
in interfaceAlarmEvent
-
getClearedData
public EventData getClearedData()
- Specified by:
getClearedData
in interfaceAlarmEvent
-
getAckData
public EventData getAckData()
- Specified by:
getAckData
in interfaceAlarmEvent
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
getNotes
public java.lang.String getNotes()
- Specified by:
getNotes
in interfaceAlarmEvent
-
-