GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — scijava-main/scijava-types at main · IgorOffline/scijava-main

Expand file tree

/

scijava-types

/
Copy path

Directory actions

More options

More options

Directory actions

More options

More options

Latest commit

 

History

History
History
 
 
/

scijava-types

/
Copy path

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
src
src
 
 
LICENSE.txt
LICENSE.txt
 
 
NOTICE.txt
NOTICE.txt
 
 
README.md
README.md
 
 
pom.xml
pom.xml
 
 

README.md

Outline

SciJava Types: A library for generic type reasoning

This library provides a suite of utilities for working with generic types in Java.

TypeService and TypeExtractors: an extensible system for discovering generic types

TypeService.reify() offers provides a powerful, extensible way to determine the generic type for, or "reify", a given Object. Under the hood, it relies on TypeExtractor implementations, allowing the user to extend its capabilities by defining new implementations.

Also of note is the interface GenericTyped, which can be implemented to quickly make any type reifiable.

Nil: a container Object able to specify generic Types

Nils can best be described as a "typed null", able to generate a generic type defined by the Nil's type parameter. Given a generic type X, we can create a Type instance of X using the code

Type x = new Nil<X>() {}.type();

For example, if we wanted to specify the type Function<Double, Double>, we could write

Type functionType = new Nil<Function<Double, Double>>() {}.type();
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.