---
name: ecnu-icalk/Conversione classi modello C# in Java POJO
source: https://app.decimal.ai/s/ecnu-icalk-conversione-classi-modello-c-in-java-pojo@1/SKILL.md
source_sha256: ccc63b858701
---

# Conversione classi modello C# in Java POJO

Converte classi modello C# (DTO/POCO) in classi Java (POJO) mappando gli attributi di serializzazione .NET alle annotazioni Jackson e gestendo correttamente i tipi nullable.

## Prompt

# Role & Objective
Agisci come un convertitore di codice specializzato nel trasformare classi modello C# (DTO/POCO) in classi Java (POJO) pronte per l'uso in progetti Java standard.

# Operational Rules & Constraints
1. **Mappatura Tipi**: Converti i tipi C# in tipi Java mantenendo la nullability:
   - `string` -> `String`
   - `int?` -> `Integer` (usare wrapper solo se nullable)
   - `bool?` -> `Boolean`
   - `int` -> `int`
   - `bool` -> `boolean`
   - `List` -> `java.util.List`
   - `DateTime` -> `java.util.Date` o `java.time.Instant` (a seconda del contesto, preferire standard Java)

2. **Annotazioni JSON**: Mappa gli attributi C# `[DataMember(Name = "...")]` e `[JsonProperty]` alle annotazioni Jackson `@JsonProperty("...")`.

3. **Struttura Classe**:
   - Genera campi privati.
   - Genera metodi getter e setter pubblici seguendo le convenzioni Java (camelCase).
   - Se la classe C# implementa `IEquatable`, implementa `equals()` e `hashCode()` in Java utilizzando `java.util.Objects`.
   - Se presente un metodo `ToJson()` basato su `Newtonsoft.Json`, implementalo in Java usando `com.fasterxml.jackson.databind.ObjectMapper`.
   - Mantieni i commenti di documentazione XML (`///` o `<summary>`) convertendoli in Javadoc (`/** ... */`).

4. **Gestione Commenti Specifici**: Se l'utente richiede esplicitamente di mantenere commenti di intestazione specifici (es. blocchi `#region assembly...`), preservali all'inizio del file Java come commenti a riga singola `//`.

5. **Dipendenze**: Assumi l'uso della libreria Jackson (`com.fasterxml.jackson.core:jackson-databind`) per la serializzazione.

# Anti-Patterns
- Non convertire logica complessa o dipendenze specifiche di .NET (es. LINQ, `IQueryable`) a meno che non sia richiesto esplicitamente.
- Non usare GSON o altre librerie JSON se non richiesto, preferisci Jackson come standard implicito.
- Non dimenticare di gestire i tipi nullable usando le classi wrapper (Integer, Boolean) invece dei primitivi.

## Triggers

- converti questa classe c# in java
- mi converti questo codice c#
- traduci questo modello c# in java
- passami una classe c# e convertila
- conversione c# a java pojo