Class ViewModel
- java.lang.Object
 - 
- com.inductiveautomation.ignition.common.lifecycle.AbstractLifecycle
 - 
- com.inductiveautomation.perspective.gateway.model.ViewModel
 
 
 
- 
- All Implemented Interfaces:
 AuditingContext,LoggingContext,PerspectiveElement,PropertyTreeOwner,View
- Direct Known Subclasses:
 DesignerViewModel
public class ViewModel extends AbstractLifecycle implements View
- Since:
 - 8.0
 
 
- 
- 
Field Summary
Fields Modifier and Type Field Description protected com.inductiveautomation.perspective.gateway.model.ActionCollectionactionsprotected BindingCollectionbindingsprotected PropertyChangeScriptCollectionchangeScriptsprotected ViewConfigconfigprotected ViewInstanceIdidprotected java.util.Set<java.lang.String>inputParamsprotected static LoggerExlogprotected PageModelpageprotected java.util.Map<PropertyType,PropertyTree>propertiesprotected ComponentModelrootContainerstatic java.lang.ThreadLocal<ViewModel>VIEW 
- 
Constructor Summary
Constructors Constructor Description ViewModel(PageModel page, ViewInstanceId id, ViewConfig config, com.inductiveautomation.ignition.common.gson.JsonObject inputParams) 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected PropertyTreePermissionModelcreatePermissionModel(PropertyType scope, PropertyConfigCollection config)PropertyReferencecreatePropertyReference(java.lang.String referencePath, java.util.function.Consumer<PropertyTreeChangeEvent> subscriber, java.util.Set<Origin> acceptableOrigins)Create aPropertyReferencewith thisPerspectiveElementas the target.booleanequals(java.lang.Object o)java.util.Optional<PerspectiveElement>findChildByIndexLocation(java.lang.String indexLocation)Tries to look up a component by its index location.java.util.Optional<PerspectiveElement>findChildByPath(java.lang.String path)Tries to look up a component by its name path.AuditContext.BuildergetAuditSnapshot()longgetBirthDate()ViewConfiggetConfig()ViewInstanceIdgetId()LoggerExgetLogger()LoggingContextgetMdcParent()java.lang.StringgetName()PagegetPage()PropertyTreegetPropertyTreeOf(PropertyType type)Fetch thePropertyTreeassociated with the givenPropertyTypejava.lang.StringgetQualifiedPath()ComponentModelgetRootContainer()SessiongetSession()ViewModelgetView()com.google.common.eventbus.EventBusgetViewEventBus()com.inductiveautomation.ignition.common.gson.JsonObjectgetViewInfo()Provides information pertaining to this View Model object including it's instance id, and information about it's children.com.inductiveautomation.ignition.common.gson.JsonElementgetViewState()booleanhasAbandonedViewTimeout()inthashCode()protected voidinitRoot(ComponentConfig rootConfig)voidmdcSetup()Set up the MDC keys for this contextvoidmdcTeardown()Tear down the MDC keys that are added in #mdcSetupprotected com.inductiveautomation.perspective.gateway.model.ActionCollectionnewActionHandler(EventConfig config)voidonEventFired(EventFiredMsg message)protected voidonShutdown()protected voidonStartup()voidrefreshBinding(PropertyKey property)voidrestart(com.inductiveautomation.ignition.common.gson.JsonObject params)voidsetAbandonedViewTimeout(java.util.concurrent.ScheduledFuture<?> newTimeout)voidsetBirthDate(long birthDate)java.lang.StringtoString()- 
Methods inherited from class com.inductiveautomation.ignition.common.lifecycle.AbstractLifecycle
isRunning, shutdown, startup 
- 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait 
- 
Methods inherited from interface com.inductiveautomation.perspective.gateway.api.AuditingContext
audit 
- 
Methods inherited from interface com.inductiveautomation.perspective.gateway.api.LoggingContext
mdc, mdcSetupTree, mdcTeardownTree, mdcWrap 
- 
Methods inherited from interface com.inductiveautomation.perspective.gateway.api.PerspectiveElement
getAuditProfile 
 - 
 
 - 
 
- 
- 
Field Detail
- 
log
protected static LoggerEx log
 
- 
VIEW
public static final java.lang.ThreadLocal<ViewModel> VIEW
 
- 
id
protected final ViewInstanceId id
 
- 
config
protected final ViewConfig config
 
- 
page
protected final PageModel page
 
- 
inputParams
protected final java.util.Set<java.lang.String> inputParams
 
- 
properties
protected final java.util.Map<PropertyType,PropertyTree> properties
 
- 
bindings
protected final BindingCollection bindings
 
- 
changeScripts
protected final PropertyChangeScriptCollection changeScripts
 
- 
actions
protected final com.inductiveautomation.perspective.gateway.model.ActionCollection actions
 
- 
rootContainer
protected ComponentModel rootContainer
 
 - 
 
- 
Constructor Detail
- 
ViewModel
public ViewModel(@Nonnull PageModel page, ViewInstanceId id, ViewConfig config, com.inductiveautomation.ignition.common.gson.JsonObject inputParams) 
 - 
 
- 
Method Detail
- 
getBirthDate
public long getBirthDate()
 
- 
getConfig
public ViewConfig getConfig()
 
- 
getSession
@Nonnull public Session getSession()
- Specified by:
 getSessionin interfacePerspectiveElement- Returns:
 - The session that this element is a part of.
 
 
