# Iterate Through Components In Container (Vision)

**URL:** <https://forum.inductiveautomation.com/t/iterate-through-components-in-container-vision/84512>\
**Category:** Ignition\
**Tags:** ignition81, scripting, vision\
**Created:** [January 19, 2024, 5:17pm UTC](https://forum.inductiveautomation.com/t/iterate-through-components-in-container-vision/84512 "2024-01-19T17:17:38Z")\
**Posts on this page:** 1\
**Showing post:** 10

<div class="post-metadata">

**Author:** ![lrose](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/lrose/32/62724_2.png) [@lrose](https://forum.inductiveautomation.com/u/lrose)\
**Post date:** [January 19, 2024, 8:07pm UTC](https://forum.inductiveautomation.com/t/iterate-through-components-in-container-vision/84512/10 "2024-01-19T20:07:45Z")

</div>

I'll let @pturmel tell you. 😉

> [@"java import" in script](https://forum.inductiveautomation.com/t/java-import-in-script/68953/2):
>
> java's `getXyz()` and `setXyz(val)` are automatically mapped to jython property `xyz` via jython's internal java machinery that implements `@property`. So both the original java methods and a python-style property become available on such "NetBeans" objects. Using the property is fewer opcodes for the jython interpreter, so should be used wherever applicable.

Basically, anytime in ignition you see a method with signatures `get*(), set*(), and is*()` you should prefer to use the jython property instead. So `.getComponents()` becomes `.components`.

I don't believe that this happens for anything other than default getters and setters, and the standard boolean gettter `.isXyz()`

---

_[View the full topic](https://forum.inductiveautomation.com/t/iterate-through-components-in-container-vision/84512)._
