Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@ repositories {
dependencies {
// Provided dependencies
compileOnly 'org.openjfx:javafx-controls:19.0.2.1'
compileOnly 'jakarta.annotation:jakarta.annotation-api:3.0.0'
testCompileOnly 'jakarta.annotation:jakarta.annotation-api:3.0.0'
implementation 'org.jspecify:jspecify:1.0.0'

// Test dependencies
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.9.2'
Expand Down Expand Up @@ -45,6 +44,10 @@ tasks.withType(JavaCompile).configureEach {
options.compilerArgs << '-parameters'
}

tasks.withType(AbstractTestTask).configureEach {
failOnNoDiscoveredTests = false
}

jvmdg {
downgradeTo = JavaVersion.VERSION_17
}
Expand Down
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#Sat Jan 18 02:53:32 EST 2025
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
2 changes: 1 addition & 1 deletion src/main/java/module-info.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
module bento.fx {
requires static jakarta.annotation;

requires javafx.base;
requires javafx.graphics;
requires javafx.controls;
requires java.desktop;
requires org.jspecify;

// Just open/export everything. Do whatever you want.
exports software.coley.bentofx;
Expand Down
40 changes: 20 additions & 20 deletions src/main/java/software/coley/bentofx/Bento.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package software.coley.bentofx;

import jakarta.annotation.Nonnull;
import org.jspecify.annotations.NonNull;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import software.coley.bentofx.building.ControlsBuilding;
Expand Down Expand Up @@ -34,106 +34,106 @@ public class Bento {
private final DockableDragDropBehavior dragDropBehavior = newDragDropBehavior();
private final DockableClickBehavior clickBehavior = newClickBehavior();

@Nonnull
@NonNull
protected EventBus newEventBus() {
return new EventBus();
}

@Nonnull
@NonNull
protected SearchHandler newSearchHandler() {
return new SearchHandler(this);
}

@Nonnull
@NonNull
protected StageBuilding newStageBuilding() {
return new StageBuilding(this);
}

@Nonnull
@NonNull
protected ControlsBuilding newControlsBuilding() {
return new ControlsBuilding();
}

@Nonnull
@NonNull
protected DockBuilding newDockBuilding() {
return new DockBuilding(this);
}

@Nonnull
@NonNull
protected PlaceholderBuilding newPlaceholderBuilding() {
return new PlaceholderBuilding();
}

@Nonnull
@NonNull
protected DockableDragDropBehavior newDragDropBehavior() {
return new DockableDragDropBehavior() {};
}

@Nonnull
@NonNull
protected DockableClickBehavior newClickBehavior() {
return new DockableClickBehavior() {};
}

/**
* @return Bus for handling event firing and event listeners.
*/
@Nonnull
@NonNull
public EventBus events() {
return eventBus;
}

/**
* @return Search operations.
*/
@Nonnull
@NonNull
public SearchHandler search() {
return searchHandler;
}

/**
* @return Builders for {@link DragDropStage}.
*/
@Nonnull
@NonNull
public StageBuilding stageBuilding() {
return stageBuilding;
}

/**
* @return Builders for various bento UI controls.
*/
@Nonnull
@NonNull
public ControlsBuilding controlsBuilding() {
return controlsBuilding;
}

/**
* @return Builders for {@link DockContainer} and {@link Dockable}.
*/
@Nonnull
@NonNull
public DockBuilding dockBuilding() {
return dockBuilding;
}

/**
* @return Builders for placeholder content.
*/
@Nonnull
@NonNull
public PlaceholderBuilding placeholderBuilding() {
return placeholderBuilding;
}

/**
* @return Behavior implementation for drag-drop operations.
*/
@Nonnull
@NonNull
public DockableDragDropBehavior getDragDropBehavior() {
return dragDropBehavior;
}

/**
* @return Behavior implementation for click operations.
*/
@Nonnull
@NonNull
public DockableClickBehavior getClickBehavior() {
return clickBehavior;
}
Expand All @@ -144,7 +144,7 @@ public DockableClickBehavior getClickBehavior() {
* @see #registerRoot(DockContainerRootBranch)
* @see #unregisterRoot(DockContainerRootBranch)
*/
@Nonnull
@NonNull
public ObservableList<DockContainerRootBranch> getRootContainers() {
return rootContainersView;
}
Expand All @@ -155,7 +155,7 @@ public ObservableList<DockContainerRootBranch> getRootContainers() {
*
* @return {@code true} when registered.
*/
public boolean registerRoot(@Nonnull DockContainerRootBranch container) {
public boolean registerRoot(@NonNull DockContainerRootBranch container) {
if (!rootContainers.contains(container)) {
rootContainers.add(container);
eventBus.fire(new DockEvent.RootContainerAdded(container));
Expand All @@ -170,7 +170,7 @@ public boolean registerRoot(@Nonnull DockContainerRootBranch container) {
*
* @return {@code true} when unregistered.
*/
public boolean unregisterRoot(@Nonnull DockContainerRootBranch container) {
public boolean unregisterRoot(@NonNull DockContainerRootBranch container) {
if (rootContainers.remove(container)) {
eventBus.fire(new DockEvent.RootContainerRemoved(container));
return true;
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/software/coley/bentofx/BentoBacked.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package software.coley.bentofx;

import jakarta.annotation.Nonnull;
import org.jspecify.annotations.NonNull;

/**
* Outline of an object with access to its originating {@link Bento} instance.
Expand All @@ -11,6 +11,6 @@ public interface BentoBacked {
/**
* @return Bento instance responsible for this object.
*/
@Nonnull
@NonNull
Bento getBento();
}
8 changes: 4 additions & 4 deletions src/main/java/software/coley/bentofx/Identifiable.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package software.coley.bentofx;

import jakarta.annotation.Nonnull;
import jakarta.annotation.Nullable;
import org.jspecify.annotations.NonNull;
import org.jspecify.annotations.Nullable;

/**
* Outline of an <i>(ideally uniquely)</i> identifiable object.
Expand All @@ -12,7 +12,7 @@ public interface Identifiable {
/**
* @return This objects identifier.
*/
@Nonnull
@NonNull
String getIdentifier();

/**
Expand All @@ -21,5 +21,5 @@ public interface Identifiable {
*
* @return {@code true} when the other object has the same identifier.
*/
boolean matchesIdentity(@Nonnull Identifiable other);
boolean matchesIdentity(@NonNull Identifiable other);
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package software.coley.bentofx.building;

import jakarta.annotation.Nonnull;
import org.jspecify.annotations.NonNull;
import software.coley.bentofx.control.canvas.PixelCanvas;
import software.coley.bentofx.layout.container.DockContainerLeaf;

Expand All @@ -16,6 +16,6 @@ public interface CanvasFactory {
*
* @return New canvas.
*/
@Nonnull
PixelCanvas newCanvas(@Nonnull DockContainerLeaf container);
@NonNull
PixelCanvas newCanvas(@NonNull DockContainerLeaf container);
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package software.coley.bentofx.building;

import jakarta.annotation.Nonnull;
import org.jspecify.annotations.NonNull;
import software.coley.bentofx.control.ContentWrapper;
import software.coley.bentofx.control.HeaderPane;
import software.coley.bentofx.layout.container.DockContainerLeaf;
Expand All @@ -17,6 +17,6 @@ public interface ContentWrapperFactory {
*
* @return Newly created content wrapper.
*/
@Nonnull
ContentWrapper newContentWrapper(@Nonnull DockContainerLeaf container);
@NonNull
ContentWrapper newContentWrapper(@NonNull DockContainerLeaf container);
}
34 changes: 17 additions & 17 deletions src/main/java/software/coley/bentofx/building/ControlsBuilding.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package software.coley.bentofx.building;

import jakarta.annotation.Nonnull;
import jakarta.annotation.Nullable;
import org.jspecify.annotations.NonNull;
import org.jspecify.annotations.Nullable;
import javafx.geometry.Orientation;
import javafx.geometry.Side;
import software.coley.bentofx.control.ContentWrapper;
Expand Down Expand Up @@ -32,7 +32,7 @@ public class ControlsBuilding implements HeaderPaneFactory, HeadersFactory, Head
/**
* @return Factory for creating {@link HeaderPane}.
*/
@Nonnull
@NonNull
public HeaderPaneFactory getHeaderPaneFactory() {
return headerPaneFactory;
}
Expand All @@ -51,7 +51,7 @@ public void setHeaderPaneFactory(@Nullable HeaderPaneFactory headerPaneFactory)
/**
* @return Factory for creating {@link Headers}.
*/
@Nonnull
@NonNull
public HeadersFactory getHeadersFactory() {
return headersFactory;
}
Expand All @@ -70,7 +70,7 @@ public void setHeadersFactory(@Nullable HeadersFactory headersFactory) {
/**
* @return Factory for creating {@link Header}.
*/
@Nonnull
@NonNull
public HeaderFactory getHeaderFactory() {
return headerFactory;
}
Expand All @@ -89,7 +89,7 @@ public void setHeaderFactory(@Nullable HeaderFactory headerFactory) {
/**
* @return Factory for creating {@link ContentWrapper}.
*/
@Nonnull
@NonNull
public ContentWrapperFactory getContentWrapperFactory() {
return contentWrapperFactory;
}
Expand All @@ -108,7 +108,7 @@ public void setContentWrapperFactory(@Nullable ContentWrapperFactory contentWrap
/**
* @return Factory for creating {@link PixelCanvas}.
*/
@Nonnull
@NonNull
public CanvasFactory getCanvasFactory() {
return canvasFactory;
}
Expand All @@ -124,33 +124,33 @@ public void setCanvasFactory(@Nullable CanvasFactory canvasFactory) {
this.canvasFactory = canvasFactory;
}

@Nonnull
@NonNull
@Override
public HeaderPane newHeaderPane(@Nonnull DockContainerLeaf container) {
public HeaderPane newHeaderPane(@NonNull DockContainerLeaf container) {
return headerPaneFactory.newHeaderPane(container);
}

@Nonnull
@NonNull
@Override
public Headers newHeaders(@Nonnull DockContainerLeaf container, @Nonnull Orientation orientation, @Nonnull Side side) {
public Headers newHeaders(@NonNull DockContainerLeaf container, @NonNull Orientation orientation, @NonNull Side side) {
return headersFactory.newHeaders(container, orientation, side);
}

@Nonnull
@NonNull
@Override
public Header newHeader(@Nonnull Dockable dockable, @Nonnull HeaderPane parentPane) {
public Header newHeader(@NonNull Dockable dockable, @NonNull HeaderPane parentPane) {
return headerFactory.newHeader(dockable, parentPane);
}

@Nonnull
@NonNull
@Override
public ContentWrapper newContentWrapper(@Nonnull DockContainerLeaf container) {
public ContentWrapper newContentWrapper(@NonNull DockContainerLeaf container) {
return contentWrapperFactory.newContentWrapper(container);
}

@Nonnull
@NonNull
@Override
public PixelCanvas newCanvas(@Nonnull DockContainerLeaf container) {
public PixelCanvas newCanvas(@NonNull DockContainerLeaf container) {
return canvasFactory.newCanvas(container);
}
}
Loading
Loading