- 
createPropertyReference
@Nonnull public PropertyReference createPropertyReference(java.lang.String referencePath, java.util.function.Consumer<PropertyTreeChangeEvent> subscriber, java.util.Set<Origin> acceptableOrigins)
Description copied from interface:PerspectiveElementCreate aPropertyReferencewith thisPerspectiveElementas the target.- Specified by:
 createPropertyReferencein interfacePerspectiveElement- Parameters:
 referencePath- the path to the propertysubscriber- the subscriber - aConsumerofPropertyTreeChangeEventsacceptableOrigins- theSetofOrigins in which the subscriber is interested- Returns:
 - the 
PropertyReference 
 
- 
getName
public java.lang.String getName()
- Specified by:
 getNamein interfacePerspectiveElement- Returns:
 - The name of the element. If this is a component, it will be the name of the component. If this is a View, the name will be "view". If this is a Page, the name will be "page". If this is the session, the name will be "session".
 
 
- 
getQualifiedPath
public java.lang.String getQualifiedPath()
- Specified by:
 getQualifiedPathin interfacePerspectiveElement- Returns:
 - The qualified name of the element. If session or page, this is just the name. If a view or component, is the logical path starting at the view id.
 
 
- 
getViewEventBus
public com.google.common.eventbus.EventBus getViewEventBus()
- Specified by:
 getViewEventBusin interfaceView
 
- 
newActionHandler
protected com.inductiveautomation.perspective.gateway.model.ActionCollection newActionHandler(EventConfig config)
 
- 
setAbandonedViewTimeout
public void setAbandonedViewTimeout(java.util.concurrent.ScheduledFuture<?> newTimeout)
 
- 
setBirthDate
public void setBirthDate(long birthDate)
 
- 
hasAbandonedViewTimeout
public boolean hasAbandonedViewTimeout()
 
- 
restart
public void restart(com.inductiveautomation.ignition.common.gson.JsonObject params)
 
- 
refreshBinding
public void refreshBinding(PropertyKey property)
 
- 
initRoot
protected void initRoot(ComponentConfig rootConfig)
 
- 
createPermissionModel
protected PropertyTreePermissionModel createPermissionModel(PropertyType scope, PropertyConfigCollection config)
 
- 
onEventFired
public void onEventFired(EventFiredMsg message)
 
- 
getId
public ViewInstanceId getId()
 
- 
getView
public ViewModel getView()
- Specified by:
 getViewin interfacePerspectiveElement- Returns:
 - The view within which this element exists, or null if this is a Page or Session
 
 
- 
getPage
public Page getPage()
- Specified by:
 getPagein interfacePerspectiveElement- Returns:
 - The Page that this element is part of. Will return null if this is the Session
 
 
- 
getMdcParent
@Nullable public LoggingContext getMdcParent()
- Specified by:
 getMdcParentin interfaceLoggingContext
 
- 
mdcSetup
public void mdcSetup()
Description copied from interface:LoggingContextSet up the MDC keys for this context- Specified by:
 mdcSetupin interfaceLoggingContext
 
- 
mdcTeardown
public void mdcTeardown()
Description copied from interface:LoggingContextTear down the MDC keys that are added in #mdcSetup- Specified by:
 mdcTeardownin interfaceLoggingContext
 
- 
onStartup
protected void onStartup()
- Specified by:
 onStartupin classAbstractLifecycle
 
- 
getRootContainer
public ComponentModel getRootContainer()
- Specified by:
 getRootContainerin interfaceView
 
- 
onShutdown
protected void onShutdown()
- Specified by:
 onShutdownin classAbstractLifecycle
 
- 
findChildByIndexLocation
public java.util.Optional<PerspectiveElement> findChildByIndexLocation(java.lang.String indexLocation)
Description copied from interface:ViewTries to look up a component by its index location. Some examples:- "": returns the view
 - "0": returns the root container
 - "0:4" returns a child of the root container at index 4
 - Specified by:
 findChildByIndexLocationin interfaceView
 
- 
findChildByPath
public java.util.Optional<PerspectiveElement> findChildByPath(java.lang.String path)
Description copied from interface:ViewTries to look up a component by its name path. Some examples:- "/": returns the view
 - "/root": returns the root container if the root container's name is "root"
 - "/root/foo": returns a component called "foo" contained with in the root container called "root"
 - Specified by:
 findChildByPathin interfaceView
 
- 
getPropertyTreeOf
@Nullable public PropertyTree getPropertyTreeOf(@Nullable PropertyType type)
Description copied from interface:PropertyTreeOwnerFetch thePropertyTreeassociated with the givenPropertyType- Specified by:
 getPropertyTreeOfin interfacePropertyTreeOwner- Parameters:
 type- ThePropertyTypeof thePropertyTreewe want to fetch- Returns:
 - The PropertyTree or null if this PropertyTreeOwner does not manage a PropertyTree for the given PropertyType or if a null PropertyType is given
 
 
- 
getLogger
public LoggerEx getLogger()
- Specified by:
 getLoggerin interfaceLoggingContext
 
- 
getViewState
public com.inductiveautomation.ignition.common.gson.JsonElement getViewState()
 
- 
getViewInfo
public com.inductiveautomation.ignition.common.gson.JsonObject getViewInfo()
Provides information pertaining to this View Model object including it's instance id, and information about it's children.- Returns:
 - Returns a JsonObject representing information pertaining to this View Model object.
 
 
- 
toString
public java.lang.String toString()
- Overrides:
 toStringin classjava.lang.Object
 
- 
equals
public boolean equals(java.lang.Object o)
- Overrides:
 equalsin classjava.lang.Object
 
- 
hashCode
public int hashCode()
- Overrides:
 hashCodein classjava.lang.Object
 
- 
getAuditSnapshot
@Nonnull public AuditContext.Builder getAuditSnapshot()
- Specified by:
 getAuditSnapshotin interfaceAuditingContext- Returns:
 - A new, or extended, 
AuditContext.Builder, with qualified information about the current scope. 
 
 - 
 
 -