java-beans-lite

Lightweight and fast java.beans.Introspector implementation used to remove dependency on java.desktop module for Bean Introspection

Лицензия

Лицензия

Категории

Категории

Java Языки программирования
Группа

Группа

com.github.panga
Идентификатор

Идентификатор

java-beans-lite
Последняя версия

Последняя версия

1.0.2
Дата

Дата

Тип

Тип

jar
Описание

Описание

java-beans-lite
Lightweight and fast java.beans.Introspector implementation used to remove dependency on java.desktop module for Bean Introspection
Ссылка на сайт

Ссылка на сайт

https://github.com/panga/java-beans-lite
Система контроля версий

Система контроля версий

https://github.com/panga/java-beans-lite.git

Скачать java-beans-lite

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/com.github.panga/java-beans-lite/ -->
<dependency>
    <groupId>com.github.panga</groupId>
    <artifactId>java-beans-lite</artifactId>
    <version>1.0.2</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.panga/java-beans-lite/
implementation 'com.github.panga:java-beans-lite:1.0.2'
// https://jarcasting.com/artifacts/com.github.panga/java-beans-lite/
implementation ("com.github.panga:java-beans-lite:1.0.2")
'com.github.panga:java-beans-lite:jar:1.0.2'
<dependency org="com.github.panga" name="java-beans-lite" rev="1.0.2">
  <artifact name="java-beans-lite" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.panga', module='java-beans-lite', version='1.0.2')
)
libraryDependencies += "com.github.panga" % "java-beans-lite" % "1.0.2"
[com.github.panga/java-beans-lite "1.0.2"]

Зависимости

test (2)

Идентификатор библиотеки Тип Версия
junit : junit jar 4.12
org.hamcrest : hamcrest-core jar 1.3

Модули Проекта

Данный проект не имеет модулей.

Java Beans Lite

Lightweight and fast java.beans.Introspector reimplementation used to remove dependency on java.desktop module for Bean Introspection.

Problem

The java.desktop module introduced in JDK 9 encapsulates all AWT, Swing, Image and Sound packages from Java standard libraries.

In addition to that, it contains the java.beans package with helper classes to interact with Java Beans, specifically doing introspection.

Due to its tight dependency with AWT, it cannot be easily removed from java.desktop module, causing any thirdparty library that uses java.beans package to be dependent of all java.desktop classes, adding extra 12mb of size overhead into the JVM installation and some extra memory usage.

Solution

Reimplemented java.beans.Introspector class to do analysis of Java Beans in a very lightweight and super fast way (analysis results are cached automatically) with only java.base module packages dependency.

The initial implementation is a small subset of Introspection class methods, it doesn't implement the full interface.

Usage

Using as a java.beans replacement

  1. Add a Maven Dependency
<dependency>
    <groupId>com.github.panga</groupId>
    <artifactId>java-beans-lite</artifactId>
    <version>1.0.2</version>
</dependency>
  1. Find all ocurrences of import java.beans and replace with import lite.beans.

Contributors

License

Apache License 2.0

Версии библиотеки

Версия
1.0.2
1.0.1
1.0.0