TheseFoolishThings

This project was born, several years ago, as the classic “kitchen sink” of stuff from other projects that was deemed of being reusable. Sometimes it grew in a disordered way, other times it was reviewed and cleaned up accurately. It contains different sort of things: from simple stuff such as a **```TimeProvider```** that can be mocked (for time-based tests), to **type safe ```Map```s** (following advice of Joshua Bloch); up to some more structured things such an extensible **```Finder```** to manipulate queries from a generic data source; **a facility for working with the DCI (Data, Context and Interactions) architectural pattern**; a **simple ```MessageBus```** suitable for using the Publish and Subscribe pattern inside an application. There is also some really exotic stuff, such as small implementation of **collaborative Actors** (working, but designed basically for didactic purposes). Actually this whole project is often used in Java classes to show things that are reasonably contextualized in a real-world scenario (the core parts of this project are used by working pet projects; something is also part of industrial project). There is good stuff and some strange stuff - in general an attitude of this project is to also try things in a different way than the standard. TheseFoolishThings supports JDK 8, but requires JDK 11 or 17 to be compiled.

License

License

GroupId

GroupId

it.tidalwave.thesefoolishthings
ArtifactId

ArtifactId

thesefoolishthings
Last Version

Last Version

3.2-ALPHA-12
Release Date

Release Date

Type

Type

jar
Description

Description

TheseFoolishThings
This project was born, several years ago, as the classic “kitchen sink” of stuff from other projects that was deemed of being reusable. Sometimes it grew in a disordered way, other times it was reviewed and cleaned up accurately. It contains different sort of things: from simple stuff such as a **```TimeProvider```** that can be mocked (for time-based tests), to **type safe ```Map```s** (following advice of Joshua Bloch); up to some more structured things such an extensible **```Finder```** to manipulate queries from a generic data source; **a facility for working with the DCI (Data, Context and Interactions) architectural pattern**; a **simple ```MessageBus```** suitable for using the Publish and Subscribe pattern inside an application. There is also some really exotic stuff, such as small implementation of **collaborative Actors** (working, but designed basically for didactic purposes). Actually this whole project is often used in Java classes to show things that are reasonably contextualized in a real-world scenario (the core parts of this project are used by working pet projects; something is also part of industrial project). There is good stuff and some strange stuff - in general an attitude of this project is to also try things in a different way than the standard. TheseFoolishThings supports JDK 8, but requires JDK 11 or 17 to be compiled.
Project URL

Project URL

http://tidalwave.it/projects/thesefoolishthings
Project Organization

Project Organization

Tidalwave s.a.s.
Source Code Management

Source Code Management

https://bitbucket.org/tidalwave/thesefoolishthings-src/src

Download thesefoolishthings

How to add to project

<!-- https://jarcasting.com/artifacts/it.tidalwave.thesefoolishthings/thesefoolishthings/ -->
<dependency>
    <groupId>it.tidalwave.thesefoolishthings</groupId>
    <artifactId>thesefoolishthings</artifactId>
    <version>3.2-ALPHA-12</version>
</dependency>
// https://jarcasting.com/artifacts/it.tidalwave.thesefoolishthings/thesefoolishthings/
implementation 'it.tidalwave.thesefoolishthings:thesefoolishthings:3.2-ALPHA-12'
// https://jarcasting.com/artifacts/it.tidalwave.thesefoolishthings/thesefoolishthings/
implementation ("it.tidalwave.thesefoolishthings:thesefoolishthings:3.2-ALPHA-12")
'it.tidalwave.thesefoolishthings:thesefoolishthings:jar:3.2-ALPHA-12'
<dependency org="it.tidalwave.thesefoolishthings" name="thesefoolishthings" rev="3.2-ALPHA-12">
  <artifact name="thesefoolishthings" type="jar" />
</dependency>
@Grapes(
@Grab(group='it.tidalwave.thesefoolishthings', module='thesefoolishthings', version='3.2-ALPHA-12')
)
libraryDependencies += "it.tidalwave.thesefoolishthings" % "thesefoolishthings" % "3.2-ALPHA-12"
[it.tidalwave.thesefoolishthings/thesefoolishthings "3.2-ALPHA-12"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

  • modules
  • archetypes/project

Versions

Version
3.2-ALPHA-12
3.2-ALPHA-11
3.2-ALPHA-10
3.2-ALPHA-9
3.2-ALPHA-8
3.2-ALPHA-7
3.2-ALPHA-6
3.2-ALPHA-5
3.2-ALPHA-4
3.2-ALPHA-2
3.2-ALPHA-1
3.1-ALPHA-7
3.1-ALPHA-6
3.1-ALPHA-5
3.1-ALPHA-4
3.1-ALPHA-3
3.1-ALPHA-2
3.1-ALPHA-1
3.0.3
3.0.2
3.0
3.0-BETA-1
3.0-ALPHA-2
3.0-ALPHA-1
2.6
2.5
2.4
2.3
2.2
2.1
2.0
1.39
1.38
1.37
1.36
1.35
1.34
1.33
1.32
1.31
1.30
1.29
1.28
1.27
1.26
1.25
1.24
1.23
1.22
1.19
1.18
1.17.1
1.16
1.15
1.14.0
1.13.0
1.12.0
1.11.0
1.10.0
1.8.0
1.6.2
1.6.1
1.5.2
1.5.1
1.5.0
1.4.1
1.4.0
1.3.0
1.2.0
1.1.1
1.1.0
1.0.9
1.0.6
1.0.5
1.0.4
1.0.3
1.0.2
1.0.0