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 |
|