Interface ValidationAction
- All Superinterfaces:
Action
- All Known Implementing Classes:
CdfValidationAction
,CelValidationAction
,GtfValidationAction
,SingleFileValidationAction
- For validating the files when
FileSet.validate(DbControl)
. This action is supposed to validated the entire file set as a whole. TheClientContext
parameter passed to the factory has the owner of the file set (eg. theFileStoreEnabled
) item as the current item. - For removing metadata when a file in a file set is removed or replaced
with another file. For example, when the
FileSet.removeMember(FileSetMember)
,FileSet.setMember(File, DataFileType)
or any other method that removs a file from the fileset is called. TheClientContext
in this case also has the owner of the file set as the current item, but the action will only be asked to accept the file(s) that are actually removed/modified.
Tip! For validators that works on a single file at a time the
SingleFileValidationAction
can be used as a base class.
- Since:
- 3.0
- Author:
- Nicklas
- Last modified
- $Date: 2011-10-21 13:15:41 +0200 (fr, 21 okt 2011) $
-
Method Summary
Modifier and TypeMethodDescriptionacceptFile
(FileSetMember member) Check if the given file is handled by this validator implementation or not?void
Reset all metadata that this class normally can set.void
Validate and extract metadata from the file(s) that has been added to this validator.
-
Method Details
-
acceptFile
Check if the given file is handled by this validator implementation or not? No validation of the actual file data should take place in this method. This method is called by the core for all members of the file set that are still considered as valid. If another validator has marked a file as invalid it will not be offered to the remaining validators.The file can either be validated immediately or later when this method has been called for all files in the file set. If the file is accepted for immediate validation the
validateAndExtractMetadata()
is called before the next file is processed. When all files have been processed thevalidateAndExtractMetadata()
method is called again if at least one was accepted for later validation.- Parameters:
member
- A member of the current file set- Returns:
- A value from the Accept enumeration to accept the file for validation or null to not accept the file for validatio
-
validateAndExtractMetadata
Validate and extract metadata from the file(s) that has been added to this validator. If theacceptFile(FileSetMember)
method returnsAccept.VALIDATE_IMMEDIATELY
this method is called and the validator should work on the last accepted file.This method is also called after all files has been processed if at least one file returned
Accept.VALIDATE_LATER
.This method is recommended to throw an
InvalidDataException
or a subclass if the file is not a valid file.PermissionDeniedException
:s are ignored by the core and will not change the validation status. An exception of typeInvalidRelationException
can be thrown if the file itself is valid, but a related file that it depends on is not. The core will still mark the file as invalid and store the error message, but extracted metadata will not be reset.- Throws:
InvalidDataException
- If the validator detects an invalid fileInvalidRelationException
- If the validator detects that the file is valid but another file that it depends on is not, metadata extract will still happen
-
resetMetadata
void resetMetadata()Reset all metadata that this class normally can set. This method is called if the validation of a file failed or if a file is removed from the file set. Any previous metadata that may signal that a valid file is present should be reset.
-