Class AlarmEventInstance
- java.lang.Object
-
- com.inductiveautomation.ignition.common.alarming.AlarmEventInstance
-
- All Implemented Interfaces:
AlarmEvent,AlarmPipelineMonitor,Countable,Extendable<PropertySet>,Mergable<PropertySet>,MutablePropertyValueSource,PropertySet,PropertyValueSource,java.io.Serializable,java.lang.Iterable<PropertyValue>
public class AlarmEventInstance extends java.lang.Object implements AlarmEvent, AlarmPipelineMonitor
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 voidacknowledge(EventData ackData)voidactive(EventData activeData)static AlarmEventInstancebranch(AlarmEvent event)Creates a new instance, incrementing the BranchDepth property.voidclear(EventData clearData)booleancontains(Property<?> prop)<T> Tget(Property<T> prop)Retrieves the value of the property, or null if this set doesn't contain that property.EventDatagetAckData()EventDatagetActiveData()EventDatagetClearedData()intgetCount()StringPathgetDisplayPath()java.lang.StringgetDisplayPathOrSource()java.util.UUIDgetId()The unique id for this event.java.lang.StringgetLabel()Returns the "Label" property, or "Name" if not defined.AlarmStateTransitiongetLastEventState()Returns the most recent transition, or if this event represents a single state, the particular state that it represents.PropertySetgetLocals()java.lang.StringgetName()java.lang.StringgetNotes()<T> TgetOrDefault(Property<T> prop)<T> TgetOrElse(Property<T> property, T value)Get the value for a givenProperty, or else fall back to value if it's not present.AlarmPrioritygetPriority()Returns the priority of the alarm event.java.util.Collection<Property<?>>getProperties()QualifiedPathgetSource()The path to the alarm that generated this event.AlarmStategetState()Returns the current state, as an enum.java.util.List<PropertyValue>getValues()Returns the opaque PropertyValue objects.booleanisAcked()booleanisCleared()booleanisExtended(Property<?> prop)Returns whether this property set contains a value for the prop, and the prop was actually inherited.booleanisInherited(Property<?> prop)Indicates whether the property was inherited from a parent type.booleanisShelved()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()voidmerge(PropertySet other)voidonPipelineDropout()voidremove(Property<?> prop)<T> voidset(Property<T> prop, T value)voidset(PropertyValue propValue)<T> voidsetGlobal(Property<T> p, T value)java.lang.StringtoString()-
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.
-
onPipelineDropout
public void onPipelineDropout()
- Specified by:
onPipelineDropoutin interfaceAlarmPipelineMonitor
-
getLocals
public PropertySet getLocals()
-
getLastEventState
@Nullable public AlarmStateTransition getLastEventState()
Description copied from interface:AlarmEventReturns the most recent transition, or if this event represents a single state, the particular state that it represents.- Specified by:
getLastEventStatein interfaceAlarmEvent
-
contains
public boolean contains(Property<?> prop)
- Specified by:
containsin interfacePropertyValueSource- Returns:
- True if the source contains a value for prop.
-
getOrDefault
@Nullable public <T> T getOrDefault(Property<T> prop)
- Specified by:
getOrDefaultin 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:PropertyValueSourceRetrieves the value of the property, or null if this set doesn't contain that property.- Specified by:
getin interfacePropertyValueSource
-
iterator
public java.util.Iterator<PropertyValue> iterator()
- Specified by:
iteratorin interfacejava.lang.Iterable<PropertyValue>
-
set
public <T> void set(Property<T> prop, T value)
- Specified by:
setin 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:PropertyValueSourceGet the value for a givenProperty, or else fall back to value if it's not present.- Specified by:
getOrElsein interfacePropertyValueSource- Parameters:
property- ThePropertyfor 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:
setin interfaceMutablePropertyValueSource
-
remove
public void remove(Property<?> prop)
- Specified by:
removein interfaceMutablePropertyValueSource
-
getProperties
public java.util.Collection<Property<?>> getProperties()
- Specified by:
getPropertiesin interfacePropertyValueSource
-
getValues
public java.util.List<PropertyValue> getValues()
Description copied from interface:PropertyValueSourceReturns 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:
getValuesin interfacePropertyValueSource
-
getId
public java.util.UUID getId()
Description copied from interface:AlarmEventThe 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:
getIdin interfaceAlarmEvent
-
isExtended
public boolean isExtended(Property<?> prop)
Description copied from interface:PropertySetReturns 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:
isExtendedin interfacePropertySet
-
isInherited
public boolean isInherited(Property<?> prop)
Description copied from interface:PropertySetIndicates whether the property was inherited from a parent type.- Specified by:
isInheritedin interfacePropertySet
-
merge
public void merge(PropertySet other)
- Specified by:
mergein interfaceMergable<PropertySet>
-
getSource
public QualifiedPath getSource()
Description copied from interface:AlarmEventThe path to the alarm that generated this event.- Specified by:
getSourcein interfaceAlarmEvent
-
getName
public java.lang.String getName()
- Specified by:
getNamein interfaceAlarmEvent
-
getPriority
public AlarmPriority getPriority()
Description copied from interface:AlarmEventReturns the priority of the alarm event.- Specified by:
getPriorityin interfaceAlarmEvent
-
getDisplayPath
public StringPath getDisplayPath()
- Specified by:
getDisplayPathin interfaceAlarmEvent
-
getDisplayPathOrSource
public java.lang.String getDisplayPathOrSource()
- Specified by:
getDisplayPathOrSourcein interfaceAlarmEvent
-
getLabel
public java.lang.String getLabel()
Description copied from interface:AlarmEventReturns the "Label" property, or "Name" if not defined.- Specified by:
getLabelin interfaceAlarmEvent
-
active
public void active(EventData activeData)
- Specified by:
activein interfaceAlarmEvent
-
acknowledge
public void acknowledge(EventData ackData)
- Specified by:
acknowledgein interfaceAlarmEvent
-
clear
public void clear(EventData clearData)
- Specified by:
clearin interfaceAlarmEvent
-
isCleared
public boolean isCleared()
- Specified by:
isClearedin interfaceAlarmEvent
-
isAcked
public boolean isAcked()
- Specified by:
isAckedin interfaceAlarmEvent
-
isShelved
public boolean isShelved()
Description copied from interface:AlarmEventReturns 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:
isShelvedin interfaceAlarmEvent
-
getState
public AlarmState getState()
Description copied from interface:AlarmEventReturns 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:
getStatein interfaceAlarmEvent
-
getActiveData
public EventData getActiveData()
- Specified by:
getActiveDatain interfaceAlarmEvent
-
getClearedData
public EventData getClearedData()
- Specified by:
getClearedDatain interfaceAlarmEvent
-
getAckData
public EventData getAckData()
- Specified by:
getAckDatain interfaceAlarmEvent
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
getNotes
public java.lang.String getNotes()
- Specified by:
getNotesin interfaceAlarmEvent
-
-