All Classes and Interfaces

Class
Description
Non JPA version of Extended State Entity.
 
 
 
A super class to instantiate a service.
 
Specifies the metadata for the actions that are allowed for this entity.
Uses a Spring controller with additional annotations to initiate a Chenile Service.
Uses a special bean to configure all trajectories.
A command becomes an attachable command if other commands can attach themselves to it using an attachment descriptor.
Contains the meta data about the attachment of a command to another.
Implement this interface to supply a list of authorities that we would like to validate against the Principal to see if this service can be accessed.
 
ErrorNumException with HTTP status code of 400.
A generic interceptor for other Chenile Interceptors to override.
Extend this action if it is desired to obtain access to properties that have been set up per state descriptor in the STD.
 
Extend this to initialize anything like event definitions etc.
 
Implementation of query store.
 
A security test container initiating class.
 
 
 
 
Interface defines a contract for classes that look up objects from various DI frameworks (aka Bean factories)
 
This annotation specifies that this particular method needs a body type selector for determining the type that the body needs to convert to.
Implement this interface if a command can be bypassed.
Implement this interface if you want to create your own custom key out of the input params passed to a method.
Builds all caches that have been configured during startup
Values that can be used to configure a cache.
 
 
Caches an operation return value using the service name, operation name and the parameters that were passed to the operation.
The key for a cache constructed using input parameters for a method.
 
Retrieve and store canned reports.
A chain is a command that executes a chain of other commands.
This class is used by FilterChain.
This class specifies a save point.
The context that is required to be passed to filter chain.
Marker annotation to make a new annotation.
 
The core class that contains the entire ChenileConfiguration.
Annotate all chenile controllers with this annotation.
Class creates a bunch of Spring Beans.
 
The entry point to the Chenile highway.
Chenile keeps track of events.
Picks up all the event resources and registers all the events in Chenile.
Runs after all the events and services are registered in Chenile.
Handles all exceptions by: Translating all errors and warnings to international language.
A bidirectional exchange that navigates between different Chenile Interceptors.
Builds an exchange from a service name and an operation name
This interface emits information about a Chenile Service.
This class provides information about all services registered in this running instance of Chenile.
Annotate a class in a Chenile service controller to make it listen to MQ-TT topics.
This will bind the topic to an invocation of this service/operation.
The ChenileParamType is required when the method signature of a service does not match the method signature of the controller.
This is required to state the possible response codes for successful responses.
This is not required for error responses since the exception will already have the response code for error responses.
This communicates with SpringRestTemplate to find the errors from the returned response.
 
Picks up all the file watch resources and registers all of them in ChenileConfiguration ChenileConfiguration provides for extension points for registering new type of resources.
 
Defines a chenile service.
Concrete class for initializing services from Json resources
Initializes a trajectory definition.
This file exists for transferring version information to ChenileConfiguration.
 
This interceptor, if configured, acts like an edge switch for a service i.e.
 
 
 
 
A command is designed to be a unit of work.
Custom digester rule to process either the command or attach Descriptor.
Base class to implement command functionality.
Stores the meta data about all the commands that have been configured in the system.
Actions (both actions and transition actions) implement this interface to obtain access to custom properties that can be set.
A helper class to obtain the properties for the current action (as passed in the flow context).
This annotation will need to be used at the spring Configuration class This annotation does the same thing as ConditionalOnTrajectory However it does this behaviour for health checkers rather than the services You can then use this annotation to accomplish this.
This annotation helps to replace service references with new ones.
Generate a Chenile Service Registry configuration from ChenileConfiguration
ErrorNumException with HTTP status code of 500 meant for configuration errors.
 
Constants for HTTP module.
Chenile MQTT constants
 
Find the correct service to invoke.
This is a class that can be used to obtain access to headers passed in the transport.
 
 
This class must be extended by Chenile controllers who use annotation to configure a service.
Useful as an enhancement over the ObjectCreateRule for digester.
Useful as an enhancement over the ObjectCreateRule for digester.
A singleton object that is used in all the methods to store and retrieve values
Cucumber recommends an enum since it acts like a perfect singleton.
Cucumber steps to facilitate running tests using normal IN-VM testing (NOT REST based)
These steps are generic since they leverage the scripting language and JSON PATH etc.
This object stores the various tags that are supported by the XML configurator along with their associated properties.
This object stores the various tags that are supported by the XML configurator along with their associated properties.
 
