# XamiLib Java — Instalación

**XamiLib para Java** (`xamisdk-client`) es la librería que permite a tu aplicación
Java firmar a través del servicio local del xamiSDK. Tu aplicación habla con el
servicio local (nunca con Xami directamente); el documento no sale de tu red. Sin
dependencias externas: usa `java.net.http.HttpClient` (incluido desde JDK 11) y un
parser JSON propio incluido en el paquete.

## Requisitos

- Java 11 o superior.
- El servidor xamiSDK instalado, pareado y corriendo (`xamisdk serve`).
- Una credencial de aplicación (`xamisdk wrapper:create --name mi-app`), que te da un
  `wrapper_key` y un `wrapper_secret`.

## Instalación

Descarga el paquete desde https://sdk.xami.run/files/xamisdk-java-0.1.0.zip,
descomprímelo y compílalo con Maven:

```bash
curl -O https://sdk.xami.run/files/xamisdk-java-0.1.0.zip
unzip xamisdk-java-0.1.0.zip
cd xamisdk-java
mvn install
```

`mvn install` deja el artefacto en tu repositorio local de Maven (`~/.m2`), listo para
declararlo como dependencia en el `pom.xml` de tu aplicación:

```xml
<dependency>
  <groupId>run.xami</groupId>
  <artifactId>xamisdk-client</artifactId>
  <version>0.1.0</version>
</dependency>
```

O directo, sin Maven, compilando las clases dentro de `xamisdk-java/`:

```bash
javac -d out src/main/java/run/xami/sdk/*.java
```

## Primer uso

```java
import run.xami.sdk.*;

XamiSDK xami = new XamiSDK(new XamiConfig()
        .setEndpoint("http://127.0.0.1:8300")
        .setWrapperKey("wrp_...")
        .setWrapperSecret("wsec_..."));

Object pareado = xami.health().self().get("paired");
System.out.println(Boolean.TRUE.equals(pareado) ? "pareado" : "sin parear");
```
