# Ignition UDT into Java Class

**URL:** <https://forum.inductiveautomation.com/t/ignition-udt-into-java-class/102138>\
**Category:** Ignition\
**Created:** [February 11, 2025, 4:17am UTC](https://forum.inductiveautomation.com/t/ignition-udt-into-java-class/102138 "2025-02-11T04:17:37Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Harry\_Sadoyan](https://avatars.discourse-cdn.com/v4/letter/h/50afbb/32.png) [@Harry\_Sadoyan](https://forum.inductiveautomation.com/u/Harry_Sadoyan)\
**Post date:** [February 11, 2025, 4:17am UTC](https://forum.inductiveautomation.com/t/ignition-udt-into-java-class/102138/1 "2025-02-11T04:17:37Z")

</div>

Hi folks,

We have a UDT defined in ignition with certain fields. I'm writing an Ignition SDK module that will work with these UDTs. The goal is to be able to read the full UDT into the module, make some changes to it if need be, then write the updated values back to ignition. We'll have a bunch of these UDTs with an ObjectID as the identifier in the path.

My hope was to import the UDT as a java class where fields map to the udt's values. Then I can work with it natively in Java and then "write" the instance back (similar to a database ORM).

Is this a sensible pattern for Ignition UDTs, or am I missing a different best practice? Is there any build in automation to generate a java class from a UDT, or would I need to do it manually?

And if I'm doing it manually are there any examples? I found this [Read and Write Tags](https://www.sdk-docs.inductiveautomation.com/docs/appendix/tag-examples/read-and-write-tags) example, but I can't find some of the imported fields in the [documentation](https://files.inductiveautomation.com/sdk/javadoc/ignition81/8.1.25/index.html) so I wonder if the example is for an older version of Ignition? We're using 8.1

---

<div class="post-metadata">

**Author:** ![hunterdg](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/hunterdg/32/67774_2.png) [@hunterdg](https://forum.inductiveautomation.com/u/hunterdg)\
**Post date:** [February 11, 2025, 5:49am UTC](https://forum.inductiveautomation.com/t/ignition-udt-into-java-class/102138/2 "2025-02-11T05:49:29Z")

</div>

maybe this will help: 🤷‍♂️[com.inductiveautomation.ignition.common.sqltags.model.udt](https://files.inductiveautomation.com/sdk/javadoc/ignition81/8.1.25/com/inductiveautomation/ignition/common/sqltags/model/udt/package-summary.html)

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [February 11, 2025, 1:02pm UTC](https://forum.inductiveautomation.com/t/ignition-udt-into-java-class/102138/3 "2025-02-11T13:02:25Z")

</div>

> [@Harry\_Sadoyan](#):
>
> My hope was to import the UDT as a java class where fields map to the udt's values.

You cannot. You must use read/write accessors per value or property, whether UDT or atomic tag.
