Compare commits

..

38 commits

Author SHA1 Message Date
db10965c69
Rename name-conflicting NoAccessExceptions
Some checks failed
build-and-test / build (push) Failing after 36s
build-and-test / generate-javadoc (push) Failing after 38s
build-and-test / test (push) Failing after 42s
2024-08-31 13:53:39 +02:00
f578360395
Did I accidentally commit test code?
Some checks failed
build-and-test / test (push) Failing after 55s
build-and-test / build (push) Successful in 1m15s
build-and-test / generate-javadoc (push) Successful in 1m17s
2024-08-31 13:23:35 +02:00
6e7d660d70
Rename packages
Some checks failed
build-and-test / test (push) Failing after 1m3s
build-and-test / generate-javadoc (push) Failing after 1m9s
build-and-test / build (push) Failing after 1m12s
2024-08-31 13:15:31 +02:00
a3ca81498e
Replace Thread#sleep calls with Thread#onSpinWait 2024-08-30 03:06:36 +02:00
0d4fa85c91
Separate API documentation links 2024-08-24 22:56:27 +02:00
b974ce22b0
Add licensing and copyright information to init message 2024-08-21 21:45:43 +02:00
34be192d5b
[no ci] Update copyright notice 2024-08-21 21:41:28 +02:00
d1fa759d0a
Ensure engine shutdown after running tests 2024-08-21 21:26:25 +02:00
6a2a18095b
Fix Javadoc warnings 2024-08-21 21:19:22 +02:00
b4f5829375
Add PrintStreamService (implements #5) 2024-08-21 19:35:05 +02:00
b3968d8469
Fix typo Notifiying -> Notifying 2024-08-21 13:53:57 +02:00
d06f8a3dc3
Move ShutdownHandler code into EngineInternals 2024-08-21 13:51:21 +02:00
f1fb21dbb1
Replace executeSafely with good 'ol try-catch 2024-08-21 01:52:32 +02:00
5284dfe17b
Remove 1s thread sleep 2024-08-21 01:51:13 +02:00
8ea4594e6f
Revert "Removed safety shutdown hook again"
Found a fix.
This reverts commit f880122add.
2024-08-21 01:50:49 +02:00
f880122add
Removed safety shutdown hook again 2024-08-21 01:43:08 +02:00
2fedc981af
Add shutdown hook functionality (broken, #6)
Doesn't really work right now, will likely be removed
2024-08-21 01:40:45 +02:00
5718f33d88
Fix PlaceholderEngine usage in Logger.java 2024-08-20 22:32:21 +02:00
98ff132d27
Update Gradle wrapper to 8.10 2024-08-20 22:09:27 +02:00
c90406dac9
Make GLFW subsystem standalone + remove unnecessary fluff 2024-08-20 22:07:49 +02:00
ae790dbd18
Flush logs before printing crash report 2024-08-20 21:45:41 +02:00
701f316950
Nuke 'graphics', welcome 'windowing' 2024-08-20 21:01:39 +02:00
a550f0a16a
Update docusaurus 2024-08-20 20:54:46 +02:00
ef613acc59
[no ci] Fix typos, add link for JVM langs 2024-08-20 20:54:02 +02:00
29ac99c478
Remove size and position w/ decoration getters 2024-08-20 20:31:27 +02:00
ca3bf94a48
Prevent allocation in loops 2024-08-20 20:25:46 +02:00
ad7b3568cf
Add config setting for toggling newline support 2024-08-19 20:28:40 +02:00
48c326ad71
[no ci] Remove breakpoint instruction 2024-08-19 20:28:13 +02:00
fb82c9c4b0
Rework logger placeholder replacement, add newline support
This commit reworks how placeholders work in Logger.java and adds support for printing multiple lines.
2024-08-19 20:17:55 +02:00
971f81a626
Fix quirk of Jansi in AnsiShortcodeConverter
This commit prevents toggling attributes when including them multiple times in a string and instead simply ignores them when specified multiple times without <reset>ting them.
2024-08-19 20:14:55 +02:00
70ff609b77
[no ci] Sort properties in gradle.properties 2024-08-19 15:17:39 +02:00
54cde09be3
Update test configuration in other build.gradle files 2024-08-19 02:59:11 +02:00
43e038d3ec
Add correct @since tag to ListFormatter 2024-08-19 02:49:46 +02:00
781f1c113c
Remove unused and leftover methods 2024-08-19 02:49:31 +02:00
f828d31094
Remove args from Main#run method 2024-08-19 02:49:14 +02:00
9ff4f96814
Remove many unused warning supressions
Why did I add this to every single class file in the first place...?
2024-08-19 02:49:00 +02:00
ed9c94f17c
Added hacky way for controlling the execution of tests 2024-08-19 02:06:26 +02:00
94fb91197a
Add caching to workflows 2024-08-18 20:25:09 +02:00
306 changed files with 2739 additions and 2779 deletions

View file

@ -12,8 +12,26 @@ jobs:
steps: steps:
- name: Checkout - name: Checkout
uses: https://code.forgejo.org/actions/checkout@v4 uses: https://code.forgejo.org/actions/checkout@v4
- name: Restore Gradle cache
uses: actions/cache/restore@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
gradle-${{ runner.os }}-
- name: Compile - name: Compile
run: ./gradlew --no-daemon jar javadocJar sourceJar run: ./gradlew --no-daemon jar javadocJar sourceJar
- name: Save Gradle cache
uses: actions/cache/save@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
gradle-${{ runner.os }}-
- name: Upload library JARs - name: Upload library JARs
uses: https://code.forgejo.org/forgejo/upload-artifact@v4 uses: https://code.forgejo.org/forgejo/upload-artifact@v4
with: with:
@ -44,8 +62,26 @@ jobs:
steps: steps:
- name: Checkout - name: Checkout
uses: https://code.forgejo.org/actions/checkout@v4 uses: https://code.forgejo.org/actions/checkout@v4
- name: Restore Gradle cache
uses: actions/cache/restore@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
gradle-${{ runner.os }}-
- name: Generate javadoc - name: Generate javadoc
run: ./gradlew --no-daemon javadoc javadocAll run: ./gradlew --no-daemon javadoc javadocAll
- name: Save Gradle cache
uses: actions/cache/save@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
gradle-${{ runner.os }}-
- name: Upload separate javadoc - name: Upload separate javadoc
uses: https://code.forgejo.org/forgejo/upload-artifact@v4 uses: https://code.forgejo.org/forgejo/upload-artifact@v4
with: with:
@ -67,5 +103,23 @@ jobs:
steps: steps:
- name: Checkout - name: Checkout
uses: https://code.forgejo.org/actions/checkout@v4 uses: https://code.forgejo.org/actions/checkout@v4
- name: Restore Gradle cache
uses: actions/cache/restore@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
gradle-${{ runner.os }}-
- name: Run tests - name: Run tests
run: ./gradlew --no-daemon test run: ./gradlew --no-daemon test
- name: Save Gradle cache
uses: actions/cache/save@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
gradle-${{ runner.os }}-

View file

@ -11,8 +11,26 @@ jobs:
steps: steps:
- name: Checkout - name: Checkout
uses: https://code.forgejo.org/actions/checkout@v4 uses: https://code.forgejo.org/actions/checkout@v4
- name: Restore Gradle cache
uses: actions/cache/restore@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
gradle-${{ runner.os }}-
- name: Generate javadoc - name: Generate javadoc
run: ./gradlew --no-daemon javadoc run: ./gradlew --no-daemon javadoc
- name: Save Gradle cache
uses: actions/cache/save@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
gradle-${{ runner.os }}-
test: test:
runs-on: docker runs-on: docker
container: container:
@ -20,5 +38,23 @@ jobs:
steps: steps:
- name: Checkout - name: Checkout
uses: https://code.forgejo.org/actions/checkout@v4 uses: https://code.forgejo.org/actions/checkout@v4
- name: Restore Gradle cache
uses: actions/cache/restore@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
gradle-${{ runner.os }}-
- name: Run tests - name: Run tests
run: ./gradlew --no-daemon test run: ./gradlew --no-daemon test
- name: Save Gradle cache
uses: actions/cache/save@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
gradle-${{ runner.os }}-

View file

@ -1,7 +1,7 @@
<component name="CopyrightManager"> <component name="CopyrightManager">
<copyright> <copyright>
<option name="allowReplaceRegexp" value="Copyright .* The StarOpenSource Engine Contributors" /> <option name="allowReplaceRegexp" value="Copyright .* The StarOpenSource Engine Contributors" />
<option name="notice" value="STAROPENSOURCE ENGINE SOURCE FILE&#10;Copyright (c) &amp;#36;today.year The StarOpenSource Engine Contributors&#10;Licensed under the GNU Affero General Public License v3&#10;&#10;This program is free software: you can redistribute it and/or modify&#10;it under the terms of the GNU Affero General Public License as&#10;published by the Free Software Foundation, either version 3 of the&#10;License, or (at your option) any later version.&#10;&#10;This program is distributed in the hope that it will be useful,&#10;but WITHOUT ANY WARRANTY; without even the implied warranty of&#10;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the&#10;GNU Affero General Public License for more details.&#10;&#10;You should have received a copy of the GNU Affero General Public License&#10;along with this program. If not, see &lt;https://www.gnu.org/licenses/&gt;." /> <option name="notice" value="STAROPENSOURCE ENGINE SOURCE FILE&#10;Copyright (c) &amp;#36;today.year The StarOpenSource Engine Authors&#10;Licensed under the GNU Affero General Public License v3&#10;&#10;This program is free software: you can redistribute it and/or modify&#10;it under the terms of the GNU Affero General Public License as&#10;published by the Free Software Foundation, either version 3 of the&#10;License, or (at your option) any later version.&#10;&#10;This program is distributed in the hope that it will be useful,&#10;but WITHOUT ANY WARRANTY; without even the implied warranty of&#10;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the&#10;GNU Affero General Public License for more details.&#10;&#10;You should have received a copy of the GNU Affero General Public License&#10;along with this program. If not, see &lt;https://www.gnu.org/licenses/&gt;." />
<option name="myName" value="sos!engine" /> <option name="myName" value="sos!engine" />
</copyright> </copyright>
</component> </component>

View file

@ -19,8 +19,8 @@ The StarOpenSource Engine is under heavy development and is extremely unstable.
## About ## About
### ... the engine ### ... the engine
The StarOpenSource Engine is a modular and extensible framework for building applications and games written in the Java programming language. The StarOpenSource Engine is a modular and extensible framework for building applications and games written in [one of the multiple JVM programming languages](https://en.wikipedia.org/wiki/List_of_JVM_languages).
The engine consists of various subsystems, each separate and responsible for only a few closely-related things. The engine consists of various subsystems, each separate and responsible for only a few closely-related tasks.
\ \
Not only that. The engine also features various useful classes, interfaces and methods making development fun and simpler, while being lightweight. Not only that. The engine also features various useful classes, interfaces and methods making development fun and simpler, while being lightweight.
### ... the repository ### ... the repository
@ -50,10 +50,10 @@ We recommend and are using [IntelliJ IDEA Community Edition](https://github.com/
We recommend looking at existing classes and code for a good understanding on how we'd like code to be written. We recommend looking at existing classes and code for a good understanding on how we'd like code to be written.
Here's a quick rundown on the most important things: Here's a quick rundown on the most important things:
- Document EVERYTHING. Every single class, field and method, even if private. - Document EVERYTHING. Every single class, field and method, even if private.
- Make comments about your code, unless it's extremly simple and easy to understand. - Make comments about your code, unless it's extremely simple and easy to understand.
- Make sure to add and update `@since` in javadoc comments (update if the javadoc changes a good amount). - Make sure to add and update `@since` in javadoc comments (update if the javadoc changes a good amount).
- Keep stuff simple, no need to elaborate what a logger is. Though remember to not make it *too* simple. - Keep stuff simple, no need to elaborate what a logger is. Though remember to not make it *too* simple.
- Make sure every field and method has a newline to seperate it. - Make sure every field and method has a newline to separate it.
- Files must end with a newline or cats might get angry. - Files must end with a newline or cats might get angry.
- Use your brain. - Use your brain.
### Pull request guidelines ### Pull request guidelines

View file

@ -92,6 +92,13 @@ javadoc {
test { test {
useJUnitPlatform() useJUnitPlatform()
// Pass test configuration to test VMs
Map<String, String> testConfiguration = new HashMap<>();
for (String property : project.properties.keySet())
if (property.startsWith("test."))
testConfiguration.put(property, project.properties.get(property).toString())
systemProperties(testConfiguration)
setMaxParallelForks(project.hasProperty("jobs") ? Integer.parseInt((String) project.property("jobs")) : 8) setMaxParallelForks(project.hasProperty("jobs") ? Integer.parseInt((String) project.property("jobs")) : 8)
setForkEvery(1) setForkEvery(1)
setFailFast(true) setFailFast(true)

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -20,9 +20,9 @@
package de.staropensource.sosengine.ansi; package de.staropensource.sosengine.ansi;
import de.staropensource.sosengine.base.EngineConfiguration; import de.staropensource.sosengine.base.EngineConfiguration;
import de.staropensource.sosengine.base.classes.LoggerImplementation; import de.staropensource.sosengine.base.implementable.LoggerImplementation;
import de.staropensource.sosengine.base.logging.Logger; import de.staropensource.sosengine.base.logging.Logger;
import de.staropensource.sosengine.base.types.logging.LogLevel; import de.staropensource.sosengine.base.type.logging.LogLevel;
import org.fusesource.jansi.Ansi; import org.fusesource.jansi.Ansi;
import org.fusesource.jansi.AnsiConsole; import org.fusesource.jansi.AnsiConsole;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -35,7 +35,6 @@ import org.jetbrains.annotations.Nullable;
* @see LoggerImplementation * @see LoggerImplementation
* @since v1-alpha2 * @since v1-alpha2
*/ */
@SuppressWarnings({ "unused" })
public class AnsiLoggerImplementation implements LoggerImplementation { public class AnsiLoggerImplementation implements LoggerImplementation {
/** /**
* Constructs this class. * Constructs this class.

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,18 +19,20 @@
package de.staropensource.sosengine.ansi; package de.staropensource.sosengine.ansi;
import de.staropensource.sosengine.base.classes.ShortcodeParserSkeleton; import de.staropensource.sosengine.base.implementable.ShortcodeParserSkeleton;
import de.staropensource.sosengine.base.exceptions.ParserException; import de.staropensource.sosengine.base.exception.ParserException;
import org.fusesource.jansi.Ansi; import org.fusesource.jansi.Ansi;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import java.util.HashSet;
import java.util.Set;
/** /**
* Converts shortcodes such as {@code <bold>} or {@code <blink>} into a usable {@link Ansi} escape sequence. * Converts shortcodes such as {@code <bold>} or {@code <blink>} into a usable {@link Ansi} escape sequence.
* *
* @see ShortcodeParserSkeleton * @see ShortcodeParserSkeleton
* @since v1-alpha2 * @since v1-alpha2
*/ */
@SuppressWarnings({ "unused" })
public final class AnsiShortcodeConverter extends ShortcodeParserSkeleton { public final class AnsiShortcodeConverter extends ShortcodeParserSkeleton {
/** /**
* Constructs this class. * Constructs this class.
@ -52,11 +54,13 @@ public final class AnsiShortcodeConverter extends ShortcodeParserSkeleton {
*/ */
public @NotNull Ansi getAnsi() { public @NotNull Ansi getAnsi() {
Ansi ansi = Ansi.ansi(); Ansi ansi = Ansi.ansi();
Set<@NotNull String> status = new HashSet<>();
for (String component : components) for (String component : components)
if (component.equals("RESET")) if (component.equals("RESET")) {
ansi.a(Ansi.Attribute.RESET); ansi.a(Ansi.Attribute.RESET);
else if (component.startsWith("TEXT:")) status.clear();
} else if (component.startsWith("TEXT:"))
ansi.a(component.substring(5)); ansi.a(component.substring(5));
else if (component.startsWith("COLOR:")) else if (component.startsWith("COLOR:"))
if (component.startsWith("COLOR:FOREGROUND:")) if (component.startsWith("COLOR:FOREGROUND:"))
@ -64,18 +68,38 @@ public final class AnsiShortcodeConverter extends ShortcodeParserSkeleton {
else if (component.startsWith("COLOR:BACKGROUND:")) else if (component.startsWith("COLOR:BACKGROUND:"))
ansi.bg(Ansi.Color.valueOf(component.substring(17))); ansi.bg(Ansi.Color.valueOf(component.substring(17)));
else if (component.startsWith("ATTRIBUTE:")) else if (component.startsWith("ATTRIBUTE:"))
if (component.startsWith("ATTRIBUTE:BLINK")) if (component.startsWith("ATTRIBUTE:BLINK")) {
if (status.contains("ATTRIBUTE:BLINK"))
continue;
ansi.a(Ansi.Attribute.BLINK_SLOW); ansi.a(Ansi.Attribute.BLINK_SLOW);
else if (component.startsWith("ATTRIBUTE:BOLD")) status.add("ATTRIBUTE:BLINK");
} else if (component.startsWith("ATTRIBUTE:BOLD")) {
if (status.contains("ATTRIBUTE:BOLD"))
continue;
ansi.a(Ansi.Attribute.INTENSITY_BOLD); ansi.a(Ansi.Attribute.INTENSITY_BOLD);
else if (component.startsWith("ATTRIBUTE:ITALIC")) status.add("ATTRIBUTE:BOLD");
} else if (component.startsWith("ATTRIBUTE:ITALIC")) {
if (status.contains("ATTRIBUTE:ITALIC"))
continue;
ansi.a(Ansi.Attribute.ITALIC); ansi.a(Ansi.Attribute.ITALIC);
else if (component.startsWith("ATTRIBUTE:STRIKETHROUGH")) status.add("ATTRIBUTE:ITALIC");
} else if (component.startsWith("ATTRIBUTE:STRIKETHROUGH")) {
if (status.contains("ATTRIBUTE:STRIKETHROUGH"))
continue;
ansi.a(Ansi.Attribute.STRIKETHROUGH_ON); ansi.a(Ansi.Attribute.STRIKETHROUGH_ON);
else if (component.startsWith("ATTRIBUTE:UNDERLINE")) status.add("ATTRIBUTE:STRIKETHROUGH");
} else if (component.startsWith("ATTRIBUTE:UNDERLINE")) {
if (status.contains("ATTRIBUTE:UNDERLINE"))
continue;
ansi.a(Ansi.Attribute.UNDERLINE); ansi.a(Ansi.Attribute.UNDERLINE);
else if (component.startsWith("ATTRIBUTE:NEGATIVE")) status.add("ATTRIBUTE:UNDERLINE");
ansi.a(Ansi.Attribute.NEGATIVE_ON); }
return ansi; return ansi;
} }

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,12 +19,12 @@
package de.staropensource.sosengine.ansi; package de.staropensource.sosengine.ansi;
import de.staropensource.sosengine.base.annotations.EngineSubsystem; import de.staropensource.sosengine.base.annotation.EngineSubsystem;
import de.staropensource.sosengine.base.classes.SubsystemClass; import de.staropensource.sosengine.base.implementable.SubsystemClass;
import de.staropensource.sosengine.base.data.information.EngineInformation; import de.staropensource.sosengine.base.dataprovider.information.EngineInformation;
import de.staropensource.sosengine.base.data.versioning.StarOpenSourceVersioningSystem; import de.staropensource.sosengine.base.dataprovider.versioning.StarOpenSourceVersioningSystem;
import de.staropensource.sosengine.base.logging.Logger; import de.staropensource.sosengine.base.logging.Logger;
import de.staropensource.sosengine.base.types.DependencyVector; import de.staropensource.sosengine.base.type.DependencyVector;
import lombok.Getter; import lombok.Getter;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -34,7 +34,7 @@ import org.jetbrains.annotations.NotNull;
* @since v1-alpha2 * @since v1-alpha2
*/ */
@EngineSubsystem @EngineSubsystem
@SuppressWarnings({ "unused", "JavadocDeclaration" }) @SuppressWarnings({ "JavadocDeclaration" })
public final class AnsiSubsystem extends SubsystemClass { public final class AnsiSubsystem extends SubsystemClass {
/** /**
* Contains the class instance. * Contains the class instance.

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify

View file

@ -131,6 +131,13 @@ javadoc {
test { test {
useJUnitPlatform() useJUnitPlatform()
// Pass test configuration to test VMs
Map<String, String> testConfiguration = new HashMap<>();
for (String property : project.properties.keySet())
if (property.startsWith("test."))
testConfiguration.put(property, project.properties.get(property).toString())
systemProperties(testConfiguration)
setMaxParallelForks(project.hasProperty("jobs") ? Integer.parseInt((String) project.property("jobs")) : 8) setMaxParallelForks(project.hasProperty("jobs") ? Integer.parseInt((String) project.property("jobs")) : 8)
setForkEvery(1) setForkEvery(1)
setFailFast(true) setFailFast(true)

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,27 +19,26 @@
package de.staropensource.sosengine.base; package de.staropensource.sosengine.base;
import de.staropensource.sosengine.base.annotations.EngineSubsystem; import de.staropensource.sosengine.base.annotation.EngineSubsystem;
import de.staropensource.sosengine.base.classes.ShutdownHandler; import de.staropensource.sosengine.base.implementable.ShutdownHandler;
import de.staropensource.sosengine.base.classes.SubsystemClass; import de.staropensource.sosengine.base.implementable.SubsystemClass;
import de.staropensource.sosengine.base.classes.helpers.EventHelper; import de.staropensource.sosengine.base.implementable.helpers.EventHelper;
import de.staropensource.sosengine.base.data.information.EngineInformation; import de.staropensource.sosengine.base.dataprovider.information.EngineInformation;
import de.staropensource.sosengine.base.data.information.JvmInformation; import de.staropensource.sosengine.base.dataprovider.information.JvmInformation;
import de.staropensource.sosengine.base.data.versioning.StarOpenSourceVersioningSystem; import de.staropensource.sosengine.base.dataprovider.versioning.StarOpenSourceVersioningSystem;
import de.staropensource.sosengine.base.events.*; import de.staropensource.sosengine.base.event.*;
import de.staropensource.sosengine.base.exceptions.NoAccessException; import de.staropensource.sosengine.base.exception.NoAccessException;
import de.staropensource.sosengine.base.exceptions.dependency.UnmetDependenciesException; import de.staropensource.sosengine.base.exception.dependency.UnmetDependenciesException;
import de.staropensource.sosengine.base.internal.events.InternalEngineShutdownEvent; import de.staropensource.sosengine.base.internal.events.InternalEngineShutdownEvent;
import de.staropensource.sosengine.base.internal.types.DependencySubsystemVector; import de.staropensource.sosengine.base.internal.types.DependencySubsystemVector;
import de.staropensource.sosengine.base.logging.CrashHandler; import de.staropensource.sosengine.base.logging.*;
import de.staropensource.sosengine.base.logging.Logger; import de.staropensource.sosengine.base.type.DependencyVector;
import de.staropensource.sosengine.base.logging.LoggerInstance; import de.staropensource.sosengine.base.type.EngineState;
import de.staropensource.sosengine.base.types.DependencyVector; import de.staropensource.sosengine.base.type.immutable.ImmutableLinkedList;
import de.staropensource.sosengine.base.types.EngineState;
import de.staropensource.sosengine.base.types.immutable.ImmutableLinkedList;
import de.staropensource.sosengine.base.utility.DependencyResolver; import de.staropensource.sosengine.base.utility.DependencyResolver;
import de.staropensource.sosengine.base.utility.Miscellaneous; import de.staropensource.sosengine.base.utility.Miscellaneous;
import de.staropensource.sosengine.base.utility.PlaceholderEngine; import de.staropensource.sosengine.base.utility.PlaceholderEngine;
import lombok.AccessLevel;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -58,7 +57,7 @@ import java.util.*;
* @since v1-alpha0 * @since v1-alpha0
*/ */
@EngineSubsystem @EngineSubsystem
@SuppressWarnings({ "unused", "JavadocDeclaration" }) @SuppressWarnings({ "JavadocDeclaration" })
public final class Engine extends SubsystemClass { public final class Engine extends SubsystemClass {
/** /**
* Contains the class instance. * Contains the class instance.
@ -107,6 +106,21 @@ public final class Engine extends SubsystemClass {
@Getter @Getter
private @NotNull EngineState state = EngineState.UNKNOWN; private @NotNull EngineState state = EngineState.UNKNOWN;
/**
* Contains a list of all registered subsystems.
* The list is sorted after initialization order.
*
* @since v1-alpha1
* -- GETTER --
* Returns a list of all registered subsystems.
* The list is sorted after initialization order.
*
* @return subsystem list
* @since v1-alpha1
*/
@Getter
private @NotNull ImmutableLinkedList<@NotNull DependencySubsystemVector> subsystems = new ImmutableLinkedList<>();
/** /**
* Contains the engine's shutdown handler. * Contains the engine's shutdown handler.
* The shutdown handler is responsible for * The shutdown handler is responsible for
@ -131,24 +145,39 @@ public final class Engine extends SubsystemClass {
* @see ShutdownHandler * @see ShutdownHandler
* @since v1-alpha2 * @since v1-alpha2
*/ */
@Getter @Getter(value = AccessLevel.MODULE)
@Setter @Setter(value = AccessLevel.MODULE)
private @NotNull ShutdownHandler shutdownHandler = new Engine.JvmShutdownHandler(); private @NotNull ShutdownHandler shutdownHandler = new Engine.JvmShutdownHandler();
/** /**
* Contains a list of all registered subsystems. * Contains the JVM shutdown hook thread,
* The list is sorted after initialization order. * which ensures that the engine is fully shut
* down before the JVM exits.
* *
* @since v1-alpha1 * @see EngineInternals#installSafetyShutdownHook(boolean)
* -- GETTER -- * @since v1-alpha4
* Returns a list of all registered subsystems.
* The list is sorted after initialization order.
*
* @return subsystem list
* @since v1-alpha1
*/ */
@Getter @Getter(AccessLevel.MODULE)
private @NotNull ImmutableLinkedList<@NotNull DependencySubsystemVector> subsystems = new ImmutableLinkedList<>(); private final @NotNull Thread safetyShutdownHook = Thread.ofPlatform()
.name("Engine shutdown thread")
.group(getThreadGroup())
.unstarted(() -> {
// Check if already shutting down
switch (state) {
case UNKNOWN, SHUTDOWN, CRASHED -> {
return;
}
}
// Print warning about shutdown
logger.warn("Trying to shut down engine using shutdown hook.\nThis approach to shutting down the engine and JVM is NOT RECOMMENDED, please use Engine#shutdown() instead.");
// Shutdown
Engine.getInstance().shutdown();
// Print last message
InitLogger.warn(getClass(), "ENGINE", EngineInformation.getVersioningCodename(), "Engine successfully shut down using shutdown hook. PLEASE USE Engine#shutdown() INSTEAD OF System#exit() or Runtime#exit()!");
});
/** /**
* Initializes the StarOpenSource Engine. * Initializes the StarOpenSource Engine.
@ -170,12 +199,14 @@ public final class Engine extends SubsystemClass {
logger.info("Initializing engine"); logger.info("Initializing engine");
initializeClasses(); // Initialize classes initializeClasses(); // Initialize classes
if (checkEnvironment()) if (checkEnvironment()) // Check environment
throw new IllegalStateException("Running in an incompatible environment"); throw new IllegalStateException("Running in an incompatible environment");
ensureEnvironment(); // Prepare the environment and ensure safety
populateCrashContent(); // Populate crash content populateCrashContent(); // Populate crash content
cacheEvents(); // Cache event listeners cacheEvents(); // Cache event listeners
startThreads(); // Start threads startThreads(); // Start threads
logger.verb("Completing early initialization stage");
state = EngineState.STARTUP; state = EngineState.STARTUP;
// Perform automatic subsystem initialization // Perform automatic subsystem initialization
@ -191,8 +222,23 @@ public final class Engine extends SubsystemClass {
} }
}); });
logger.verb("Completing late initialization stage");
state = EngineState.RUNNING; state = EngineState.RUNNING;
logger.info("Initialized sos!engine %engine_version% (commit %engine_git_commit_id_long%-%engine_git_branch%, dirty %engine_git_dirty%) in " + initTime + "ms"); logger.info("Initialized sos!engine %engine_version% (commit %engine_git_commit_id_long%-%engine_git_branch%, dirty %engine_git_dirty%) in " + initTime + "ms\nThe StarOpenSource Engine is licensed under the GNU AGPL v3. Copyright (c) 2024 The StarOpenSource Engine Authors.");
}
/**
* Initializes all classes.
*
* @since v1-alpha0
*/
private void initializeClasses() {
logger.verb("Initializing engine classes");
new EngineInternals();
new PlaceholderEngine();
EngineInformation.update();
PrintStreamService.initializeStreams();
} }
/** /**
@ -210,15 +256,12 @@ public final class Engine extends SubsystemClass {
} }
/** /**
* Initializes all classes. * Ensures the execution safety of the environment.
* *
* @since v1-alpha0 * @since v1-alpha4
*/ */
private void initializeClasses() { private void ensureEnvironment() {
logger.verb("Initializing engine classes"); EngineInternals.getInstance().installSafetyShutdownHook(true);
new PlaceholderEngine();
EngineInformation.update();
} }
/** /**
@ -323,15 +366,17 @@ public final class Engine extends SubsystemClass {
Set<@NotNull Class<?>> annotatedClasses = reflections.getTypesAnnotatedWith(EngineSubsystem.class); Set<@NotNull Class<?>> annotatedClasses = reflections.getTypesAnnotatedWith(EngineSubsystem.class);
// Initialize classes, get dependency vector and add to 'subsystemsMutable' // Initialize classes, get dependency vector and add to 'subsystemsMutable'
Object initializedClassRaw;
SubsystemClass initializedClass;
for (Class<?> clazz : annotatedClasses) { for (Class<?> clazz : annotatedClasses) {
try { try {
// Create new instance // Create new instance
Object initializedClassRaw = clazz.getDeclaredConstructor().newInstance(); initializedClassRaw = clazz.getDeclaredConstructor().newInstance();
SubsystemClass initializedClass = null; initializedClass = null;
// Check if class implements SubsystemMainClass // Check if class implements SubsystemMainClass
if (initializedClassRaw instanceof SubsystemClass subsystemInstance) if (initializedClassRaw instanceof SubsystemClass)
initializedClass = subsystemInstance; initializedClass = (SubsystemClass) initializedClassRaw;
else else
logger.crash("Failed to initialize subsystem " + clazz.getName() + ": Does not implement " + SubsystemClass.class.getName()); logger.crash("Failed to initialize subsystem " + clazz.getName() + ": Does not implement " + SubsystemClass.class.getName());
@ -384,7 +429,7 @@ public final class Engine extends SubsystemClass {
} }
// Initialize subsystems // Initialize subsystems
logger.info("Initializing engine subsystems"); logger.verb("Initializing engine subsystems");
long initTime; long initTime;
for (DependencySubsystemVector vector : subsystems) { for (DependencySubsystemVector vector : subsystems) {
logger.diag("Initializing subsystem " + vector.getMainClass().getName() + " (" + vector.getMainClass().getClass().getName() + ")"); logger.diag("Initializing subsystem " + vector.getMainClass().getName() + " (" + vector.getMainClass().getClass().getName() + ")");
@ -408,6 +453,12 @@ public final class Engine extends SubsystemClass {
* @since v1-alpha0 * @since v1-alpha0
*/ */
public synchronized void shutdown(@Range(from = 0, to = 255) int exitCode) { public synchronized void shutdown(@Range(from = 0, to = 255) int exitCode) {
switch (state) {
case UNKNOWN, SHUTDOWN, CRASHED -> {
return;
}
}
logger.info("Shutting engine down"); logger.info("Shutting engine down");
if (state != EngineState.CRASHED) if (state != EngineState.CRASHED)
state = EngineState.SHUTDOWN; state = EngineState.SHUTDOWN;
@ -421,12 +472,19 @@ public final class Engine extends SubsystemClass {
// Flush log messages // Flush log messages
Logger.flushLogMessages(); Logger.flushLogMessages();
logger.verb("Notifiying classes about shutdown"); // Disable safety shutdown hook
try {
Runtime.getRuntime().removeShutdownHook(safetyShutdownHook);
} catch (Exception ignored) {}
// Send events
logger.verb("Notifying classes about shutdown");
new EngineShutdownEvent().callEvent(); new EngineShutdownEvent().callEvent();
logger.verb("Notifying subsystems about shutdown"); logger.verb("Notifying subsystems about shutdown");
new InternalEngineShutdownEvent().callEvent(); new InternalEngineShutdownEvent().callEvent();
// Invoke shutdown handler
logger.verb("Invoking shutdown handler (code " + exitCode + ")"); logger.verb("Invoking shutdown handler (code " + exitCode + ")");
shutdownHandler.shutdown((short) exitCode); shutdownHandler.shutdown((short) exitCode);
} }
@ -493,8 +551,18 @@ public final class Engine extends SubsystemClass {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public void shutdown(short exitCode) { public void shutdown(short exitCode) {
logger.warn("Terminating JVM"); // Check if already shutting down
try {
Thread thread = Thread.ofVirtual().unstarted(() -> {});
Runtime.getRuntime().addShutdownHook(thread);
Runtime.getRuntime().removeShutdownHook(thread);
} catch (IllegalStateException exception) {
logger.warn("Terminating JVM: Already shutting down, skipping");
return;
}
logger.warn("Terminating JVM");
System.exit(exitCode); System.exit(exitCode);
} }
} }

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,14 +19,14 @@
package de.staropensource.sosengine.base; package de.staropensource.sosengine.base;
import de.staropensource.sosengine.base.classes.ShortcodeParserSkeleton; import de.staropensource.sosengine.base.implementable.ShortcodeParserSkeleton;
import de.staropensource.sosengine.base.classes.Configuration; import de.staropensource.sosengine.base.implementable.Configuration;
import de.staropensource.sosengine.base.classes.helpers.EventHelper; import de.staropensource.sosengine.base.implementable.helpers.EventHelper;
import de.staropensource.sosengine.base.logging.CrashHandler; import de.staropensource.sosengine.base.logging.CrashHandler;
import de.staropensource.sosengine.base.logging.Logger; import de.staropensource.sosengine.base.logging.Logger;
import de.staropensource.sosengine.base.types.EngineState; import de.staropensource.sosengine.base.type.EngineState;
import de.staropensource.sosengine.base.types.logging.LogLevel; import de.staropensource.sosengine.base.type.logging.LogLevel;
import de.staropensource.sosengine.base.types.vectors.Vec2f; import de.staropensource.sosengine.base.type.vectors.Vec2f;
import de.staropensource.sosengine.base.utility.PropertiesReader; import de.staropensource.sosengine.base.utility.PropertiesReader;
import lombok.Getter; import lombok.Getter;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -50,7 +50,7 @@ import java.util.Properties;
* @since v1-alpha0 * @since v1-alpha0
*/ */
@Getter @Getter
@SuppressWarnings({ "unused", "JavadocDeclaration" }) @SuppressWarnings({ "JavadocDeclaration" })
public final class EngineConfiguration extends Configuration { public final class EngineConfiguration extends Configuration {
/** /**
* Contains the class instance. * Contains the class instance.
@ -216,19 +216,19 @@ public final class EngineConfiguration extends Configuration {
private String loggerTemplate; private String loggerTemplate;
/** /**
* If enabled, the JVM will immediately shutdown on an engine crash. This will prevent shutdown hooks from executing. * Contains how fast the logging thread will poll for queued messages.
* Note: This will also prevent Jansi and potentially other libraries from removing temporary native libraries at shutdown. * Only applies if {@code optimizeLogging} is turned on.
* *
* @see CrashHandler * @see #optimizeLogging
* @since v1-alpha0 * @since v1-alpha1
* -- GETTER -- * -- GETTER --
* Gets the value for {@link #loggerImmediateShutdown}. * Gets the value for {@link #loggerPollingSpeed}.
* *
* @return variable value * @return variable value
* @see #loggerImmediateShutdown * @see #loggerPollingSpeed
* @since v1-alpha0 * @since v1-alpha1
*/ */
private boolean loggerImmediateShutdown; private int loggerPollingSpeed;
/** /**
* If enabled, will force the {@link Logger} and {@link CrashHandler} to use <a href="https://www.man7.org/linux/man-pages/man3/stderr.3.html">the standard output</a> * If enabled, will force the {@link Logger} and {@link CrashHandler} to use <a href="https://www.man7.org/linux/man-pages/man3/stderr.3.html">the standard output</a>
@ -245,19 +245,34 @@ public final class EngineConfiguration extends Configuration {
private boolean loggerForceStandardOutput; private boolean loggerForceStandardOutput;
/** /**
* Contains how fast the logging thread will poll for queued messages. * If enabled, will enable support for printing log messages on multiple lines.
* Only applies if {@code optimizeLogging} is turned on. * By enabling this configuration setting, logger throughput will be decreased slightly when encountering a log message with newlines found in it.
* This performance hit is negligible though and should not affect application performance, especially with logger multi-threading turned on (see {@link #optimizeLogging}).
* *
* @see #optimizeLogging * @since v1-alpha4
* @since v1-alpha1
* -- GETTER -- * -- GETTER --
* Gets the value for {@link #loggerForceStandardOutput}. * Gets the value for {@link #loggerEnableNewlineSupport}.
* *
* @return variable value * @return variable value
* @see #loggerForceStandardOutput * @see #loggerEnableNewlineSupport
* @since v1-alpha1 * @since v1-alpha4
*/ */
private int loggerPollingSpeed; private boolean loggerEnableNewlineSupport;
/**
* If enabled, the JVM will immediately shutdown on an engine crash. This will prevent shutdown hooks from executing.
* Note: This will also prevent Jansi and potentially other libraries from removing temporary native libraries at shutdown.
*
* @see CrashHandler
* @since v1-alpha0
* -- GETTER --
* Gets the value for {@link #loggerImmediateShutdown}.
*
* @return variable value
* @see #loggerImmediateShutdown
* @since v1-alpha0
*/
private boolean loggerImmediateShutdown;
/** /**
* Will truncate the path of types when using their {@code toString} method. * Will truncate the path of types when using their {@code toString} method.
@ -325,9 +340,10 @@ public final class EngineConfiguration extends Configuration {
} }
} }
case "loggerTemplate" -> loggerTemplate = parser.getString(group + property); case "loggerTemplate" -> loggerTemplate = parser.getString(group + property);
case "loggerImmediateShutdown" -> loggerImmediateShutdown = parser.getBoolean(group + property);
case "loggerForceStandardOutput" -> loggerForceStandardOutput = parser.getBoolean(group + property);
case "loggerPollingSpeed" -> loggerPollingSpeed = parser.getInteger(group + property, true); case "loggerPollingSpeed" -> loggerPollingSpeed = parser.getInteger(group + property, true);
case "loggerForceStandardOutput" -> loggerForceStandardOutput = parser.getBoolean(group + property);
case "loggerEnableNewlineSupport" -> loggerEnableNewlineSupport = parser.getBoolean(group + property);
case "loggerImmediateShutdown" -> loggerImmediateShutdown = parser.getBoolean(group + property);
case "hideFullTypePath" -> hideFullTypePath = parser.getBoolean(group + property); case "hideFullTypePath" -> hideFullTypePath = parser.getBoolean(group + property);
} }
@ -358,10 +374,11 @@ public final class EngineConfiguration extends Configuration {
optimizeSubsystemInitialization = true; optimizeSubsystemInitialization = true;
loggerLevel = LogLevel.INFORMATIONAL; loggerLevel = LogLevel.INFORMATIONAL;
loggerTemplate = "%log_color_primary%[%time_hour%:%time_minute%:%time_second%] [%log_level% %log_path%%log_metadata%] %log_color_secondary%%log_message%<reset>"; loggerTemplate = "%log_color_primary%[%time_hour%:%time_minute%:%time_second%] [%log_level% %log_path%%log_metadata%] %log_message_prefix%%log_color_primary%%log_color_secondary%%log_message%<reset>";
loggerImmediateShutdown = false;
loggerForceStandardOutput = false;
loggerPollingSpeed = 5; loggerPollingSpeed = 5;
loggerForceStandardOutput = false;
loggerEnableNewlineSupport = true;
loggerImmediateShutdown = false;
hideFullTypePath = false; hideFullTypePath = false;
} }
@ -382,9 +399,10 @@ public final class EngineConfiguration extends Configuration {
case "loggerLevel" -> { return loggerLevel; } case "loggerLevel" -> { return loggerLevel; }
case "loggerTemplate" -> { return loggerTemplate; } case "loggerTemplate" -> { return loggerTemplate; }
case "loggerImmediateShutdown" -> { return loggerImmediateShutdown; }
case "loggerForceStandardOutput" -> { return loggerForceStandardOutput; }
case "loggerPollingSpeed" -> { return loggerPollingSpeed; } case "loggerPollingSpeed" -> { return loggerPollingSpeed; }
case "loggerForceStandardOutput" -> { return loggerForceStandardOutput; }
case "loggerEnableNewlineSupport" -> { return loggerEnableNewlineSupport; }
case "loggerImmediateShutdown" -> { return loggerImmediateShutdown; }
case "hideFullTypePath" -> { return hideFullTypePath; } case "hideFullTypePath" -> { return hideFullTypePath; }
default -> { return null; } default -> { return null; }

View file

@ -0,0 +1,169 @@
/*
* STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package de.staropensource.sosengine.base;
import de.staropensource.sosengine.base.implementable.ShutdownHandler;
import de.staropensource.sosengine.base.exception.NoAccessException;
import de.staropensource.sosengine.base.logging.LoggerInstance;
import de.staropensource.sosengine.base.type.InternalAccessArea;
import lombok.Getter;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* Class which allows access to the internals
* and changing the behaviour of the engine.
*
* @since v1-alpha4
*/
@SuppressWarnings({ "JavadocDeclaration" })
public final class EngineInternals {
/**
* Contains the class instance.
*
* @since v1-alpha4
* -- GETTER --
* Returns the class instance.
*
* @return class instance unless the engine is uninitialized
* @since v1-alpha4
*/
@Getter
private static EngineInternals instance;
/**
* Contains the {@link LoggerInstance} for this instance.
*
* @see LoggerInstance
* @since v1-alpha4
*/
private static final LoggerInstance logger = new LoggerInstance.Builder().setClazz(EngineInternals.class).setOrigin("ENGINE").build();
/**
* Contains all disabled internal access areas.
*
* @since v1-alpha4
* -- GETTER --
* Returns all disabled internal access areas.
*
* @return restricted areas
* @since v1-alpha4
*/
@Getter
private final @NotNull List<@NotNull InternalAccessArea> restrictedAreas = new ArrayList<>();
/**
* Constructs this class.
*
* @since v1-alpha4
*/
public EngineInternals() {
// Only allow one instance
if (instance == null && Engine.getInstance() != null)
instance = this;
else
logger.crash("Only one instance of this class is allowed, use getInstance() instead of creating a new instance");
}
/**
* Determines whether access to the specified area is allowed.
*
* @param area internal access area to check
* @throws NoAccessException when restricted
* @since v1-alpha4
*/
private void isRestricted(@NotNull InternalAccessArea area) throws NoAccessException {
if (restrictedAreas.contains(area))
throw new NoAccessException("The internal access area " + area.name() + " has been restricted");
}
/**
* Restricts access to certain areas of this class.
*
* @param area area to restrict
* @since v1-alpha4
*/
public void restrictAccess(@NotNull InternalAccessArea area) {
switch (area) {
case ALL -> {
List<@NotNull InternalAccessArea> areas = new ArrayList<>(List.of(InternalAccessArea.values()));
areas.remove(InternalAccessArea.ALL);
areas.remove(InternalAccessArea.ALL_READ);
areas.remove(InternalAccessArea.ALL_WRITE);
restrictedAreas.addAll(areas);
}
case ALL_READ -> restrictedAreas.addAll(Arrays.stream(InternalAccessArea.valuesReadOnly()).toList());
case ALL_WRITE -> restrictedAreas.addAll(Arrays.stream(InternalAccessArea.valuesWriteOnly()).toList());
default -> restrictedAreas.add(area);
}
}
/**
* Installs or uninstalls the JVM shutdown
* hook, which prevents the JVM from exiting
* before the engine has fully shut down.
* Highly recommended to keep enabled.
*
* @param status {@code true} to install, {@code false} otherwise
* @throws NoAccessException when restricted
* @since v1-alpha4
*/
public void installSafetyShutdownHook(boolean status) throws NoAccessException {
isRestricted(InternalAccessArea.SAFETY_SHUTDOWN_HOOK);
try {
if (status)
Runtime.getRuntime().addShutdownHook(Engine.getInstance().getSafetyShutdownHook());
else
Runtime.getRuntime().removeShutdownHook(Engine.getInstance().getSafetyShutdownHook());
} catch (IllegalArgumentException | IllegalStateException ignored) {}
}
/**
* Sets the engine's shutdown handler.
* The shutdown handler is responsible for
* shutting down the JVM safely.
*
* @param shutdownHandler new shutdown handler
* @throws NoAccessException when restricted
* @since v1-alpha4
*/
public void setShutdownHandler(@NotNull ShutdownHandler shutdownHandler) throws NoAccessException {
isRestricted(InternalAccessArea.SHUTDOWN_HANDLER_UPDATE);
Engine.getInstance().setShutdownHandler(shutdownHandler);
}
/**
* Gets the engine's shutdown handler.
* The shutdown handler is responsible for
* shutting down the JVM safely.
*
* @return shutdown handler
* @throws NoAccessException when restricted
* @since v1-alpha4
*/
public @NotNull ShutdownHandler getShutdownHandler() throws NoAccessException {
isRestricted(InternalAccessArea.SHUTDOWN_HANDLER_GET);
return Engine.getInstance().getShutdownHandler();
}
}

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,9 +17,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.annotations; package de.staropensource.sosengine.base.annotation;
import de.staropensource.sosengine.base.classes.SubsystemClass; import de.staropensource.sosengine.base.implementable.SubsystemClass;
import java.lang.annotation.*; import java.lang.annotation.*;
@ -33,5 +33,4 @@ import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME) @Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE) @Target(ElementType.TYPE)
@Documented @Documented
@SuppressWarnings("unused")
public @interface EngineSubsystem {} public @interface EngineSubsystem {}

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,10 +17,10 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.annotations; package de.staropensource.sosengine.base.annotation;
import de.staropensource.sosengine.base.classes.Event; import de.staropensource.sosengine.base.implementable.Event;
import de.staropensource.sosengine.base.types.EventPriority; import de.staropensource.sosengine.base.type.EventPriority;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import java.lang.annotation.*; import java.lang.annotation.*;
@ -34,7 +34,6 @@ import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME) @Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD) @Target(ElementType.METHOD)
@Documented @Documented
@SuppressWarnings("unused")
public @interface EventListener { public @interface EventListener {
/** /**
* Specifies the event to listen for. * Specifies the event to listen for.

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -23,4 +23,4 @@
* *
* @since v1-alpha0 * @since v1-alpha0
*/ */
package de.staropensource.sosengine.base.annotations; package de.staropensource.sosengine.base.annotation;

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,11 +17,11 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.data.information; package de.staropensource.sosengine.base.dataprovider.information;
import de.staropensource.sosengine.base.Engine; import de.staropensource.sosengine.base.Engine;
import de.staropensource.sosengine.base.logging.LoggerInstance; import de.staropensource.sosengine.base.logging.LoggerInstance;
import de.staropensource.sosengine.base.types.VersionType; import de.staropensource.sosengine.base.type.VersionType;
import de.staropensource.sosengine.base.utility.PropertiesReader; import de.staropensource.sosengine.base.utility.PropertiesReader;
import de.staropensource.sosengine.base.utility.parser.StackTraceParser; import de.staropensource.sosengine.base.utility.parser.StackTraceParser;
import lombok.Getter; import lombok.Getter;
@ -42,7 +42,7 @@ import java.util.Properties;
* *
* @since v1-alpha0 * @since v1-alpha0
*/ */
@SuppressWarnings({ "unused", "JavadocDeclaration" }) @SuppressWarnings({ "JavadocDeclaration" })
public final class EngineInformation { public final class EngineInformation {
/** /**
* Contains the {@link LoggerInstance} for this instance. * Contains the {@link LoggerInstance} for this instance.
@ -363,7 +363,6 @@ public final class EngineInformation {
gradleProperties.load(gradleStream); gradleProperties.load(gradleStream);
gradleStream.close(); gradleStream.close();
} catch (IOException exception) { } catch (IOException exception) {
StackTraceParser parser = new StackTraceParser(exception);
logger.crash("Unable to load build information: InputStream 'gradleStream' failed", exception); logger.crash("Unable to load build information: InputStream 'gradleStream' failed", exception);
return; return;
} }
@ -391,7 +390,6 @@ public final class EngineInformation {
gitProperties.load(gitStream); gitProperties.load(gitStream);
gitStream.close(); gitStream.close();
} catch (IOException exception) { } catch (IOException exception) {
StackTraceParser parser = new StackTraceParser(exception);
logger.crash("Unable to load build information: InputStream 'gitStream' failed", exception); logger.crash("Unable to load build information: InputStream 'gitStream' failed", exception);
return; return;
} }

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,7 +17,7 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.data.information; package de.staropensource.sosengine.base.dataprovider.information;
import de.staropensource.sosengine.base.logging.LoggerInstance; import de.staropensource.sosengine.base.logging.LoggerInstance;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -22,4 +22,4 @@
* *
* @since v1-alpha0 * @since v1-alpha0
*/ */
package de.staropensource.sosengine.base.data.information; package de.staropensource.sosengine.base.dataprovider.information;

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -22,4 +22,4 @@
* *
* @since v1-alpha0 * @since v1-alpha0
*/ */
package de.staropensource.sosengine.base.data; package de.staropensource.sosengine.base.dataprovider;

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,11 +17,11 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.data.versioning; package de.staropensource.sosengine.base.dataprovider.versioning;
import de.staropensource.sosengine.base.classes.VersioningSystem; import de.staropensource.sosengine.base.implementable.VersioningSystem;
import de.staropensource.sosengine.base.exceptions.versioning.IncompatibleVersioningSystemException; import de.staropensource.sosengine.base.exception.versioning.IncompatibleVersioningSystemException;
import de.staropensource.sosengine.base.exceptions.versioning.InvalidVersionStringException; import de.staropensource.sosengine.base.exception.versioning.InvalidVersionStringException;
import de.staropensource.sosengine.base.utility.Miscellaneous; import de.staropensource.sosengine.base.utility.Miscellaneous;
import lombok.Getter; import lombok.Getter;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -33,7 +33,7 @@ import org.jetbrains.annotations.Range;
* @since v1-alpha1 * @since v1-alpha1
*/ */
@Getter @Getter
@SuppressWarnings({ "unused", "JavadocDeclaration" }) @SuppressWarnings({ "JavadocDeclaration" })
public final class FourNumberVersioningSystem implements VersioningSystem { public final class FourNumberVersioningSystem implements VersioningSystem {
/** /**
* Contains the first number vector. * Contains the first number vector.

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,11 +17,11 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.data.versioning; package de.staropensource.sosengine.base.dataprovider.versioning;
import de.staropensource.sosengine.base.classes.VersioningSystem; import de.staropensource.sosengine.base.implementable.VersioningSystem;
import de.staropensource.sosengine.base.exceptions.versioning.IncompatibleVersioningSystemException; import de.staropensource.sosengine.base.exception.versioning.IncompatibleVersioningSystemException;
import de.staropensource.sosengine.base.exceptions.versioning.InvalidVersionStringException; import de.staropensource.sosengine.base.exception.versioning.InvalidVersionStringException;
import lombok.Getter; import lombok.Getter;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Range; import org.jetbrains.annotations.Range;
@ -32,7 +32,7 @@ import org.jetbrains.annotations.Range;
* @since v1-alpha1 * @since v1-alpha1
*/ */
@Getter @Getter
@SuppressWarnings({ "unused", "JavadocDeclaration" }) @SuppressWarnings({ "JavadocDeclaration" })
public final class OneNumberVersioningSystem implements VersioningSystem { public final class OneNumberVersioningSystem implements VersioningSystem {
/** /**
* Contains the number vector. * Contains the number vector.

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,11 +17,11 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.data.versioning; package de.staropensource.sosengine.base.dataprovider.versioning;
import de.staropensource.sosengine.base.classes.VersioningSystem; import de.staropensource.sosengine.base.implementable.VersioningSystem;
import de.staropensource.sosengine.base.exceptions.versioning.IncompatibleVersioningSystemException; import de.staropensource.sosengine.base.exception.versioning.IncompatibleVersioningSystemException;
import de.staropensource.sosengine.base.exceptions.versioning.InvalidVersionStringException; import de.staropensource.sosengine.base.exception.versioning.InvalidVersionStringException;
import de.staropensource.sosengine.base.utility.Miscellaneous; import de.staropensource.sosengine.base.utility.Miscellaneous;
import lombok.Getter; import lombok.Getter;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -40,7 +40,7 @@ import java.util.List;
* @since v1-alpha1 * @since v1-alpha1
*/ */
@Getter @Getter
@SuppressWarnings({ "unused", "JavadocDeclaration" }) @SuppressWarnings({ "JavadocDeclaration" })
public final class SemanticVersioningSystem implements VersioningSystem { public final class SemanticVersioningSystem implements VersioningSystem {
/** /**
* Contains the {@code MAJOR} vector. * Contains the {@code MAJOR} vector.

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,12 +17,12 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.data.versioning; package de.staropensource.sosengine.base.dataprovider.versioning;
import de.staropensource.sosengine.base.classes.VersioningSystem; import de.staropensource.sosengine.base.implementable.VersioningSystem;
import de.staropensource.sosengine.base.exceptions.versioning.IncompatibleVersioningSystemException; import de.staropensource.sosengine.base.exception.versioning.IncompatibleVersioningSystemException;
import de.staropensource.sosengine.base.exceptions.versioning.InvalidVersionStringException; import de.staropensource.sosengine.base.exception.versioning.InvalidVersionStringException;
import de.staropensource.sosengine.base.types.VersionType; import de.staropensource.sosengine.base.type.VersionType;
import lombok.Getter; import lombok.Getter;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
@ -41,7 +41,7 @@ import java.util.Locale;
* @since v1-alpha1 * @since v1-alpha1
*/ */
@Getter @Getter
@SuppressWarnings({ "unused", "JavadocDeclaration" }) @SuppressWarnings({ "JavadocDeclaration" })
public final class StarOpenSourceVersioningSystem implements VersioningSystem { public final class StarOpenSourceVersioningSystem implements VersioningSystem {
/** /**
* Contains the {@code VERSION} vector. * Contains the {@code VERSION} vector.
@ -131,7 +131,7 @@ public final class StarOpenSourceVersioningSystem implements VersioningSystem {
String companion = null; String companion = null;
String fork = null; String fork = null;
// Iterate through all chraracters // Iterate through all characters
for (Character character : versionString.toCharArray()) { for (Character character : versionString.toCharArray()) {
switch (parsingId) { switch (parsingId) {
case 0 -> { // 'v' character case 0 -> { // 'v' character

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,11 +17,11 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.data.versioning; package de.staropensource.sosengine.base.dataprovider.versioning;
import de.staropensource.sosengine.base.classes.VersioningSystem; import de.staropensource.sosengine.base.implementable.VersioningSystem;
import de.staropensource.sosengine.base.exceptions.versioning.IncompatibleVersioningSystemException; import de.staropensource.sosengine.base.exception.versioning.IncompatibleVersioningSystemException;
import de.staropensource.sosengine.base.exceptions.versioning.InvalidVersionStringException; import de.staropensource.sosengine.base.exception.versioning.InvalidVersionStringException;
import de.staropensource.sosengine.base.utility.Miscellaneous; import de.staropensource.sosengine.base.utility.Miscellaneous;
import lombok.Getter; import lombok.Getter;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -33,7 +33,7 @@ import org.jetbrains.annotations.Range;
* @since v1-alpha1 * @since v1-alpha1
*/ */
@Getter @Getter
@SuppressWarnings({ "unused", "JavadocDeclaration" }) @SuppressWarnings({ "JavadocDeclaration" })
public final class ThreeNumberVersioningSystem implements VersioningSystem { public final class ThreeNumberVersioningSystem implements VersioningSystem {
/** /**
* Contains the first number vector. * Contains the first number vector.

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,11 +17,11 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.data.versioning; package de.staropensource.sosengine.base.dataprovider.versioning;
import de.staropensource.sosengine.base.classes.VersioningSystem; import de.staropensource.sosengine.base.implementable.VersioningSystem;
import de.staropensource.sosengine.base.exceptions.versioning.IncompatibleVersioningSystemException; import de.staropensource.sosengine.base.exception.versioning.IncompatibleVersioningSystemException;
import de.staropensource.sosengine.base.exceptions.versioning.InvalidVersionStringException; import de.staropensource.sosengine.base.exception.versioning.InvalidVersionStringException;
import de.staropensource.sosengine.base.utility.Miscellaneous; import de.staropensource.sosengine.base.utility.Miscellaneous;
import lombok.Getter; import lombok.Getter;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -33,7 +33,7 @@ import org.jetbrains.annotations.Range;
* @since v1-alpha1 * @since v1-alpha1
*/ */
@Getter @Getter
@SuppressWarnings({ "unused", "JavadocDeclaration" }) @SuppressWarnings({ "JavadocDeclaration" })
public final class TwoNumberVersioningSystem implements VersioningSystem { public final class TwoNumberVersioningSystem implements VersioningSystem {
/** /**
* Contains the first number vector. * Contains the first number vector.

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -23,4 +23,4 @@
* *
* @since v1-alpha1 * @since v1-alpha1
*/ */
package de.staropensource.sosengine.base.data.versioning; package de.staropensource.sosengine.base.dataprovider.versioning;

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,17 +17,16 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.events; package de.staropensource.sosengine.base.event;
import de.staropensource.sosengine.base.classes.Event; import de.staropensource.sosengine.base.implementable.Event;
import de.staropensource.sosengine.base.classes.helpers.EventHelper; import de.staropensource.sosengine.base.implementable.helpers.EventHelper;
/** /**
* Called in the event of an engine crash. * Called in the event of an engine crash.
* *
* @since v1-alpha0 * @since v1-alpha0
*/ */
@SuppressWarnings({ "unused" })
public final class EngineCrashEvent implements Event { public final class EngineCrashEvent implements Event {
/** /**
* Constructs this event. * Constructs this event.

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,10 +17,10 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.events; package de.staropensource.sosengine.base.event;
import de.staropensource.sosengine.base.classes.Event; import de.staropensource.sosengine.base.implementable.Event;
import de.staropensource.sosengine.base.classes.helpers.EventHelper; import de.staropensource.sosengine.base.implementable.helpers.EventHelper;
/** /**
* Called when the engine is about to shutdown. * Called when the engine is about to shutdown.

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,10 +17,10 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.events; package de.staropensource.sosengine.base.event;
import de.staropensource.sosengine.base.classes.Event; import de.staropensource.sosengine.base.implementable.Event;
import de.staropensource.sosengine.base.classes.helpers.EventHelper; import de.staropensource.sosengine.base.implementable.helpers.EventHelper;
import de.staropensource.sosengine.base.logging.Logger; import de.staropensource.sosengine.base.logging.Logger;
/** /**
@ -31,7 +31,6 @@ import de.staropensource.sosengine.base.logging.Logger;
* @see Logger#crash(Class, String, String, String, Throwable, boolean) * @see Logger#crash(Class, String, String, String, Throwable, boolean)
* @since v1-alpha0 * @since v1-alpha0
*/ */
@SuppressWarnings({ "unused" })
public final class EngineSoftCrashEvent implements Event { public final class EngineSoftCrashEvent implements Event {
/** /**
* Constructs this event. * Constructs this event.

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,11 +17,11 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.events; package de.staropensource.sosengine.base.event;
import de.staropensource.sosengine.base.classes.Event; import de.staropensource.sosengine.base.implementable.Event;
import de.staropensource.sosengine.base.classes.helpers.EventHelper; import de.staropensource.sosengine.base.implementable.helpers.EventHelper;
import de.staropensource.sosengine.base.types.logging.LogLevel; import de.staropensource.sosengine.base.type.logging.LogLevel;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
@ -30,7 +30,6 @@ import org.jetbrains.annotations.Nullable;
* *
* @since v1-alpha0 * @since v1-alpha0
*/ */
@SuppressWarnings({ "unused" })
public final class LogEvent implements Event { public final class LogEvent implements Event {
/** /**
* Constructs this event. * Constructs this event.

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,10 +17,10 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.events; package de.staropensource.sosengine.base.event;
import de.staropensource.sosengine.base.classes.Event; import de.staropensource.sosengine.base.implementable.Event;
import de.staropensource.sosengine.base.classes.helpers.EventHelper; import de.staropensource.sosengine.base.implementable.helpers.EventHelper;
import de.staropensource.sosengine.base.utility.Miscellaneous; import de.staropensource.sosengine.base.utility.Miscellaneous;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -22,4 +22,4 @@
* *
* @since v1-alpha1 * @since v1-alpha1
*/ */
package de.staropensource.sosengine.base.events; package de.staropensource.sosengine.base.event;

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,26 +17,22 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.exceptions; package de.staropensource.sosengine.base.exception;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
/** /**
* Thrown when the caller class is not allowed to call the throwing method. * Thrown when the caller class is not allowed to call the throwing method.
* <p>
* Not to be confused with {@link de.staropensource.sosengine.base.exceptions.reflection.NoAccessException},
* which handles access violations of reflection objects.
* *
* @since v1-alpha2 * @since v1-alpha2
*/ */
@SuppressWarnings({ "unused" }) public class NoCallAccessException extends RuntimeException {
public class NoAccessException extends RuntimeException {
/** /**
* Constructs this exception. * Constructs this exception.
* *
* @since v1-alpha2 * @since v1-alpha2
*/ */
public NoAccessException() {} public NoCallAccessException() {}
/** /**
* Constructs this exception. * Constructs this exception.
@ -44,7 +40,7 @@ public class NoAccessException extends RuntimeException {
* @param message message * @param message message
* @since v1-alpha2 * @since v1-alpha2
*/ */
public NoAccessException(@NotNull String message) { public NoCallAccessException(@NotNull String message) {
super(message); super(message);
} }
} }

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,7 +17,7 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.exceptions; package de.staropensource.sosengine.base.exception;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,9 +17,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.exceptions; package de.staropensource.sosengine.base.exception;
import de.staropensource.sosengine.base.types.Tristate; import de.staropensource.sosengine.base.type.Tristate;
/** /**
* Thrown when converting a {@link Tristate} into a {@link Boolean} fails. * Thrown when converting a {@link Tristate} into a {@link Boolean} fails.

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,7 +17,7 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.exceptions; package de.staropensource.sosengine.base.exception;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,7 +17,7 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.exceptions; package de.staropensource.sosengine.base.exception;
import lombok.Getter; import lombok.Getter;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -28,7 +28,7 @@ import org.jetbrains.annotations.NotNull;
* @since v1-alpha1 * @since v1-alpha1
*/ */
@Getter @Getter
@SuppressWarnings({ "unused", "JavadocDeclaration" }) @SuppressWarnings({ "JavadocDeclaration" })
public class UnexpectedThrowableException extends Exception { public class UnexpectedThrowableException extends Exception {
/** /**
* Contains the throwable supplied to the constructor. * Contains the throwable supplied to the constructor.

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,7 +17,7 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.exceptions.dependency; package de.staropensource.sosengine.base.exception.dependency;
import de.staropensource.sosengine.base.utility.DependencyResolver; import de.staropensource.sosengine.base.utility.DependencyResolver;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -27,7 +27,6 @@ import org.jetbrains.annotations.NotNull;
* *
* @since v1-alpha1 * @since v1-alpha1
*/ */
@SuppressWarnings({ "unused" })
public class DependencyCycleException extends RuntimeException { public class DependencyCycleException extends RuntimeException {
/** /**
* Constructs this exception. * Constructs this exception.

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,9 +17,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.exceptions.dependency; package de.staropensource.sosengine.base.exception.dependency;
import de.staropensource.sosengine.base.types.DependencyVector; import de.staropensource.sosengine.base.type.DependencyVector;
import de.staropensource.sosengine.base.utility.DependencyResolver; import de.staropensource.sosengine.base.utility.DependencyResolver;
import lombok.Getter; import lombok.Getter;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -33,7 +33,7 @@ import java.util.Map;
* @since v1-alpha1 * @since v1-alpha1
*/ */
@Getter @Getter
@SuppressWarnings({ "unused", "JavadocDeclaration" }) @SuppressWarnings({ "JavadocDeclaration" })
public class UnmetDependenciesException extends Exception { public class UnmetDependenciesException extends Exception {
/** /**
* Contains the unmet dependencies list supplied to the constructor. * Contains the unmet dependencies list supplied to the constructor.

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -23,4 +23,4 @@
* @see de.staropensource.sosengine.base.utility.DependencyResolver * @see de.staropensource.sosengine.base.utility.DependencyResolver
* @since v1-alpha1 * @since v1-alpha1
*/ */
package de.staropensource.sosengine.base.exceptions.dependency; package de.staropensource.sosengine.base.exception.dependency;

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -22,4 +22,4 @@
* *
* @since v1-alpha1 * @since v1-alpha1
*/ */
package de.staropensource.sosengine.base.exceptions; package de.staropensource.sosengine.base.exception;

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,9 +17,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.exceptions.reflection; package de.staropensource.sosengine.base.exception.reflection;
import de.staropensource.sosengine.base.types.reflection.ClassType; import de.staropensource.sosengine.base.type.reflection.ClassType;
import de.staropensource.sosengine.base.utility.ListFormatter; import de.staropensource.sosengine.base.utility.ListFormatter;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -28,7 +28,6 @@ import org.jetbrains.annotations.NotNull;
* *
* @since v1-alpha2 * @since v1-alpha2
*/ */
@SuppressWarnings({ "unused" })
public class IncompatibleTypeException extends RuntimeException { public class IncompatibleTypeException extends RuntimeException {
/** /**
* Constructs this exception. * Constructs this exception.

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,7 +17,7 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.exceptions.reflection; package de.staropensource.sosengine.base.exception.reflection;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,7 +17,7 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.exceptions.reflection; package de.staropensource.sosengine.base.exception.reflection;
import de.staropensource.sosengine.base.reflection.ReflectionClass; import de.staropensource.sosengine.base.reflection.ReflectionClass;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -27,7 +27,6 @@ import org.jetbrains.annotations.NotNull;
* *
* @since v1-alpha2 * @since v1-alpha2
*/ */
@SuppressWarnings({ "unused" })
public class InvalidFieldException extends Exception { public class InvalidFieldException extends Exception {
/** /**
* Constructs this exception. * Constructs this exception.

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,7 +17,7 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.exceptions.reflection; package de.staropensource.sosengine.base.exception.reflection;
import de.staropensource.sosengine.base.reflection.ReflectionClass; import de.staropensource.sosengine.base.reflection.ReflectionClass;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -27,7 +27,6 @@ import org.jetbrains.annotations.NotNull;
* *
* @since v1-alpha2 * @since v1-alpha2
*/ */
@SuppressWarnings({ "unused" })
public class InvalidMethodException extends Exception { public class InvalidMethodException extends Exception {
/** /**
* Constructs this exception. * Constructs this exception.

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,7 +17,7 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.exceptions.reflection; package de.staropensource.sosengine.base.exception.reflection;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -26,7 +26,6 @@ import org.jetbrains.annotations.NotNull;
* *
* @since v1-alpha2 * @since v1-alpha2
*/ */
@SuppressWarnings({ "unused" })
public class InvalidMethodSignature extends Exception { public class InvalidMethodSignature extends Exception {
/** /**
* Constructs this exception. * Constructs this exception.

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,7 +17,7 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.exceptions.reflection; package de.staropensource.sosengine.base.exception.reflection;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -26,8 +26,7 @@ import org.jetbrains.annotations.NotNull;
* *
* @since v1-alpha2 * @since v1-alpha2
*/ */
@SuppressWarnings({ "unused" }) public class NoReflectionAccessException extends Exception {
public class NoAccessException extends Exception {
/** /**
* Constructs this exception. * Constructs this exception.
* *
@ -35,7 +34,7 @@ public class NoAccessException extends Exception {
* @param name class, method or field name * @param name class, method or field name
* @since v1-alpha2 * @since v1-alpha2
*/ */
public NoAccessException(@NotNull String type, @NotNull String name) { public NoReflectionAccessException(@NotNull String type, @NotNull String name) {
super("Access to " + type + " " + name + " has been denied"); super("Access to " + type + " " + name + " has been denied");
} }
} }

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,7 +17,7 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.exceptions.reflection; package de.staropensource.sosengine.base.exception.reflection;
import lombok.Getter; import lombok.Getter;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -28,7 +28,7 @@ import org.jetbrains.annotations.NotNull;
* @since v1-alpha2 * @since v1-alpha2
*/ */
@Getter @Getter
@SuppressWarnings({ "unused", "JavadocDeclaration" }) @SuppressWarnings({ "JavadocDeclaration" })
public class StaticInitializerException extends Exception { public class StaticInitializerException extends Exception {
/** /**
* Contains the throwable thrown by the static initializer. * Contains the throwable thrown by the static initializer.

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -23,4 +23,4 @@
* @see de.staropensource.sosengine.base.reflection * @see de.staropensource.sosengine.base.reflection
* @since v1-alpha2 * @since v1-alpha2
*/ */
package de.staropensource.sosengine.base.exceptions.reflection; package de.staropensource.sosengine.base.exception.reflection;

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,9 +17,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.exceptions.versioning; package de.staropensource.sosengine.base.exception.versioning;
import de.staropensource.sosengine.base.classes.VersioningSystem; import de.staropensource.sosengine.base.implementable.VersioningSystem;
/** /**
* Thrown when trying to compare a {@link VersioningSystem} against another * Thrown when trying to compare a {@link VersioningSystem} against another
@ -27,7 +27,6 @@ import de.staropensource.sosengine.base.classes.VersioningSystem;
* *
* @since v1-alpha1 * @since v1-alpha1
*/ */
@SuppressWarnings({ "unused" })
public class IncompatibleVersioningSystemException extends RuntimeException { public class IncompatibleVersioningSystemException extends RuntimeException {
/** /**
* Constructs this exception. * Constructs this exception.

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,9 +17,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.exceptions.versioning; package de.staropensource.sosengine.base.exception.versioning;
import de.staropensource.sosengine.base.classes.VersioningSystem; import de.staropensource.sosengine.base.implementable.VersioningSystem;
import lombok.Getter; import lombok.Getter;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
@ -32,7 +32,7 @@ import org.jetbrains.annotations.Nullable;
* @since v1-alpha1 * @since v1-alpha1
*/ */
@Getter @Getter
@SuppressWarnings({ "unused", "JavadocDeclaration" }) @SuppressWarnings({ "JavadocDeclaration" })
public class InvalidVersionStringException extends Exception { public class InvalidVersionStringException extends Exception {
/** /**
* Contains the throwable supplied to the constructor. * Contains the throwable supplied to the constructor.

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -18,9 +18,9 @@
*/ */
/** /**
* Exceptions thrown by implementations of {@link de.staropensource.sosengine.base.classes.VersioningSystem}s. * Exceptions thrown by implementations of {@link de.staropensource.sosengine.base.implementable.VersioningSystem}s.
* *
* @see de.staropensource.sosengine.base.classes.VersioningSystem * @see de.staropensource.sosengine.base.implementable.VersioningSystem
* @since v1-alpha1 * @since v1-alpha1
*/ */
package de.staropensource.sosengine.base.exceptions.versioning; package de.staropensource.sosengine.base.exception.versioning;

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,7 +17,7 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.classes; package de.staropensource.sosengine.base.implementable;
import de.staropensource.sosengine.base.logging.LoggerInstance; import de.staropensource.sosengine.base.logging.LoggerInstance;
import de.staropensource.sosengine.base.utility.PropertiesReader; import de.staropensource.sosengine.base.utility.PropertiesReader;
@ -35,7 +35,6 @@ import java.util.Properties;
* *
* @since v1-alpha2 * @since v1-alpha2
*/ */
@SuppressWarnings({ "unused" })
public abstract class Configuration { public abstract class Configuration {
/** /**
* Contains the {@link LoggerInstance} for this instance. * Contains the {@link LoggerInstance} for this instance.

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,9 +17,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.classes; package de.staropensource.sosengine.base.implementable;
import de.staropensource.sosengine.base.classes.helpers.EventHelper; import de.staropensource.sosengine.base.implementable.helpers.EventHelper;
/** /**
* Represents an event. * Represents an event.
@ -27,7 +27,6 @@ import de.staropensource.sosengine.base.classes.helpers.EventHelper;
* @see EventHelper * @see EventHelper
* @since v1-alpha0 * @since v1-alpha0
*/ */
@SuppressWarnings({ "unused" })
public interface Event { public interface Event {
/** /**
* Emits the event and calls all event listeners. * Emits the event and calls all event listeners.

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,10 +17,10 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.classes; package de.staropensource.sosengine.base.implementable;
import de.staropensource.sosengine.base.logging.Logger; import de.staropensource.sosengine.base.logging.Logger;
import de.staropensource.sosengine.base.types.logging.LogLevel; import de.staropensource.sosengine.base.type.logging.LogLevel;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
@ -30,7 +30,6 @@ import org.jetbrains.annotations.Nullable;
* @see Logger#setLoggerImplementation(LoggerImplementation) * @see Logger#setLoggerImplementation(LoggerImplementation)
* @since v1-alpha0 * @since v1-alpha0
*/ */
@SuppressWarnings({ "unused" })
public interface LoggerImplementation { public interface LoggerImplementation {
/** /**
* Invoked before anything is done with the log message. * Invoked before anything is done with the log message.

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,7 +17,7 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.classes; package de.staropensource.sosengine.base.implementable;
import de.staropensource.sosengine.base.utility.PlaceholderEngine; import de.staropensource.sosengine.base.utility.PlaceholderEngine;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -28,7 +28,6 @@ import org.jetbrains.annotations.NotNull;
* @see PlaceholderEngine * @see PlaceholderEngine
* @since v1-alpha0 * @since v1-alpha0
*/ */
@SuppressWarnings({ "unused" })
public interface Placeholder { public interface Placeholder {
/** /**
* Replaces the placeholder with content. * Replaces the placeholder with content.

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,10 +17,10 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.classes; package de.staropensource.sosengine.base.implementable;
import de.staropensource.sosengine.base.EngineConfiguration; import de.staropensource.sosengine.base.EngineConfiguration;
import de.staropensource.sosengine.base.exceptions.ParserException; import de.staropensource.sosengine.base.exception.ParserException;
import de.staropensource.sosengine.base.logging.LoggerInstance; import de.staropensource.sosengine.base.logging.LoggerInstance;
import lombok.Getter; import lombok.Getter;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -48,7 +48,7 @@ import java.util.Locale;
* *
* @since v1-alpha1 * @since v1-alpha1
*/ */
@SuppressWarnings({ "unused", "JavadocDeclaration" }) @SuppressWarnings({ "JavadocDeclaration" })
public abstract class ShortcodeParserSkeleton { public abstract class ShortcodeParserSkeleton {
/** /**
* Contains the {@link LoggerInstance} for this instance. * Contains the {@link LoggerInstance} for this instance.

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,7 +17,7 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.classes; package de.staropensource.sosengine.base.implementable;
import de.staropensource.sosengine.base.Engine; import de.staropensource.sosengine.base.Engine;
import org.jetbrains.annotations.Range; import org.jetbrains.annotations.Range;

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,14 +17,14 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.classes; package de.staropensource.sosengine.base.implementable;
import de.staropensource.sosengine.base.Engine; import de.staropensource.sosengine.base.Engine;
import de.staropensource.sosengine.base.annotations.EngineSubsystem; import de.staropensource.sosengine.base.annotation.EngineSubsystem;
import de.staropensource.sosengine.base.annotations.EventListener; import de.staropensource.sosengine.base.annotation.EventListener;
import de.staropensource.sosengine.base.internal.events.InternalEngineShutdownEvent; import de.staropensource.sosengine.base.internal.events.InternalEngineShutdownEvent;
import de.staropensource.sosengine.base.logging.LoggerInstance; import de.staropensource.sosengine.base.logging.LoggerInstance;
import de.staropensource.sosengine.base.types.DependencyVector; import de.staropensource.sosengine.base.type.DependencyVector;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
/** /**
@ -33,7 +33,6 @@ import org.jetbrains.annotations.NotNull;
* @see EngineSubsystem * @see EngineSubsystem
* @since v1-alpha0 * @since v1-alpha0
*/ */
@SuppressWarnings({ "unused" })
public abstract class SubsystemClass { public abstract class SubsystemClass {
/** /**
* Constructs this class. * Constructs this class.
@ -84,5 +83,6 @@ public abstract class SubsystemClass {
* @since v1-alpha0 * @since v1-alpha0
*/ */
@EventListener(event = InternalEngineShutdownEvent.class) @EventListener(event = InternalEngineShutdownEvent.class)
@SuppressWarnings({ "unused" })
protected static void shutdownSubsystem() {} protected static void shutdownSubsystem() {}
} }

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,9 +17,9 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.classes; package de.staropensource.sosengine.base.implementable;
import de.staropensource.sosengine.base.exceptions.versioning.IncompatibleVersioningSystemException; import de.staropensource.sosengine.base.exception.versioning.IncompatibleVersioningSystemException;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Range; import org.jetbrains.annotations.Range;
@ -28,7 +28,6 @@ import org.jetbrains.annotations.Range;
* *
* @since v1-alpha1 * @since v1-alpha1
*/ */
@SuppressWarnings({ "unused" })
public interface VersioningSystem { public interface VersioningSystem {
/** /**
* Returns the name of the versioning system. * Returns the name of the versioning system.

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -17,17 +17,17 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
package de.staropensource.sosengine.base.classes.helpers; package de.staropensource.sosengine.base.implementable.helpers;
import de.staropensource.sosengine.base.EngineConfiguration; import de.staropensource.sosengine.base.EngineConfiguration;
import de.staropensource.sosengine.base.annotations.EventListener; import de.staropensource.sosengine.base.annotation.EventListener;
import de.staropensource.sosengine.base.classes.Event; import de.staropensource.sosengine.base.implementable.Event;
import de.staropensource.sosengine.base.events.LogEvent; import de.staropensource.sosengine.base.event.LogEvent;
import de.staropensource.sosengine.base.exceptions.UnexpectedThrowableException; import de.staropensource.sosengine.base.exception.UnexpectedThrowableException;
import de.staropensource.sosengine.base.exceptions.reflection.InstanceMethodFromStaticContextException; import de.staropensource.sosengine.base.exception.reflection.InstanceMethodFromStaticContextException;
import de.staropensource.sosengine.base.exceptions.reflection.InvalidMethodSignature; import de.staropensource.sosengine.base.exception.reflection.InvalidMethodSignature;
import de.staropensource.sosengine.base.exceptions.reflection.NoAccessException; import de.staropensource.sosengine.base.exception.reflection.NoAccessException;
import de.staropensource.sosengine.base.exceptions.reflection.StaticInitializerException; import de.staropensource.sosengine.base.exception.reflection.StaticInitializerException;
import de.staropensource.sosengine.base.logging.LoggerInstance; import de.staropensource.sosengine.base.logging.LoggerInstance;
import de.staropensource.sosengine.base.reflection.Reflect; import de.staropensource.sosengine.base.reflection.Reflect;
import de.staropensource.sosengine.base.reflection.ReflectionMethod; import de.staropensource.sosengine.base.reflection.ReflectionMethod;
@ -53,7 +53,6 @@ import java.util.Set;
* @since v1-alpha0 * @since v1-alpha0
*/ */
@Getter @Getter
@SuppressWarnings({ "unused" })
public final class EventHelper { public final class EventHelper {
/** /**
* Holds all cached events. * Holds all cached events.

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -23,4 +23,4 @@
* *
* @since v1-alpha0 * @since v1-alpha0
*/ */
package de.staropensource.sosengine.base.classes.helpers; package de.staropensource.sosengine.base.implementable.helpers;

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -20,8 +20,8 @@
/** /**
* Interfaces and abstract classes which can be used for implementing classes. * Interfaces and abstract classes which can be used for implementing classes.
* <p> * <p>
* These are not to be confused with data types. See {@link de.staropensource.sosengine.base.types}. * These are not to be confused with data types. See {@link de.staropensource.sosengine.base.type}.
* *
* @since v1-alpha0 * @since v1-alpha0
*/ */
package de.staropensource.sosengine.base.classes; package de.staropensource.sosengine.base.implementable;

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,11 +19,11 @@
package de.staropensource.sosengine.base.internal.events; package de.staropensource.sosengine.base.internal.events;
import de.staropensource.sosengine.base.classes.Event; import de.staropensource.sosengine.base.implementable.Event;
import de.staropensource.sosengine.base.classes.helpers.EventHelper; import de.staropensource.sosengine.base.implementable.helpers.EventHelper;
/** /**
* Called when the engine is about to shutdown, after {@link de.staropensource.sosengine.base.events.EngineShutdownEvent}. * Called when the engine is about to shutdown, after {@link de.staropensource.sosengine.base.event.EngineShutdownEvent}.
* <p> * <p>
* Meant for subsystems to perform cleanup and shutdown routines, not for applications. * Meant for subsystems to perform cleanup and shutdown routines, not for applications.
* *

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,7 +19,7 @@
package de.staropensource.sosengine.base.internal.placeholders; package de.staropensource.sosengine.base.internal.placeholders;
import de.staropensource.sosengine.base.classes.Placeholder; import de.staropensource.sosengine.base.implementable.Placeholder;
import de.staropensource.sosengine.base.utility.Math; import de.staropensource.sosengine.base.utility.Math;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,7 +19,7 @@
package de.staropensource.sosengine.base.internal.placeholders; package de.staropensource.sosengine.base.internal.placeholders;
import de.staropensource.sosengine.base.classes.Placeholder; import de.staropensource.sosengine.base.implementable.Placeholder;
import de.staropensource.sosengine.base.utility.Math; import de.staropensource.sosengine.base.utility.Math;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,7 +19,7 @@
package de.staropensource.sosengine.base.internal.placeholders; package de.staropensource.sosengine.base.internal.placeholders;
import de.staropensource.sosengine.base.classes.Placeholder; import de.staropensource.sosengine.base.implementable.Placeholder;
import de.staropensource.sosengine.base.utility.Math; import de.staropensource.sosengine.base.utility.Math;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,8 +19,8 @@
package de.staropensource.sosengine.base.internal.placeholders; package de.staropensource.sosengine.base.internal.placeholders;
import de.staropensource.sosengine.base.classes.Placeholder; import de.staropensource.sosengine.base.implementable.Placeholder;
import de.staropensource.sosengine.base.data.information.EngineInformation; import de.staropensource.sosengine.base.dataprovider.information.EngineInformation;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
/** /**

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,8 +19,8 @@
package de.staropensource.sosengine.base.internal.placeholders; package de.staropensource.sosengine.base.internal.placeholders;
import de.staropensource.sosengine.base.classes.Placeholder; import de.staropensource.sosengine.base.implementable.Placeholder;
import de.staropensource.sosengine.base.data.information.EngineInformation; import de.staropensource.sosengine.base.dataprovider.information.EngineInformation;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
/** /**

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,8 +19,8 @@
package de.staropensource.sosengine.base.internal.placeholders; package de.staropensource.sosengine.base.internal.placeholders;
import de.staropensource.sosengine.base.classes.Placeholder; import de.staropensource.sosengine.base.implementable.Placeholder;
import de.staropensource.sosengine.base.data.information.EngineInformation; import de.staropensource.sosengine.base.dataprovider.information.EngineInformation;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
/** /**

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,8 +19,8 @@
package de.staropensource.sosengine.base.internal.placeholders; package de.staropensource.sosengine.base.internal.placeholders;
import de.staropensource.sosengine.base.classes.Placeholder; import de.staropensource.sosengine.base.implementable.Placeholder;
import de.staropensource.sosengine.base.data.information.EngineInformation; import de.staropensource.sosengine.base.dataprovider.information.EngineInformation;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
/** /**

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,8 +19,8 @@
package de.staropensource.sosengine.base.internal.placeholders; package de.staropensource.sosengine.base.internal.placeholders;
import de.staropensource.sosengine.base.classes.Placeholder; import de.staropensource.sosengine.base.implementable.Placeholder;
import de.staropensource.sosengine.base.data.information.EngineInformation; import de.staropensource.sosengine.base.dataprovider.information.EngineInformation;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
/** /**

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,8 +19,8 @@
package de.staropensource.sosengine.base.internal.placeholders; package de.staropensource.sosengine.base.internal.placeholders;
import de.staropensource.sosengine.base.classes.Placeholder; import de.staropensource.sosengine.base.implementable.Placeholder;
import de.staropensource.sosengine.base.data.information.EngineInformation; import de.staropensource.sosengine.base.dataprovider.information.EngineInformation;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
/** /**

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,8 +19,8 @@
package de.staropensource.sosengine.base.internal.placeholders; package de.staropensource.sosengine.base.internal.placeholders;
import de.staropensource.sosengine.base.classes.Placeholder; import de.staropensource.sosengine.base.implementable.Placeholder;
import de.staropensource.sosengine.base.data.information.EngineInformation; import de.staropensource.sosengine.base.dataprovider.information.EngineInformation;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
/** /**

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,8 +19,8 @@
package de.staropensource.sosengine.base.internal.placeholders; package de.staropensource.sosengine.base.internal.placeholders;
import de.staropensource.sosengine.base.classes.Placeholder; import de.staropensource.sosengine.base.implementable.Placeholder;
import de.staropensource.sosengine.base.data.information.EngineInformation; import de.staropensource.sosengine.base.dataprovider.information.EngineInformation;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
/** /**

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,8 +19,8 @@
package de.staropensource.sosengine.base.internal.placeholders; package de.staropensource.sosengine.base.internal.placeholders;
import de.staropensource.sosengine.base.classes.Placeholder; import de.staropensource.sosengine.base.implementable.Placeholder;
import de.staropensource.sosengine.base.data.information.EngineInformation; import de.staropensource.sosengine.base.dataprovider.information.EngineInformation;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
/** /**

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,8 +19,8 @@
package de.staropensource.sosengine.base.internal.placeholders; package de.staropensource.sosengine.base.internal.placeholders;
import de.staropensource.sosengine.base.classes.Placeholder; import de.staropensource.sosengine.base.implementable.Placeholder;
import de.staropensource.sosengine.base.data.information.EngineInformation; import de.staropensource.sosengine.base.dataprovider.information.EngineInformation;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
/** /**

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,8 +19,8 @@
package de.staropensource.sosengine.base.internal.placeholders; package de.staropensource.sosengine.base.internal.placeholders;
import de.staropensource.sosengine.base.classes.Placeholder; import de.staropensource.sosengine.base.implementable.Placeholder;
import de.staropensource.sosengine.base.data.information.EngineInformation; import de.staropensource.sosengine.base.dataprovider.information.EngineInformation;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
/** /**

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,8 +19,8 @@
package de.staropensource.sosengine.base.internal.placeholders; package de.staropensource.sosengine.base.internal.placeholders;
import de.staropensource.sosengine.base.classes.Placeholder; import de.staropensource.sosengine.base.implementable.Placeholder;
import de.staropensource.sosengine.base.data.information.EngineInformation; import de.staropensource.sosengine.base.dataprovider.information.EngineInformation;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
/** /**

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,8 +19,8 @@
package de.staropensource.sosengine.base.internal.placeholders; package de.staropensource.sosengine.base.internal.placeholders;
import de.staropensource.sosengine.base.classes.Placeholder; import de.staropensource.sosengine.base.implementable.Placeholder;
import de.staropensource.sosengine.base.data.information.EngineInformation; import de.staropensource.sosengine.base.dataprovider.information.EngineInformation;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
/** /**

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,8 +19,8 @@
package de.staropensource.sosengine.base.internal.placeholders; package de.staropensource.sosengine.base.internal.placeholders;
import de.staropensource.sosengine.base.classes.Placeholder; import de.staropensource.sosengine.base.implementable.Placeholder;
import de.staropensource.sosengine.base.data.information.EngineInformation; import de.staropensource.sosengine.base.dataprovider.information.EngineInformation;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
/** /**

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,8 +19,8 @@
package de.staropensource.sosengine.base.internal.placeholders; package de.staropensource.sosengine.base.internal.placeholders;
import de.staropensource.sosengine.base.classes.Placeholder; import de.staropensource.sosengine.base.implementable.Placeholder;
import de.staropensource.sosengine.base.data.information.EngineInformation; import de.staropensource.sosengine.base.dataprovider.information.EngineInformation;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
/** /**

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,8 +19,8 @@
package de.staropensource.sosengine.base.internal.placeholders; package de.staropensource.sosengine.base.internal.placeholders;
import de.staropensource.sosengine.base.classes.Placeholder; import de.staropensource.sosengine.base.implementable.Placeholder;
import de.staropensource.sosengine.base.data.information.EngineInformation; import de.staropensource.sosengine.base.dataprovider.information.EngineInformation;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
/** /**

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,8 +19,8 @@
package de.staropensource.sosengine.base.internal.placeholders; package de.staropensource.sosengine.base.internal.placeholders;
import de.staropensource.sosengine.base.classes.Placeholder; import de.staropensource.sosengine.base.implementable.Placeholder;
import de.staropensource.sosengine.base.data.information.EngineInformation; import de.staropensource.sosengine.base.dataprovider.information.EngineInformation;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
/** /**

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,8 +19,8 @@
package de.staropensource.sosengine.base.internal.placeholders; package de.staropensource.sosengine.base.internal.placeholders;
import de.staropensource.sosengine.base.classes.Placeholder; import de.staropensource.sosengine.base.implementable.Placeholder;
import de.staropensource.sosengine.base.data.information.EngineInformation; import de.staropensource.sosengine.base.dataprovider.information.EngineInformation;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
/** /**

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,7 +19,7 @@
package de.staropensource.sosengine.base.internal.placeholders; package de.staropensource.sosengine.base.internal.placeholders;
import de.staropensource.sosengine.base.classes.Placeholder; import de.staropensource.sosengine.base.implementable.Placeholder;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
/** /**

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,8 +19,8 @@
package de.staropensource.sosengine.base.internal.placeholders; package de.staropensource.sosengine.base.internal.placeholders;
import de.staropensource.sosengine.base.classes.Placeholder; import de.staropensource.sosengine.base.implementable.Placeholder;
import de.staropensource.sosengine.base.data.information.EngineInformation; import de.staropensource.sosengine.base.dataprovider.information.EngineInformation;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
/** /**

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,8 +19,8 @@
package de.staropensource.sosengine.base.internal.placeholders; package de.staropensource.sosengine.base.internal.placeholders;
import de.staropensource.sosengine.base.classes.Placeholder; import de.staropensource.sosengine.base.implementable.Placeholder;
import de.staropensource.sosengine.base.data.information.EngineInformation; import de.staropensource.sosengine.base.dataprovider.information.EngineInformation;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
/** /**

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,8 +19,8 @@
package de.staropensource.sosengine.base.internal.placeholders; package de.staropensource.sosengine.base.internal.placeholders;
import de.staropensource.sosengine.base.classes.Placeholder; import de.staropensource.sosengine.base.implementable.Placeholder;
import de.staropensource.sosengine.base.data.information.EngineInformation; import de.staropensource.sosengine.base.dataprovider.information.EngineInformation;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
/** /**

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,8 +19,8 @@
package de.staropensource.sosengine.base.internal.placeholders; package de.staropensource.sosengine.base.internal.placeholders;
import de.staropensource.sosengine.base.classes.Placeholder; import de.staropensource.sosengine.base.implementable.Placeholder;
import de.staropensource.sosengine.base.data.information.EngineInformation; import de.staropensource.sosengine.base.dataprovider.information.EngineInformation;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
/** /**

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,8 +19,8 @@
package de.staropensource.sosengine.base.internal.placeholders; package de.staropensource.sosengine.base.internal.placeholders;
import de.staropensource.sosengine.base.classes.Placeholder; import de.staropensource.sosengine.base.implementable.Placeholder;
import de.staropensource.sosengine.base.data.information.JvmInformation; import de.staropensource.sosengine.base.dataprovider.information.JvmInformation;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
/** /**
@ -44,7 +44,8 @@ public final class JvmArguments implements Placeholder {
StringBuilder arguments = new StringBuilder(); StringBuilder arguments = new StringBuilder();
for (String argument : JvmInformation.getArguments()) { for (String argument : JvmInformation.getArguments()) {
if (!arguments.isEmpty()) arguments.append(" "); if (!arguments.isEmpty())
arguments.append(" ");
arguments arguments
.append("\"") .append("\"")

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,8 +19,8 @@
package de.staropensource.sosengine.base.internal.placeholders; package de.staropensource.sosengine.base.internal.placeholders;
import de.staropensource.sosengine.base.classes.Placeholder; import de.staropensource.sosengine.base.implementable.Placeholder;
import de.staropensource.sosengine.base.data.information.JvmInformation; import de.staropensource.sosengine.base.dataprovider.information.JvmInformation;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
/** /**

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,8 +19,8 @@
package de.staropensource.sosengine.base.internal.placeholders; package de.staropensource.sosengine.base.internal.placeholders;
import de.staropensource.sosengine.base.classes.Placeholder; import de.staropensource.sosengine.base.implementable.Placeholder;
import de.staropensource.sosengine.base.data.information.JvmInformation; import de.staropensource.sosengine.base.dataprovider.information.JvmInformation;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
/** /**

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,8 +19,8 @@
package de.staropensource.sosengine.base.internal.placeholders; package de.staropensource.sosengine.base.internal.placeholders;
import de.staropensource.sosengine.base.classes.Placeholder; import de.staropensource.sosengine.base.implementable.Placeholder;
import de.staropensource.sosengine.base.data.information.JvmInformation; import de.staropensource.sosengine.base.dataprovider.information.JvmInformation;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
/** /**

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,8 +19,8 @@
package de.staropensource.sosengine.base.internal.placeholders; package de.staropensource.sosengine.base.internal.placeholders;
import de.staropensource.sosengine.base.classes.Placeholder; import de.staropensource.sosengine.base.implementable.Placeholder;
import de.staropensource.sosengine.base.data.information.JvmInformation; import de.staropensource.sosengine.base.dataprovider.information.JvmInformation;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
/** /**

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,8 +19,8 @@
package de.staropensource.sosengine.base.internal.placeholders; package de.staropensource.sosengine.base.internal.placeholders;
import de.staropensource.sosengine.base.classes.Placeholder; import de.staropensource.sosengine.base.implementable.Placeholder;
import de.staropensource.sosengine.base.data.information.JvmInformation; import de.staropensource.sosengine.base.dataprovider.information.JvmInformation;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
/** /**

View file

@ -1,6 +1,6 @@
/* /*
* STAROPENSOURCE ENGINE SOURCE FILE * STAROPENSOURCE ENGINE SOURCE FILE
* Copyright (c) 2024 The StarOpenSource Engine Contributors * Copyright (c) 2024 The StarOpenSource Engine Authors
* Licensed under the GNU Affero General Public License v3 * Licensed under the GNU Affero General Public License v3
* *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
@ -19,7 +19,7 @@
package de.staropensource.sosengine.base.internal.placeholders; package de.staropensource.sosengine.base.internal.placeholders;
import de.staropensource.sosengine.base.classes.Placeholder; import de.staropensource.sosengine.base.implementable.Placeholder;
import de.staropensource.sosengine.base.utility.Math; import de.staropensource.sosengine.base.utility.Math;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;

Some files were not shown because too many files have changed in this diff Show more