SimplixStorage - Awesome library to store data in a better way icon

SimplixStorage - Awesome library to store data in a better way -----

Epic standalone library to store data in YAML, JSON & Toml - Preserves comments!




Improve | Update YamlBeans
----------, May 18, 2021

New | Add reload consumer
----------, Feb 18, 2021


Fix | Issue with input stream always being null in Config
----------, Nov 28, 2020

Announcement: LighingStorage got rebranded to SimplixStorage
In the future, we plan to bring some significant code and documentation upgrades to the SimplixStorage. Very thrilled about this!
----------, Sep 17, 2020

We're including LightningStorage in our core plugin: SimplixCore
Now you can make use of the LightningStorage by just using the SimplixCore as a plugin on your server.
The SimplixCore also contains a lot of different features you will love (Such as a package management system, SQL integration using HikariCP, Dependency Injection using Google's Guice and so much more)!

The SimplixCore contains LightningStorage as a library.
If you install it as a plugin on your server you won't need to shade LightningStorage into your jar-file.

1: Download SimplixCore and install it on your server:
Spigot
BungeeCord

[​IMG]
2) Put the this into your pom.xml file:
1. Place this in your repository-section:
Code (Text):

<repository>
    <id>jitpack.io</id>
    <url>https://jitpack.io</url>
</repository>
 
2. Place this in your dependency-section:

Code (Text):

<dependency>
    <groupId>com.github.KotlinFactory</groupId>
    <artifactId>LightningStorage</artifactId>
    <version>3.1.9</version>
   <scope>provided</scope> <!-- Must be provided since we want to use it from the SimplixCore!-->
</dependency>
 
----------, Sep 10, 2020

New | FileUtils#extractResourceFolderContents

Important:
The groupId changed from JavaFactoryDev to KotlinFactory!
Code (Text):
 
       <repository>
            <id>jitpack.io</id>
            <url>https://jitpack.io</url>
        </repository>
Code (Text):

    <dependency>
        <groupId>com.github.KotlinFactory</groupId>
        <artifactId>LightningStorage</artifactId>
        <version>3.1.9</version>
    </dependency>
----------, Sep 9, 2020

Code (Text):
<repository>
  <id>jitpack.io</id>
  <url>https://jitpack.io</url>
</repository>
Place this in your dependency-section:
<dependency>
  <groupId>com.github.JavaFactoryDev</groupId>
  <artifactId>LightningStorage</artifactId>
  <version>3.1.6</version>
</dependency>
----------, Jul 23, 2020

  • Fix | Bug in LightningSerializer
----------, Jun 12, 2020

Improved | Comment preservation
----------, May 12, 2020

Improved constructors, fixed bug in getMap
----------, Mar 29, 2020

Big | Fixed Bug in YamlEditor
----------, Feb 26, 2020

Fix | Removed debug-message
----------, Feb 20, 2020

Bugfix | Removed issue with removing keys from the flatfile
----------, Feb 20, 2020

Bugfix | Removed issue with File-Constructor in FlatFile
----------, Feb 19, 2020

Bugfix | Removed issue while getting arrays with getOrDefault()

Code (Text):
<!-- JitPack-Repo -->
<repository>
  <id>jitpack.io</id>
  <url>https://jitpack.io</url>
</repository>

<dependency>
  <groupId>com.github.JavaFactoryDev</groupId>
  <artifactId>LightningStorage</artifactId>
  <version>3.0.3</version>
</dependency>

   
----------, Feb 15, 2020

Improvement | Better nullability
----------, Feb 15, 2020

Added FileUtils.listFiles() to get All Files in a special folder.
Improved Builder & FileUtils.replaceExtenstions to replace redundant extensions
used in the builder.
----------, Jan 6, 2020

Happy new year!

Many new opportunities.
Better performance.
New Files

The version 3.x.x is now considered stable.

  • Huge internal recode.
  • Way easier to use API
  • Enhanced speed.
  • Enhanced comment-preservation.
  • Added LightningBuilder.
  • Added LightningFile.
  • Added LightningSerializable.
  • Better documentation.
See Wiki for details

Code (Text):
<dependency>
  <groupId>com.github.javafactorydev</groupId>
  <artifactId>lightningstorage</artifactId>
  <version>3.0.0</version>
</dependency
----------, Dec 31, 2019

Bugfix & Improvement | Repackaging of the dependencies -> No more NoSuchMethodErrors
Improvement | Smaller jar file
----------, Jul 26, 2019

Improvement | The constructor TOML/YAML/JSON (final File file) is now public and can be used to create a new LightningFile!
----------, Jul 15, 2019

Bug fix | Removing keys is now working (Error in writer)
Easier to use | Easier to use Remove & Remove key is now delegating to each other

Thanks to 1stian for this Bugreport
----------, Jun 23, 2019