This Command delegates control to a method of an underlying object whose reference is passed to this command.
 
This command does nothing.
 
 
 
 
 
 
 
 
 
 
 
ALl the errors that have been defined for Chenile core.
Chenile MQTT error codes.
Chenile Proxy error codes
 
 
 
 
An exception that has a HTTP status code and a custom subErrorCode (which can be a specific error) These two errors make the exception very specific It can contain further errors that are supported by the ResponseMessage
Values for the severity field in ResponseMessage
This is a specific subclass of Router that uses OGNL to evaluate a boolean expression on the context.
An abstraction to extract actions and their meta data and share them across transitions.
 
 
 
A sequential way of processing an event within the same thread.
This annotation specifies that this particular method subscribes to an event.
Calls the exception handler that is defined in Chenile properties.
 
A variation of the Chain for AOP like surround processing.
 
 
 
 
 
 
Repeatedly, execute the attached commands till the expression specified by condition evaluates to false.
 
 
A generic response that would be returned for all the services.
Constructs a generic response from the response and exception that has been thrown.
 
 
 
 
 
Any class that copies headers from the existing context to the new ChenileExchange
 
Defines all the header names in one place.
All Health Checkers must implement this interface Health Checker can be attached to any service Health checkers will be exposed via a GET method
A base class that provides basic health check info about all services.
Display help information on chenile-config-maven-plugin.
Call mvn chenile-config:help -Ddetail=true -Dgoal=<goal-name> to display parameter details.
Bind a parameter of an Operation to a message.
This is a generic controller that is used if JSON is used to configure a Chenile service.
Invokes the remote service using HTTP
The HTTP Method that is supported by the service.
Uses JSON configurations to initiate Chenile HTTP.
 
 
Generates IDs given a request context.
Implements an IF action using the same expression language as the one supported by the ScriptingStrategy.
 
A DTO that provides a condensed version of services along with the operations that they support
 
 
Health checker for the ChenileInfoService
 
This is a "dummy" command which needs to be attached to a parent command that supports this type of command.
 
Key for the tenant specific cache.
Used to connect to Keycloak.
Invokes the Chenile Entry point locally since this service is local.
Logs the output from the response object.
This is the version of the GenericResponse for asynchronous processing.
Implement this interface if you are able to persist a log record.
Describes the manual state.
Allows Ognl to support an object that is a map with a few properties defined like normal java beans.
Allows Ognl to support an object that is a map with a few properties defined like normal java beans.
 
 
Given an OperationDefinition and a service class, this class computes the java.lang.reflect.Method
Defines the MIME type supported by the particular service.
 
 
 
 
 
Sets up Eclipse Paho for communicating with MQ-TT broker using configurations
The entry point that is invoked by the Mqtt subscriber when a message arrives at a topic.
A collection of general purpose utilities for MQ-TT.
Detects the ChenileMqtt annotated classes in the Application Context and populates the mqttConfig for later use by MqttEntryPoint Topic and Qos can be configured at the service level.
Used to publish MQTT messages.
MQTT subscription call back that supports receiving messages, reconnects etc.
This can be used in lieu of the default Message Source.
An implementation of the query service using Mybatis.
 
Avoids creation of multiple routers by allowing an expression that can be utilized on the context to obtain the route.
 
Contains details about the particular operation of a service.
Interpolates all the operation specific processors on the client side for Chenile Proxy
Calls a bunch of interceptors defined at the level of the particular operation.
Reads the configuration of the Orchestration possibly from multiple sources and makes it available for anyone to use it.
A base implementation of OrchConfigurator that stores all the relevant information in internal variables and provides the services as expected by OrchConfigurator.
Applicable for commands that choose to be aware of their orchestration configuration.
The execution interface of the orchestrator.
This command triggers the chain of responsibility by storing and executing the first command in the chain.
Internal class used to preserve the order of execution of commands.
 
 
Links OWIZ to the Spring framework.
 
 
Defines an individual parameter that is accepted by an operation of a sevice.
Wrapper around Ognl.parseExpression() which uses caching.
 
This class can act as a HeaderCopier
 
Calls a bunch of interceptors called as "post processors".
Calls a bunch of interceptors called as "pre processors".
Creates a proxy for a chenile interface.
 
