Skip to content

Draft: documentation overview #1033

@GuusLieben

Description

@GuusLieben

Below is an overview of topics to cover in general documentation. This list is still being worked on, and is therefore not complete.

Note: the execution of documentation tasks belongs to #748 and related sub-issues.

Core

  • Cyclic dependency checking
    • constructors only
  • Application-level context
    • Global scope
    • Shared context
    • Common logging
    • Auto-processing (ProcessableAppContext)
  • Logging defaults
    • Logback integration
  • Component processing
    • Pre-processing
    • Post-processing
    • Utility base processors (proxy, annotated methods, onExit, etc)
  • Binding functions
    • For scope, priority, auto-processing
    • To (lazy) singletons, suppliers, types, or custom provider
  • Environment awareness
    • Proxy orchestrator
    • File system
    • Classpath
    • Type introspector
    • Build env
      • Integrated CI checks
    • Batch and strict mode
    • Type collecting (annotated, child of)
    • Rule checking (is singleton?)
    • Argument access
  • Classpath resource locators
  • Argument parsing
  • Lifecycle observing (and generic Observer)
    • On started
    • On exit
  • Activator annotations
    • Auto register pre- and post-processors
  • Auto scan packages from context and activators
  • Application builders
  • Shutdown hooks
  • Default bindings for internal components
    • For contextual environment
    • @Configuration providers
  • Exception handling
  • Conditions (RequiresX)
  • Component containers and locating
  • Component populators
    • Population strategies
    • Injection points
    • Component and context injection
  • Component and dependency enabling
  • Scopes and scope keys
  • Context types and keys (in utils)
  • Application aware contexts
  • Binders and binding hierarchies
    • Per-component
    • ComponentCollection
    • Singleton caches
    • Pruning
    • Post-processing binders
  • Dependency resolvers
  • Strict and loose matching (@Strict)
  • Lazy-loading with Lazy
  • Components and stereotypes

Proxy

  • Proxy factories
  • Proxy managers
  • Naming
  • Orchestration and orchestrator loaders
  • isProxy and original class lookups
  • Auto unproxying for equals etc
  • Manual unproxying (@Unproxy)
  • Constraint checking (final class, groovy traits, etc)
  • Proxy advice
    • Interceptors
    • Advisors
    • Invokers
    • Validators
    • Wrappers
      • Before, after return, after exception
    • Stubs
      • Default values
      • Error responses
    • Advice registries
  • Implementations (CGLIB, Javassist, Bytebuddy?)

Introspection

  • Type introspection
  • Type parameter resolution
  • Proxy introspection
  • Classpath scanning
  • Conversion service
    • Converter, GenericConverter, ConverterFactory, ConditionalConverter
    • Type pairs
    • Built in support converters
    • Null and default value providers
  • Virtual component composition
    • Extensions
    • Attribute aliases
  • Accessing instance methods, fields, etc
  • Parameter loading

Utils

  • Context types
  • Collections
    • Multimap
    • Bimap
  • Graphs
    • Iterators and DFS/BFS visitors
    • Invertable graphs
  • Option API

Reporting

  • Reportables, reporters, reports
  • Serializers
  • Built-in reporters
  • Property writing
  • Report aggregation

Discovery

  • SPI extensions
  • Runtime overrides and configurability

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions