All Classes and Interfaces
Class
Description
Generic abstract REST controller exposing a full suite of CRUD endpoints.
Generic abstract base for CRUD operations, with hooks for custom business logic,
bulk operations, upsert, and partial updates (patch).
Base utilities for generating CrudCraft file headers.
Base class for predicate generators providing common utilities.
Thrown when an authenticated user attempts an action they are not permitted to perform.
Restricts access to users with the ADMIN role.
Generates predicates for the
AFTER
operator.Reads an entity's annotations and builds a
ModelDescriptor
using part extractors.AuditableExtension is an embeddable class that provides auditing capabilities
for entities, tracking creation and update timestamps.
Only authenticated users may access endpoints.
400 Bad Request - client sent invalid data or request.
Generates predicates for the
BEFORE
operator.Generates predicates for the
BETWEEN
operator.Represents partial or complete failures in bulk operations.
Utility class that hydrates collection attributes for projection DTOs.
Result returned by the
CollectionHydrator.RowFetcher
containing the fetched rows and
the Java types of the joined associations.Functional interface used to fetch collection data for a given entity type.
Generates predicates for the
CONTAINS_ALL
operator.Generates predicates for the
CONTAINS_KEY
operator.Generates predicates for the
CONTAINS
operator.Generates predicates for the
CONTAINS_VALUE
operator.Registry of the default CRUD endpoint specifications used by CrudCraft.
Generates REST controllers directly from templates without relying on an abstract base class.
A component that contributes part of a controller method during generation.
Context object passed to individual method components during generation.
Coordinates the individual components that form a controller method.
Utility methods for applying security annotations to generated controllers.
Builds JPA Criteria queries that project entity data directly into DTOs.
Autoconfiguration for CrudCraft, enabling the exception handler and search properties.
Annotation to mark a class as a CrudCrafted entity.
Central @RestControllerAdvice for translating exceptions into HTTP responses.
Base class for all CrudCraft generation exceptions.
Annotation processor for CrudCraft.
Base class for all CrudCraft runtime exceptions.
Entry point for the demo application showcasing various CrudCraft features.
Configuration properties for CrudCraft search operations.
Enumeration of CRUD (Create, Read, Update, Delete) endpoints.
Interface for defining policies that resolve CRUD endpoints.
Determines the Spring Security expression to apply for a specific CRUD endpoint.
Defines the basic CRUD API surface, including pagination, search,
partial updates (patch), upsert, and bulk operations.
Enum representing various CRUD endpoint templates.
409 Conflict - database integrity violation (foreign key, non-null, etc.).
Seeds the in-memory database with sample data for demonstration purposes.
Denies access to all endpoints.
Annotation to mark endpoints that are disabled.
Annotation to mark a field for inclusion in Data Transfer Objects (DTOs).
Generates Request, Response and Ref DTOs
honoring @Dto, @Request, @EnumString, @AuditTrail,
embedded classes and JPA-relaties.
Represents the options for a field regarding Data Transfer Objects (DTOs).
Singleton extractor for DtoOptions.
Configuration for the different DTO flavours.
409 Conflict - resource already exists or uniqueness constraint violation.
Utility that post-processes generated sources to deal with editable stubs.
Options related to endpoint generation for a model.
Singleton extractor for
EndpointOptions
.Describes how to generate a single controller endpoint.
Provides an
EndpointSpec
for a specific CrudEndpoint
.Common
ClassName
constants used by endpoint generators.Generates predicates for the
ENDS_WITH
operator.Maps between JPA entities and Data Transfer Objects (DTOs).
Represents options for an enum field in a model.
Singleton extractor for enum field options.
Annotation to mark a field as an enum represented by a string.
Generates predicates for the
EQUALS
operator.Standard JSON structure for error responses.
Utility methods for exporting DTO lists to various formats.
Represents a field in a model, encapsulating various field properties.
Interface for extracting parts of a field from a VariableElement.
Registry for field part extractors.
Declares role-based read and write access for a field.
Utility methods for enforcing field-level security on DTOs.
Abstraction for creating a Javadoc file header.
Utilities for dealing with
Filer
instances.Exception thrown when there is an error writing a file during code generation.
Abstraction over different filtering mechanisms.
Singleton extractor for
ModelFlags
.403 Forbidden - authenticated user lacks permissions.
Base contract for all writer components that turn a
ModelDescriptor
into one or more JavaFile
s.Generates predicates for the
GTE
operator.Generates predicates for the
GT
operator.Envelope pairing an identifier with a DTO payload for batch operations.
Represents the core identity of a field in a model.
Singleton extractor for the Identity field part.
Extracts
ModelIdentity
from a model class.Generates predicates for the
IN
operator.Generates predicates for the
IS_EMPTY
operator.Helper methods around JavaPoet.
JPA-based implementation of
ProjectionExecutor
using Criteria API.Provider for the JPA based
ProjectionExecutor
.Executes queries using a
JpaSpecificationExecutor
.Generates predicates for the
LTE
operator.Generates predicates for the
LT
operator.Header for editable logic layer stubs such as controllers and services.
Header for non-editable logic layer files.
Thrown when mapping between DTO and entity fails.
Generates a MapStruct mapper interface for the given model descriptor,
inclusief automatisch invullen van 'uses = { ...Mapper.class }' voor
alle @ManyToOne, @OneToMany, @ManyToMany, etc. relaties.
CriteriaProjectionBuilder
that relies on pre-generated
ProjectionMetadata
instead of reflection.QuerydslProjectionBuilder
that relies on ProjectionMetadata
.Metadata for a model composed of distinct descriptor parts.
Header for editable model classes such as DTOs.
Represents boolean flags that describe model characteristics.
Represents core identity of a model, including its name, package and fields.
Interface for extracting parts of a model from a TypeElement.
Registry for model part extractors.
Security-related configuration for a model.
Singleton extractor for
ModelSecurity
.Header for generated model classes that should remain untouched.
Generates a predicate for the "not empty" search operator.
Generates predicates for the
NOT_EQUALS
operator.501 Not Implemented - stubbed method not yet supported.
Generates predicates for the
NOT_IN
operator.Handles ONE_TO_MANY and MANY_TO_MANY relationships.
Handles ONE_TO_ONE relationships.
405 Method Not Allowed - operation not supported.
Describes how an operator contributes fields and accessors to the request DTO.
Utility class that provides static methods to retrieve operator specifications
based on the SearchOperator enum.
A row-level security handler that restricts access to entities based on an
ownerId
field.Uniform container for paginated REST responses.
Adds parameters to the method based on the endpoint specification.
Allows all users to access every endpoint.
Utility class providing very simple English pluralization and singularization.
412 Precondition Failed - e.g. conditional request headers not met.
Interface for generating predicates based on search fields.
Registry for predicate generators that maps search operators to their
corresponding predicate generator implementations.
Spring Boot auto configuration for projection support.
Executes projection queries and returns DTO results.
Allows registration of
ProjectionExecutor
implementations.Specifies an alternative projection path for a DTO field.
Resolves mapping information for DTO fields at runtime.
Describes a single field mapping for a DTO constructor parameter.
Maps DTO classes to entity paths at runtime using reflection.
Describes how a DTO maps to entity attributes.
Attribute binding between DTO constructor arguments and entity paths.
Annotation processor that scans DTO classes and emits
ProjectionMetadata
implementations along with a registry to expose them.Registry that exposes compile-time generated projection metadata.
Configuration properties for projection engine selection.
Enum representing the available projection engines.
Encapsulates filtering and paging information for a projection query.
Holds projected DTOs and total count metadata.
Represents a property specification for a searchable field in a model.
Executes queries using a
QuerydslPredicateExecutor
.Builds QueryDSL queries that project entity data directly into DTOs.
QueryDSL-based implementation of
ProjectionExecutor
.Provider for the Querydsl based
ProjectionExecutor
.Strategy abstraction for executing queries using either QueryDSL or JPA Specifications.
Specification for a range operator in search requests.
Generates a predicate for checking if a field's value falls within a specified range
in a search request.
Read endpoints are public; write endpoints require ADMIN role.
Generates a predicate for checking if a string field matches a regular expression
specified in a search request.
Represents a relationship between entities in a model.
409 Conflict - relationship constraint violation.
Singleton extractor for extracting relationships from fields annotated with JPA annotations.
Strategy for adding relationship fix and clear logic.
Generates a compile-time "RelationshipMeta" class with
static fix(entity) and clear(entity) methods that
re-establish or clear bidirectional links in memory
via cached java.lang.reflect.Field references.
Enum representing the type of relationship between entities in a data model.
Utility class for fixing or clearing bidirectional relationships in entities.
Generates a Spring Data JPA repository interface for the given model.
Annotation to mark a field for inclusion in request objects.
Simple servlet filter that logs how long each HTTP request takes.
404 Not Found - requested resource does not exist.
Sets the return type and populates the method body according to the endpoint specification.
Allows configuring roles per CRUD endpoint.
Adds the mapping annotation to the method based on the endpoint specification.
Delegates projection execution to the first
ProjectionExecutorProvider
that supports the given ProjectionQuery
.Marks an entity with a
RowSecurityHandler
that filters accessible rows.Provides a row-level security filter for entities of type
T
.Marks a field as searchable and optionally restricts the allowed
operators
.Utility class for generating getter and setter methods for fields in search
request DTOs.
Header for files in the Search package that may be customised.
Holds field metadata together with the operator used for generating
predicates.
Collects searchable fields from a model descriptor and its child models
up to a specified depth, creating a list of SearchField objects.
Generates a SearchRequest DTO and Specification implementation for
each CrudCraft entity that has @Searchable fields.
Enum representing various search operators that can be used in query
specifications.
Search configuration for a field.
Extracts
SearchOptions
for a field.Utility for converting between dotted paths and DTO properties.
Marker interface for generated search request objects that can produce
a QueryDSL
Predicate
for searching, while still supporting
a JPA Specification
.Header for files in the Search package that should not be edited.
Field level security configuration.
Applies security annotations if a security policy is present.
Extracts
Security
configuration from a field.Generates a service stub for the given model descriptor,
with hooks to fix and clear bidirectional links.
Simple in-memory registry for projection metadata.
Generates a predicate for checking if the size of a collection field
is equal to a specified value in a search request.
Generates a predicate for checking if the size of a collection field
is greater than a specified value in a search request.
Generates a predicate for checking if the size of a collection field
is less than a specified value in a search request.
Handles size operators in search requests, such as greater than, less than,
and size equality.
SoftDeleteExtension is an embeddable class that provides soft delete functionality
for entities, allowing them to be marked as deleted without being physically removed
from the database.
Generates a predicate for checking if a string field starts with a given value.
Utility for transforming strings into a specific casing style.
Specialized generator for editable/non-editable stubs.
Helper for deriving common package, class and header information for stub generators.
Simple record holding stub metadata.
Utility helpers for common annotation templates used by writers.
429 Too Many Requests - rate limiting exceeded.
Utility class for handling type-related operations in the code generation process.
401 Unauthorized - user must authenticate.
Bean validation annotations present on a field.
Extracts bean validation annotations from a field.
Handles value operators in search requests, such as equality and inequality.
Shared context for writer components.
Allows modification endpoints but denies read access.
Behavior when write access is denied for a field.
Central registry for writer components.