Sets up the beans for Chenile Proxy and registers them in Spring.
Returns the correct route based on if the service is local or remote
 
Registers query beans in Spring
This sets up a query service.
Reads the query definitions from a JSON file that has been passed to it.
 
 
 
Unused for now
For specific queries, we should restrict the results only to authorized users.
 
This class calculates the correct type for the response body.
A detailed response message that contains a bunch of information.
 
Cucumber steps to facilitate injection of security tokens into the MVC request header.
See the methods below for the precise Gherkin language that has been created.
Cucumber steps to facilitate running tests using Spring MOCK MVC.
These steps are generic since they leverage the scripting language and JSON PATH etc.
A router is a command that executes one of several commands based on a routing string.
 
Set up the scheduler for the relevant services if applicable
Schedule definition.
 
Mimics a script.
 
Actions implement this interface to get hold of a scripting strategy that is set by the STM framework.
A base class for all script aware generic actions.
 
 
 
 
 
This provides the authorities that are required to access this service.
The value() of the class is the enum which specifies if the given resource is PROTECTED or UNPROTECTED.
 
 
 
This interceptor uses SecurityConfig to secure this particular resource.It first looks at the SecurityConfig to see if there are any guarding authorities for this service.
 
 
 
 
ErrorNumException with HTTP status code of 500 for runtime errors.
This command invokes a service gathering inputs from ChenileExchange.
Interpolates all the service specific processors on the client side for Chenile Proxy
Calls a bunch of interceptors defined at the level of the particular service.
Sets specific parts of the context to a value.
 
Implements a split aggregate functionality.
 
 
Utilities that allow testing of Aurora errors and warnings
An encapsulation of what constitutes a state.
 
 
 
Every entity that has a state that should be tracked must implement this interface.
 
 
All workflow entities (aka State entities) are managed using this interface.
Workflow entities contain state.
A generic implementation of the StateEntityService for all state entities.
 
 
This object stores the various tags that are supported by the XML configurator along with their associated properties.
An implementation of a state transition machine.
Implement this interface to become an STM entry or exit action
A base action that can serve as a "do nothing" action.
Provides information about available actions for a given state etc.
 
This class returns the applicable authorities for the StateEntityServiceImpl.processById(String, String, Object) method.
 
Selects the body type of the ChenileExchange based on the event Id passed This should be used as the body type selector for the StateEntityServiceImpl.process(org.chenile.stm.StateEntity, String, Object) method.
 
Custom exception for the STM framework.
An interface that is used by a State Transition Machine implementation to obtain the State Transition Diagram configuration.
A base implementation of STMFlowStore FlowStoreReaders parse various representations of the flow (such as in an xml or in a db) and call the addflow() method in this class.
The main STM implementation.
An interface that is available for the STM Transition action.
Generates a PLANT UML state diagram for the STate Transition Diagram
An interface that would be used to invoke a security strategy.
 
This interface is useful to implement the actual logic to update the state to the new state ID.
 
SubclassBodyTypeSelector uses the Subclass registry to determine the appropriate subclass based on the type to distinguish between subclasses.
This is a registry of mapping base classes to the appropriate subclasses.
For example, if there is a base class Vehicle which is subclassed by Car.
The combination of service and operation that are mapped to a Chenile event.
Emulates a switch construct.
 
A class that looks for a specific resource (using TenantSpecificResourceLoader.tenantSpecificPath) from the class path.
The trajectory definition details.
For a given service, map a new Spring bean reference for a particular trajectory.
Processes all the trajectories ConditionalOnTrajectory annotations.
Determines the target type for the body of the ChenileExchange and populates that into ChenileExchange.getBodyType() Uses registered bodyTypeSelectors either at ChenileServiceDefinition or OperationDefinition
Performs a transformation from JSON to the ChenileExchange.getBodyType() mentioned in the ChenileExchange
Interface implemented by the descriptors that support transient actions.
 
 
 
Registers the beans that are needed for chenile-http
 
As per HTTP convention, all custom headers start with "x-" This interceptor copies all headers that start with "x-" into the context.
Extract and set warnings to response objects (either objects or maps)
Keeps the different components attached to various work flows in a registry.
Provides an xml implementation of the FlowStoreReader.
Chief class for the framework.