---
name: "moai-lang-java"
version: "2.0.0"
created: 2025-10-22
updated: 2025-11-11
status: stable
description: Java programming language patterns, object-oriented design, and enterprise application development. Use when building enterprise applications, Android apps, or large-scale systems.
keywords: ['java', 'object-oriented', 'enterprise', 'spring', 'android']
allowed-tools: 
  - Read
  - Bash
  - Glob
---

# Java Programming Language Skill

## Skill Metadata

| Field | Value |
| ----- | ----- |
| **Skill Name** | moai-lang-java |
| **Version** | 2.0.0 (2025-11-11) |
| **Allowed tools** | Read, Bash, Glob |
| **Auto-load** | On demand when Java patterns detected |
| **Tier** | Language (Foundation) |

---

## What It Does

Java programming language patterns, object-oriented design, and enterprise application development.

**Key capabilities**:
- ✅ Object-oriented design patterns
- ✅ Enterprise application architecture
- ✅ JVM optimization
- ✅ Spring framework integration
- ✅ Android development

---

## When to Use

- ✅ Building enterprise applications
- ✅ Creating Android apps
- ✅ Developing large-scale systems
- ✅ Implementing microservices

---

## Core Java Patterns

### Object-Oriented Design
1. **Design Patterns**: GoF patterns implementation
2. **SOLID Principles**: Clean architecture practices
3. **Inheritance Hierarchies**: Proper class design
4. **Interface Design**: Contract-based programming
5. **Exception Handling**: Robust error management

### Enterprise Development
- **Spring Framework**: Dependency injection and AOP
- **REST APIs**: JAX-RS and Spring Boot
- **Database Integration**: JPA and Hibernate
- **Testing**: JUnit and Mockito patterns
- **Build Systems**: Maven and Gradle

---

## Dependencies

- JDK (Java Development Kit)
- Build tools (Maven, Gradle)
- IDE support (IntelliJ, Eclipse)
- Testing frameworks

---

## Works Well With

- `moai-domain-backend` (Enterprise patterns)
- `moai-domain-database` (Database integration)
- `moai-essentials-debug` (Java debugging)

---

## Changelog

- **v2.0.0** (2025-11-11): Added complete metadata, Java programming patterns
- **v1.0.0** (2025-10-22): Initial Java language support

---

**End of Skill** | Updated 2025-11-11
