Modul:Javadoc
Aspect

local p = {}
local getArgs = require('Modul:Arguments').getArgs
local TableTools = require('Modul:TableTools')
local homeURLs = {
['SE'] = "https://docs.oracle.com/en/java/javase/19/docs/api/"
}
p.SE = function(frame)
local args = getArgs(frame)
local url = homeURLs['SE']
local label = 'Java SE 19 API Javadocs'
if args[1] then
url = url .. (args.module or 'java.base') .. '/'
url = url .. args[1] .. '/'
url = url .. (args[2] or 'package-summary') .. '.html'
if args[3] then
url = url .. '#' .. args[3]
end
if args.name then label = args.name
else
local pkg = args.package
local cls = args.class or args[2]
local mmb = args.member or args[3]
label = table.concat(TableTools.compressSparseArray({pkg, cls, mmb}), '.')
end
return tostring(mw.html.create('code'):wikitext('[' .. url .. ' ' .. label .. ']'))
end
return '[' .. url .. ' ' .. label .. ']'
end
return p