New feature | The config class is now accessible!
It preserves comments automatically and allows you to edit the header and footer!

[​IMG]
[​IMG]
----------, Jun 23, 2019

Bug fix | Storing floats in Toml files now working.
----------, Jun 22, 2019

Bug fixes
----------, Jun 18, 2019

Json&Toml implementation
----------, Jun 17, 2019

Improvement | Performance of YAML files could be increased - Thanks to @Butzlabben

New Feature |
Get the keys from YAML-files Thanks for this idea to @TekkitCommando

Bug-Fix | getOrSetDefault() now works with multiple nestedObjects on YAML files
----------, Jun 17, 2019

Improvement | You can now download the original jar again.
----------, Jun 14, 2019

[​IMG]

It took many hours of development and intensive headaches about how to take Java-development to a new level.

I also talked to some other developers on how to push LightningStorage to a new level

Here are the main new features:
  • Support for TOML files - A brilliant configuration language
  • The performance of all file types was massively enhanced - In some cases it is even faster than MySQL or MongoDB
  • LightningStorage is now fully enabled to preserve comments - This is the first library that is able to do this!
  • There is a new config class specially designed to preserve comments. You can also get&edit the header
  • CSV&An own file format is currently under development
  • Improved Wiki & SpigotMC Page
  • The download is now pointing to the GitHub page ->
  • Created a new example pom: https://pastebin.com/5NtTs0xT
  • A few bugs where fixed
----------, Jun 8, 2019

Now, this is a development release of LightningStorage 2.0!
It is actually stable and bugfree, as it doesn't implement all new features yet.

New features!

New Feature
| Boosted speed | As the name says, LighningStorage is now incredibly fast.
It only reloads a file if needed (you can change this -> see below) and it
can get a lot of values out of a YAML/JSON within a few ms (0-3) (Depending whether you are using YAML or JSON -> JSON is faster)

New Feature | Control the reloadflow | You can now control how the YAML or JSON should be reloaded:

[​IMG]

As the name says: Intelligent is the most intelligent option but if you want to reload your file manually by using the .update() method or r eload it every time befor getting/setting a value you might set this to manually or automatically.


LightningStorage 2.0 will be great!

Greetings,
Leonhard|EsGibtKeineMitte
----------, May 31, 2019

Improvement | CodeStyle
BugFix | Removed Debug Messages
----------, May 26, 2019

Thanks to Sytm the file size could be shrunk to 229kb again.

----------, May 25, 2019

Improvement | You can now control whether the file should be reloaded automatically!

LightningStorage used to reload the file before getting values from it. As this is extremely helpful for keeping everything nice and simple - It can sometimes drain the performance extremely.

So you can now decide whether the file should be reloaded automatically or not!

Teaser for 2.0:

-Yaml comments will be preserved
-The performance will be dramatically increased.
-->We will switch from YamlBeans to SnakeYaml

-Own config class - designed to make it as easy as possible for you to create a perfect config file for your plugin!

-A new intelligent reload mode will be added: It will check whether the file on disk has changed a then reload automatically for you.

--> There will be a settings system in the YAML and JSON file so you can again decide how you want to use LightningStorage (Of course there will be default values which should be best for most people - easiness to use is very important for me)
----------, May 24, 2019

Bugfix | Updating old values is now working without having to remove the old ones
----------, May 23, 2019

Fixed updating bug
----------, May 23, 2019

BugFix | yaml.getBoolean returns always false
----------, May 22, 2019

Improvement | CodeStyle & Peformance improved (By fixing a bug -> secondary)

Important Bugfix!
-->Change to 1.5!
----------, May 19, 2019

Better performance & multiple nested Objects
----------, May 19, 2019

Improvement | Better CodeStyle
BugFix | getPathPrefix
----------, May 18, 2019

New Feature | You can set a path Prefix with setPathPrefix!


This avoids you from typing

get("spawn.x")
get("spawn.y")
get("spawn.z")

instead, you can just type:

setPathPrefix("spawn")

This will save you lots of time!

Of course, prefix is only for the current instance and not for the whole file :)
(This means if you have multiple instances of a file its only set to one - this avoids you from checking on every other instance for the pathPrefix)


You can just un set it with setPathPrefix(null)


You can update by setting your dependency to:

Code (Text):
<dependency>
           <groupId>de.leonhard</groupId>
           <artifactId>LightningStorage</artifactId>
           <version>1.2</version>
           <scope>compile</scope>
   </dependency>
 
----------, May 15, 2019

Improvement | Now the contains-checks of LightningStorage are even better!


[​IMG]
----------, May 12, 2019

Resource Information
Author:
----------
Total Downloads: 4,205
First Release: May 11, 2019
Last Update: May 18, 2021
Category: ---------------
All-Time Rating:
21 ratings
Find more info at github.com...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings