class Lutaml::Model::Type::TimeWithoutDate

def self.cast(value)

def self.cast(value)
  return value if value.nil? || Utils.uninitialized?(value)
  case value
  when ::Time then value
  else ::Time.parse(value.to_s)
  end
rescue ArgumentError
  nil
end

def self.serialize(value)

def self.serialize(value)
  return value if value.nil? || Utils.uninitialized?(value)
  value = cast(value)
  value.strftime("%H:%M:%S") # Format as HH:MM:SS
end

def to_json(*_args)

def to_json(*_args)
  self.class.serialize(value)
end

def to_toml

def to_toml
  value.strftime("%H:%M:%S.%L") # Include milliseconds for TOML
end

def to_xml

Instance methods for format-specific serialization
def to_xml
  self.class.serialize(value)
end

def to_yaml

def to_yaml
  self.class.serialize(value)
end