Java, indexed by what the language is and what you do with it.
The type system, the runtime and the concurrency model on one side; the operations you actually reach for — streams, collections, the object contract — on the other. You declare where you are standing, and the rows around you come back.
The model holds the domain; your org holds its own light on it.
A Hue Model is the world model of a domain — its rows, the positions they stand in, the two sides they fall on, and, where the domain has one, the source of truth that settles a row. There are no people in it. It is a model of the world, not of anyone in it, and it has no cutoff — only a last-visited state. You stand somewhere in it and it answers by position.
Stand somewhere, and the rows come to you
You copy a position out of the chamber's own map and send it back. No words are matched and nothing is guessed on your behalf — the door reads structure the index already carries, and answers with the neighbourhood you are standing in.
The rows below arrived with no search term at all, by position alone.
TYPE DECLARATIONS › Top-Level Types
placed
13
observed
0
unobserved
13
reached
13
the room you named
class
reference type declaration
feature
interface
abstract contract; a method is implicitly public and abstract unless declared private, default or static
feature
abstract class
partially-implemented base type
feature
enum
fixed set of typed constants (a full class)
feature
record
immutable data carrier (Java 14+)
feature
sealed class
restricted subclass set (Java 17+)
feature
sealed interface
restricted set of implementors (Java 17+)
feature
annotation type
@interface metadata declaration
feature
the rest of its floor
nested class
class declared within another
feature
inner class
non-static nested class holding an outer reference
feature
static nested class
nested class without an outer reference
feature
anonymous class
unnamed inline subclass / implementor
feature
local class
class declared inside a method
feature
CONCURRENCY
placed
9
observed
0
unobserved
9
reached
9
the rest of its floor
thread
a unit of execution
feature
Runnable
no-arg, no-return task
feature
Callable
value-returning task
feature
synchronized block
monitor-scoped critical section
feature
happens-before
Java Memory Model ordering guarantee
feature
ExecutorService
managed thread pool
feature
Future
a pending async result
feature
CompletableFuture
composable async result
feature
ReentrantLock
explicit reentrant lock
feature
A position the chamber does not hold comes back as a question
NOT A REAL ROOM→UNKNOWN_CATEGORY
17 rooms
The door never substitutes a nearby name. An unknown position returns the map instead, so the next thing you send is a place that exists rather than a guess that looked close.
Every row arrives already knowing its state
The reading is not a ranked list. Each row comes back in one of three states, and the state is the useful part — it tells you whether to build on the row, to go and look, or to honour it before you do either.
Zero point
The contract the work must implement. It is present whether or not anyone went looking for it, and it constrains the answer rather than decorating it.
Observed
Rows your org has already returned on. A lit row carries your org's reading as well as the chamber's.
Unobserved
Reached, and your organisation has not returned on it yet. This is the invitation, and it is where a return is worth the most — every one of them is a row you can light.
Two sides, and an ask lands on one of them
Java is indexed as what a thing IS and as what you DO with it, and the two never share a room. CONCURRENCY is where the memory model lives; CONCURRENCY OPERATIONS is where you go to actually submit the task.
The language and its runtime
TYPE DECLARATIONS13
JVM RUNTIME12
CONCURRENCY10
FUNCTIONAL AND STREAMS9
MODIFIERS AND MEMBERS9
COLLECTIONS AND CONTRACTS8
EXCEPTIONS AND RESOURCES8
GENERICS8
COLLECTIONS2
EXCEPTIONS1
The operations
STREAM OPERATIONS
9
OBJECT CONTRACT & ORDERING
8
COLLECTION OPERATIONS
6
CONCURRENCY OPERATIONS
6
OPTIONAL OPERATIONS
5
STRING & IO OPERATIONS
5
RESOURCE MANAGEMENT
2
Knowing that a question is about the JVM rather than about a stream is most of the way to answering it, and the index is cut along that line because the questions are.
Seat levels
A Hue Models seat opens every Hue Model — the domains here today, and the ones that follow them.
Per seat, per month, pooled across the org — so one busy week never costs a quiet colleague their work. Lighting a row — returning what you observed — is the Observer's Index.
Before you compare two models
A hue identifies a row within a model, and never across them.
Bands are allocated per model and some overlap, so one hue can appear in more than one model. Each model is its own coordinate system, so two rows sharing a hue in different models are not related.