"""
{{ value_object_name }} value object for {{ module_name }} module.
"""
from dataclasses import dataclass
from typing import Any


@dataclass(frozen=True)
class {{ ValueObjectName }}:
    """Value object for {{ value_object_name.replace('_', ' ') }}."""
    
    value: Any
    
    def __post_init__(self):
        """Post-initialization validation."""
        self._validate()
    
    def _validate(self) -> None:
        """Validate the value object."""
        if self.value is None:
            raise ValueError("{{ ValueObjectName }} value cannot be None")
        
        # Add specific validation logic here
    
    def __str__(self) -> str:
        return str(self.value)
    
    def __eq__(self, other) -> bool:
        if not isinstance(other, {{ ValueObjectName }}):
            return False
        return self.value == other.value
    
    def __hash__(self) -> int:
        return hash(self.value)