Java Software Extensibility Library

RESOURCE

Abstract

The Java Software Extensibility Library provides tools that help Java software developers produce flexible and extensible Java applications. The major components include a Plugin Library and a Polymorphic Map data structure. The Plugin Library provides developers with a Plugin Registry and a standard pattern for designing, versioning, registering, retrieving, and annotating plugins. It also enables advanced capabilities such as loading plugins at runtime, and creating/loading encrypted plugin packages. The Polymorphic Map data structure facilitates the storage and retrieval of objects of varying types within a single data structure; while maintaining type safety. The library also provides a standard design pattern for producing application-specific "Domain Maps" and "Closed Domain Maps".SAND2020-3816 M Sandia National Laboratories is a multimission laboratory managed and operated by National Technology & Engineering Solutions of Sandia, LLC, a wholly owned subsidiary of Honeywell International Inc., for the U.S. Department of Energy’s National Nuclear Security Administration under contract DE-NA0003525.
Developers:
Fleschute, Christopher [1] Smith, Phillip [1] HIcks, Talia [1] Bertrand, Tyler [1] Figueroa, Benjamin [1]
  1. Sandia National Lab. (SNL-NM), Albuquerque, NM (United States)
Release Date:
2020-02-24
Project Type:
Open Source, Publicly Available Repository
Software Type:
Scientific
Programming Languages:
Java
Version:
0.9.0
Licenses:
Apache License 2.0
Sponsoring Org.:
Code ID:
46950
Site Accession Number:
SCR#2463.0
Research Org.:
Sandia National Laboratories (SNL-NM), Albuquerque, NM (United States)
Country of Origin:
United States

RESOURCE

Citation Formats

Fleschute, Christopher, Smith, Phillip, HIcks, Talia, Bertrand, Tyler, and Figueroa, Benjamin. Java Software Extensibility Library. Computer Software. https://github.com/sandialabs/jsel. USDOE. 24 Feb. 2020. Web. doi:10.11578/dc.20201030.11.
Fleschute, Christopher, Smith, Phillip, HIcks, Talia, Bertrand, Tyler, & Figueroa, Benjamin. (2020, February 24). Java Software Extensibility Library. [Computer software]. https://github.com/sandialabs/jsel. https://doi.org/10.11578/dc.20201030.11.
Fleschute, Christopher, Smith, Phillip, HIcks, Talia, Bertrand, Tyler, and Figueroa, Benjamin. "Java Software Extensibility Library." Computer software. February 24, 2020. https://github.com/sandialabs/jsel. https://doi.org/10.11578/dc.20201030.11.
@misc{ doecode_46950,
title = {Java Software Extensibility Library},
author = {Fleschute, Christopher and Smith, Phillip and HIcks, Talia and Bertrand, Tyler and Figueroa, Benjamin},
abstractNote = {The Java Software Extensibility Library provides tools that help Java software developers produce flexible and extensible Java applications. The major components include a Plugin Library and a Polymorphic Map data structure. The Plugin Library provides developers with a Plugin Registry and a standard pattern for designing, versioning, registering, retrieving, and annotating plugins. It also enables advanced capabilities such as loading plugins at runtime, and creating/loading encrypted plugin packages. The Polymorphic Map data structure facilitates the storage and retrieval of objects of varying types within a single data structure; while maintaining type safety. The library also provides a standard design pattern for producing application-specific "Domain Maps" and "Closed Domain Maps".SAND2020-3816 M Sandia National Laboratories is a multimission laboratory managed and operated by National Technology & Engineering Solutions of Sandia, LLC, a wholly owned subsidiary of Honeywell International Inc., for the U.S. Department of Energy’s National Nuclear Security Administration under contract DE-NA0003525.},
doi = {10.11578/dc.20201030.11},
url = {https://doi.org/10.11578/dc.20201030.11},
howpublished = {[Computer Software] \url{https://doi.org/10.11578/dc.20201030.11}},
year = {2020},
month = {feb}
}