All Classes Interface Summary Class Summary Enum Summary Exception Summary Annotation Types Summary
Class |
Description |
AbstractModelTaskRawResult |
Raw results storage class, acts a stored cache.
|
Account |
The account database table
|
AccountController |
The controller that deals with account settings pages
|
AccountEmailForm |
The form for changing an account email
|
AccountForm |
The form for creating a new sub-account
|
AccountNameForm |
The form for changing an account name
|
AccountNotFound |
Thrown when the account is not found on the admin settings page
|
AccountOwner |
Thrown when a user attempts to modify their own account
through the admin account settings page
|
AccountPasswordForm |
The form for changing an account password
|
AccountRepository |
The database repository storing the account details
|
AccountWrapper |
Somehow if you use form binding to set a variable with the same name as a variable in the
Account object, the variable in the ModelAttribute("account") instance of the Account
object is overwritten.
|
AdjustableParameter |
Annotation to define a parameter as adjustable by the UI.
|
AdjustableParameterObj |
An object to wrap an adjustable parameter annotation with other information commonly required when working with it
|
AdminController |
The controller that deals with the admin settings pages
|
AnnotationLoader |
Responsible for all classloading and reflection
|
AtomicFloat |
Implementation of an AtomicFloat class, using intBitsToFloat to get and floatToIntBits to set
|
AttributesControllerAdvice |
Declares ModelAttributes for all controllers
|
BaseExecutor |
Basic executor implementation
|
BaseStorage |
Basic storage implementation
|
BaseStorageFilesystem |
Handles file system access stuff, encryption etc
|
CodeBlock |
Code blocks used by the results section of the website
|
CommentExtractor |
|
CommentRemover |
|
CompareSameSubmission |
Thrown if the user tries to compare a submission against itself
|
Configuration |
Mapping for the configuration file
|
CustomUserDetailsService |
The custom user details service which fetches the account and
their roles from the database from the authentication session
information
|
DashboardController |
The controller that deals with the dashboard homepage
|
DetectionType |
Class to specify an individual detection type, these are used to mark detected blocks, so that verbose reports can be generated
|
Detector<T extends DetectorWorker> |
Abstract implementation of the IDetector interface, this should be used as the base to construct all detectors
Supports adjustable parameters see AdjustableParameter
|
DetectorController |
The controller that deals with the template detector pages
|
DetectorNotFound |
Thrown when the detector was not found
|
DetectorWorker<K extends AbstractModelTaskRawResult> |
Top level interface workers are required to implement
|
DetectorWrapper |
The wrapper that manages database detectors
|
EmbeddedDatabase |
Database access stuff
|
EngineDetectorWrapper |
The wrapper that manages engine detectors
|
EntityArchive |
ISubmission object for base storage implementation
|
EntityCodeBlock |
ICodeBlock object for base storage implementation
|
EntityCodeBlockGroup |
ICodeBlockGroup object for base storage implementation
|
EntityFile |
ISourceFile object for base storage implementation
|
EntityJob |
IJob object for base storage implementation
|
EntityResultFile |
IResultFile object for base storage implementation
|
EntityResultJob |
IResultJob object for base storage implementation
|
EntityResultTask |
IResultTask object for base storage implementation
|
EntityTask |
ITask object for base storage implementation
|
EntityWorkspace |
IWorkspace object for base storage implementation
|
EventBus |
Static wrapper for the event bus (IEventBus implementation).
|
EventHandler |
Marks a method as an event handler.
|
EventInitialisation |
Event for the initialisation step of startup.
|
EventPostInitialisation |
Event for the post initialisation step of startup.
|
EventPreInitialisation |
Event for the pre initialisation step of startup.
|
EventPublishResults |
Not Used!!! Maybe Future work
|
ExceptionControllerAdvice |
Handles exceptions thrown by all of the controllers
|
ExecutorUtils |
Various executor utilities
|
FileMapper |
Maps a set of files to the "line mapper" object which links each
plagiarised line to a match
|
FileMatch |
Stores the details of a match between two files
|
FileUploadFailed |
Thrown if the file failed to upload when adding a submission
|
HeaderFilter |
Filters all requests to add the current URL to the http response headers
|
HelpController |
The controller that deals with the help pages (help centre, terms and privacy policy)
|
HomeController |
The controller that deals with the homepage for anonymous users
|
IAdvancedPreProcessor<T extends org.antlr.v4.runtime.Lexer> |
Advanced preprocessor implementation, used to directly access and preprocess from a specific lexer
|
IAdvancedPreProcessorGroup |
Interface specifically to group advanced preprocessors to a specific location on the classpath, has no formal function
|
ICodeBlock |
Interface for storing a single block of code flagged by a detector as suspected plagiarism.
|
ICodeBlockGroup |
An interface that connects multiple ICodeBlocks where plagiarism is detected between those files.
|
IDetector<T extends DetectorWorker> |
Low level interface for implementing a detection algorithm.
|
IEvent |
Instance of an event to be published, can contain any information required to be useful
|
IEventBus |
Event bus interface, used to publish and subscrib to events
|
IEventModule |
An extension of IEvent for events used exclusively for module loading
|
IExecutor |
Execution Module interface, defines an execution scheme
|
IGeneralPreProcessor |
General preprocessor interface, used to filer a set of tokens from a lexer which conforms to the provided spec
|
IJob |
Interface for an object which defines a detection job.
|
IJobStatus |
Interface defining the status information available for a job
|
ILexerSpecification |
Defines a list of channel names, used to identify and catagorise tokens, specified in the lexer.
|
IndexedString |
A Tuple of Integer and String, is typically used to associate a string with a file line number within the Sherlock API and Engine
|
IPostProcessor<T extends AbstractModelTaskRawResult> |
Post process the raw results into the Sherlock formal data storage structure
Supports adjustable parameters see AdjustableParameter
|
IPreProcessor |
Grouping interface, don't implement directly
|
IPriorityWorkSchedulerWrapper |
Interface for the Priority Work Scheduler wrapper, which owns the scheduler ( BaseExecutor )
|
IRegistry |
Interface to define API access to the registry via the static wrapper
|
IReportGenerator<T extends ISubmissionMatchGroup> |
Implementations of this interface are used by the Report Manager to generate reports for files where plagiarism is suspected (though it can be run for any file in principle).
|
IReportManager<T extends ISubmissionMatchGroup,S extends ISubmissionSummary> |
|
IResultFile |
Stores the results of an individual file from a job, is used as child of IResultJob
|
IResultJob |
Object which stores the set of results from a job execution, organised by file.
|
IResultTask |
Stores the results of an individual file for an individual task (detector), is used as child of IResultFile
|
ISourceFile |
Interface for accessing the data from an individual source file from a submission
|
ISourceFileHelper |
Helper interface, for fetching ISourceFile instances from their unique id
|
IStorageWrapper |
Storage module interface, defines a storage implementation, should be self contained and fully manage stored data
|
ISubmission |
Interface for accessing data from a single submission, this contains many files and might contain many child submission, which represent directories within the submission
|
ISubmissionMatch<T extends ISubmissionMatchItem> |
|
ISubmissionMatchGroup<T extends ISubmissionMatch> |
|
ISubmissionMatchItem |
|
ISubmissionSummary |
|
ITask |
Interface for object which stores an individual detector used in a detection job, including the parameter mapping for the specific task.
|
ITokenStringifier |
Interface to define the final step in file preprocessing, it turns the list of tokens into a list of strings paired with their respective line numbers.
|
ITuple<K,V> |
Basic tuple interface
|
IWorkspace |
Workspace object groups, submission, jobs, results.
|
IWorkspaceNotFound |
Thrown if the workspace is not found in the engine
|
IWorkTask |
Access interface for work tasks
|
JobResultsData |
Stores all the data for the job results page
|
JobStatus |
Basic job status implementation
|
LineMapper |
Maps every line of a file that the system thinks is plagiarised to
one or more "match ids" (stored in the code block object)
|
LoadingHelpFailed |
Thrown if the help.properties file was not loaded successfully
|
LocalDashboard |
|
MapperException |
Thrown when the "addMatch" method in LineMapper is called after
the "Fill" method has already ran
|
ModelDataItem |
Object to store the preprocessed data passed to the detector
|
ModelTaskProcessedResults |
Processed results for a task (for a single IDetector instance)
|
ModuleModelBase |
|
MvcConfig |
Enables localisation support and loads the extra properties for Spring's
application.properties files
|
NGramDetector |
|
NgramMatch |
Contains all data for a single matched pair.
|
NGramPostProcessor |
|
NGramRawResult<T extends java.io.Serializable> |
Stores the set of match objects for a pair of inputted files.
|
NGramScorer |
|
NoFilesUploaded |
Thrown if the user clicks submit on the "upload submissions"
page when they selected no files
|
NotAjaxRequest |
Thrown if the user attempts to load a page that isonly allowed
to be loaded through ajax/javascript requests
|
NotImplementedException |
Thrown when the user tries to run a function that has not been finished
|
NotTemplateOwner |
Thrown if a user attempts to modify a template that they are not
the owner of
|
PairedTuple<W,X,Y,Z> |
Implementation of a pair of tuples in a single object
|
PairwiseDetector<T extends PairwiseDetectorWorker> |
An abstract IDetector implementation which constructs an individual, parallel worker for each combination of files in the dataset.
|
PairwiseDetectorWorker<K extends AbstractModelTaskRawResult> |
An extension of the basic worker for standard pairwise matching, implements the basic internal data structures
|
ParameterForm |
The form for changing parameters on a template detector
|
ParameterNotFound |
Thrown if the parameter is not found for the current user
|
ParameterWrapper |
The wrapper that manages template parameters
|
PasswordForm |
The generic confirm password form
|
PasswordsMatch |
Defines the annotation of the validator that checks if the new
password and confirm password fields match
|
PasswordsMatchValidator |
Form validator that checks if the new password and confirm password
fields match
|
PoolExecutorJob |
Executor which handles job wide tasks, uses 1 task executor per task
|
PoolExecutorTask |
executor which handles task wide stuff
|
PreProcessingStrategy |
A construct to specify a named set of preprocessing steps.
|
PreProcessingStrategy.GenericAdvancedPreProcessingStrategy |
Generic implementation of the PreProcessingStrategy interface for handling advanced preprocessors
|
PreProcessingStrategy.GenericGeneralPreProcessingStrategy |
Generic implementation of the PreProcessingStrategy interface
|
Priority |
Priority enum
|
PriorityWorkScheduler |
Scheduler which does work in priority order
|
PriorityWorkTask |
Work task wrapper object
|
Registry |
Registry implementation, verifies and registers external and internal model components, languages, detection types.
|
ReportGenerator |
|
ReportManager |
A class to handle report generation in general (does not generate fileReportMap itself).
|
ResultJobUnsupportedException |
|
ResultsController |
The controller that deals with the workspace results pages
|
ResultsHelper |
Functions used by multiple classes involved with displaying the
analysis results to the user
|
ResultsNotFound |
Thrown if the job id is not found for the current workspace
|
Role |
The database table storing the roles assigned to each account
|
RoleRepository |
The database repository storing the roles for each accound
|
SecurityConfig |
Sets up both the web and http security to prevent unauthorised access to account/admin pages
|
SecurityController |
The controller that deals with the login page
|
SecurityProperties |
The security settings to fetch from the application properties file
|
SetupProperties |
The settings used to setup sherlock on first boot to fetch from the application properties file
|
SherlockClient |
|
SherlockEngine |
Main engine class, creates a new instance of Sherlock
|
SherlockHelper |
Static helper functions and access to various engine functions which do not fit elsewhere in the api
|
SherlockModule |
Annotation to mark a module which should be register to the Sherlock engine on startup
|
SherlockModule.Instance |
Annotation for an instance variable if required by the module code
Create a variable with the type of the module class, and use this annotation, it will be populated with created instance of the module.
|
SherlockRegistry |
Static access wrapper for the internal registry, should be used on initialisation to add components into the engine
|
SherlockServer |
|
Side |
Sherlock running on a local client, a server.
|
SimpleObjectEqualityPostProcessor |
|
SimpleObjectEqualityRawResult<T extends java.io.Serializable> |
|
SourceFileNotFound |
Thrown if the source file is not found in the current submission
|
Splash |
|
SpringNotInitialised |
Thrown when Spring hasn't finished loading but a user attempts to load a page
|
StandardLexerSpecification |
Provides a specification for a basic lexer for preprocessing
|
StandardLexerSpecification.channels |
reference enum
|
StandardStringifier |
|
StandardTokeniser |
|
SubaccountController |
The controller that deals with all the admin sub-account pages
|
SubmissionController |
The controller that deals with the workspace submission pages
|
SubmissionMatch |
Object to be sent to web report pages, detailing a particular match between files in different submissions.
|
SubmissionMatchGroup |
Object to store SubmissionMatches; every SubmissionMatch within one SubmissionMatchGroup should share the same DetectionType.
|
SubmissionMatchItem |
Stored by SubmissionMatch to ensure data for a given file remains together.
|
SubmissionNotFound |
Thrown if the submission is not found in the current workspace
|
SubmissionResultsData |
Stores all the data for the compare submissions page or the submission report page
|
SubmissionScore |
Stores the submission name, id and score to display on the
results section of the website
|
SubmissionsForm |
The form to upload submission(s)
|
SubmissionSummary |
|
SubmissionUnsupportedException |
|
TaskWrapper |
The wrapper that manages the task
|
TDetector |
The database table storing detectors assigned to a template
|
TDetectorRepository |
The database repository storing the detectors for each job template
|
Template |
The database table storing job templates
|
TemplateContainsNoDetectors |
Thrown if the user attempts to run a template when there are no detectors
|
TemplateController |
The controller that deals with the manage template pages
|
TemplateForm |
The form to add/modify templates
|
TemplateNotFound |
Thrown if the template is not found for the current user
|
TemplateRepository |
The database repository storing the job templates
|
TemplatesController |
The controller that deals with the templates pages
|
TemplateWrapper |
The wrapper that manages the job templates
|
ThymeLeafConfig |
Additional config settings for the thymeleaf template engine
|
TParameter |
The database table storing parameters for a template detector
|
TParameterRepository |
The database repository that stores the parameters for each detector
|
TrimWhitespaceOnly |
|
Tuple<K,V> |
Basic tuple implementation
|
UnknownDetectionTypeException |
|
ValidLanguage |
Defines the annotation of the validator that checks if the language
supplied exists in the sherlock engine
|
ValidLanguageValidator |
Form validator that checks if the language supplied is
valid (i.e.
|
ValidPassword |
Defines the annotation of the validator that checks if the password
supplies matches the password of the current user
|
ValidPasswordValidator |
Form validator that checks if the password supplied matches that
of the current user
|
VariableExtractor |
|
VariableExtractorJava |
|
VariableNameDetector |
|
VariableNameDetectorWorker |
|
WebmasterProperties |
The details of the people running the current instance of Sherlock to fetch from the application properties file
|
WorkDetect |
Recursive task to run detectors
|
WorkPreProcessFile |
Recursive task to preprocess a list of files for a single task
|
WorkPreProcessFiles |
recursive task to preprocess a list of tasks for a list of files
|
Workspace |
The database table storing the workspaces owned by each account
|
WorkspaceController |
The controller that deals with the manage workspace pages
|
WorkspaceForm |
The form to add/modify workspaces
|
WorkspaceNotFound |
Thrown if the workspace is not found for the current user
|
WorkspaceRepository |
The database repository storing all workspaces
|
WorkspacesController |
The controller that deals with the workspaces page
|
WorkspaceUnsupportedException |
|
WorkspaceWrapper |
The wrapper that manages the workspaces
|
WorkStatus |
|