#include <Classification.h>

Public Member Functions | |
| virtual bool | setClassification (const std::string &classificationText)=0 |
| virtual void | setClassification (const Classification *pClassification)=0 |
| virtual const std::string & | getLevel () const =0 |
| virtual void | setLevel (const std::string &myLevel)=0 |
| virtual bool | hasGreaterLevel (const Classification *pClassification) const =0 |
| virtual const std::string & | getSystem () const =0 |
| virtual void | setSystem (const std::string &mySystem)=0 |
| virtual const std::string & | getCodewords () const =0 |
| virtual void | setCodewords (const std::string &myCodewords)=0 |
| virtual const std::string & | getFileControl () const =0 |
| virtual void | setFileControl (const std::string &myFileControl)=0 |
| virtual const std::string & | getFileReleasing () const =0 |
| virtual void | setFileReleasing (const std::string &myFileReleasing)=0 |
| virtual const std::string & | getClassificationReason () const =0 |
| virtual void | setClassificationReason (const std::string &myClassificationReason)=0 |
| virtual const std::string & | getDeclassificationType () const =0 |
| virtual void | setDeclassificationType (const std::string &myDeclassificationType)=0 |
| virtual const DateTime * | getDeclassificationDate () const =0 |
| virtual void | setDeclassificationDate (const DateTime *myDeclassificationDate)=0 |
| virtual const std::string & | getDeclassificationExemption () const =0 |
| virtual void | setDeclassificationExemption (const std::string &myDeclassificationExemption)=0 |
| virtual const std::string & | getFileDowngrade () const =0 |
| virtual void | setFileDowngrade (const std::string &myFileDowngrade)=0 |
| virtual const std::string & | getCountryCode () const =0 |
| virtual void | setCountryCode (const std::string &myCountryCode)=0 |
| virtual const DateTime * | getDowngradeDate () const =0 |
| virtual void | setDowngradeDate (const DateTime *myDowngradeDate)=0 |
| virtual const std::string & | getDescription () const =0 |
| virtual void | setDescription (const std::string &myDescription)=0 |
| virtual const std::string & | getAuthority () const =0 |
| virtual void | setAuthority (const std::string &myAuthority)=0 |
| virtual const std::string & | getAuthorityType () const =0 |
| virtual void | setAuthorityType (const std::string &myAuthorityType)=0 |
| virtual const DateTime * | getSecuritySourceDate () const =0 |
| virtual void | setSecuritySourceDate (const DateTime *mySecuritySourceDate)=0 |
| virtual const std::string & | getSecurityControlNumber () const =0 |
| virtual void | setSecurityControlNumber (const std::string &mySecurityControlNumber)=0 |
| virtual const std::string & | getFileCopyNumber () const =0 |
| virtual void | setFileCopyNumber (const std::string &myFileCopyNumber)=0 |
| virtual const std::string & | getFileNumberOfCopies () const =0 |
| virtual void | setFileNumberOfCopies (const std::string &myFileNumberOfCopies)=0 |
| virtual void | getClassificationText (std::string &classificationText) const =0 |
| virtual bool | compare (const Classification *pClassification) const =0 |
| virtual bool | isValid (std::string &errorMessage) const =0 |
Protected Member Functions | |
| virtual | ~Classification () |
The Classification serves as an attribute for other data objects. It captures the security classification data needed to handle and mark the other data objects. There currently is no straight-forward mechanism to maintain the classification of the classification itself.
Most of the interface is based upon the NITF 2.1 classification attributes collection, with some modifications for flexibility or complexity reduction. Additional attributes can be added using the DynamicObject inherited interfaces.
This subclass of Subject will notify upon the following conditions:
Definition at line 43 of file Classification.h.
| virtual Classification::~Classification | ( | ) | [protected, virtual] |
This should be destroyed by calling ObjectFactory::destroyObject.
Definition at line 589 of file Classification.h.
| virtual bool Classification::setClassification | ( | const std::string & | classificationText | ) | [pure virtual] |
Sets all classification fields and attributes to those contained in a given text string.
Any additional attributes contained in this classification object will be lost.
| classificationText | The classification text from which to set this object's values. The string format should be identical to the format generated by getClassificationText(). |
true if the classification was successfully set from the given string. Returns false if any of the following conditions are met:false is returned, the classification fields and attributes of this classification object are not changed.| virtual void Classification::setClassification | ( | const Classification * | pClassification | ) | [pure virtual] |
Sets all classification fields and attributes to that of another classification object.
| pClassification | The classification object from which to set this object's values. |
| virtual const std::string& Classification::getLevel | ( | ) | const [pure virtual] |
Returns the classification level.
| virtual void Classification::setLevel | ( | const std::string & | myLevel | ) | [pure virtual] |
Sets the classification level for the data represented by this object.
| myLevel | This shall contain a valid value representing the classification level of the entire data. Valid values are T (Top Secret), S (Secret), R (Restricted), C (Confidential), and U (Unclassified). |
| virtual bool Classification::hasGreaterLevel | ( | const Classification * | pClassification | ) | const [pure virtual] |
Compares the level of another classification object with this object.
The order of classification levels is as follows, from greatest to least: T (Top Secret), S (Secret), R (Restricted), C (Confidential), and U (Unclassified).
| pClassification | The classification object for which to compare against this object. |
| virtual const std::string& Classification::getSystem | ( | ) | const [pure virtual] |
Access the security classification.
This contains valid values indicating the national or multinational security system used to classify the file.
| virtual void Classification::setSystem | ( | const std::string & | mySystem | ) | [pure virtual] |
Set the security classification, indicating the national or multinational security system used to classify the file.
| mySystem | This contains valid values indicating the national or multinational security system used to classify the file. |
| virtual const std::string& Classification::getCodewords | ( | ) | const [pure virtual] |
Access the security compartments associated with the data.
| virtual void Classification::setCodewords | ( | const std::string & | myCodewords | ) | [pure virtual] |
Set the security compartments associated with the data.
| myCodewords | The security codewords associated with the data. Values include one or more of the tri/digraphs found in DIAM 65-19. Multiple entries shall be separated by a single space. |
| virtual const std::string& Classification::getFileControl | ( | ) | const [pure virtual] |
Return the additional security control and/or handling instructions.
| virtual void Classification::setFileControl | ( | const std::string & | myFileControl | ) | [pure virtual] |
Set the additional security control and/or handling instructions.
| myFileControl | The security control and/or handling instructions associated with the data. |
| virtual const std::string& Classification::getFileReleasing | ( | ) | const [pure virtual] |
Return a string of country and/or multilateral entity codes to which countries and/or multilateral entities the data is authorized for release.
Valid items in the list are one or more country codes found in FIPS 10-4 and/or codes identifying multilateral entries as found in DIAM 65-19.
| virtual void Classification::setFileReleasing | ( | const std::string & | myFileReleasing | ) | [pure virtual] |
Set the string of valid country and/or multilateral entity codes to which countries and/or multilateral entities the data is authorized for release.
This method should be called after calling the setCountryCode() method.
| myFileReleasing | A string documenting the countries and/or groups to which the data may be released. Valid items in the list are one or more country codes found in FIPS 10-4 and/or codes identifying multilateral entries as found in DIAM 65-19. If "NOFORN" is specified, then text set in setCountryCode() is removed from the classification. If "NOFORN" and "REL\\ TO" are specified, then text set in setCountryCode() and "REL\\ TO" are removed from the classification. |
| virtual const std::string& Classification::getClassificationReason | ( | ) | const [pure virtual] |
Return a string indicating the reason for classification.
Valid values are "A" through "G", as defined by E.O. 12598, Section 1.5 (a) to (g).
| virtual void Classification::setClassificationReason | ( | const std::string & | myClassificationReason | ) | [pure virtual] |
Set a string indicating the reason for classification.
Valid values are "A" through "G", as defined by E.O. 12598, Section 1.5 (a) to (g).
| virtual const std::string& Classification::getDeclassificationType | ( | ) | const [pure virtual] |
Return a string indicating how this file should be declassified or downgraded.
DD (Declassify on a specific date) DE (Declassify upon occurrence of an event) GD (Downgrade on a specific date) GE (Downgrade upon occurrence of an event) O (OADR) X (Exempt)
| virtual void Classification::setDeclassificationType | ( | const std::string & | myDeclassificationType | ) | [pure virtual] |
Set a string indicating how this file should be declassified or downgraded.
| myDeclassificationType | A string indicating how this file should be declassified or downgraded. DD (Declassify on a specific date) DE (Declassify upon occurrence of an event) GD (Downgrade on a specific date) GE (Downgrade upon occurrence of an event) O (OADR) X (Exempt) |
| virtual const DateTime* Classification::getDeclassificationDate | ( | ) | const [pure virtual] |
Return the date on which the data is to be declassified.
This value is only meaningful if the declassification type is DD. Otherwise, NULL is returned.
| virtual void Classification::setDeclassificationDate | ( | const DateTime * | myDeclassificationDate | ) | [pure virtual] |
Set the date on which the data is to be declassified.
| myDeclassificationDate | A pointer to a date object, giving the date (if any) when the data can be declassified. Passing NULL means the data is not to be automatically declassified on any given date. |
| virtual const std::string& Classification::getDeclassificationExemption | ( | ) | const [pure virtual] |
Returns the reason the data is exempt from automatic declassification.
Valid values are X1 through X8 and X251 through X259. X1 through X8 correspond to the declassification exemptions found in DOD 5200.1-R, paragraphs 4-202b(1) through (8) for material emempt from the 10-year rule. X251 through X259 correspond to the declassification exemptions found in DOD 5200.1-R, paragraphs 4-301a(1) through (9) for permanently valuable material exempt from the 25-year declassification system. If this field is all spaces, it implies that a file declassification exemption does not apply.
| virtual void Classification::setDeclassificationExemption | ( | const std::string & | myDeclassificationExemption | ) | [pure virtual] |
Set the declassification exemption reason.
Valid values are X1 through X8 and X251 through X259. X1 through X8 correspond to the declassification exemptions found in DOD 5200.1-R, paragraphs 4-202b(1) through (8) for material emempt from the 10-year rule. X251 through X259 correspond to the declassification exemptions found in DOD 5200.1-R, paragraphs 4-301a(1) through (9) for permanently valuable material exempt from the 25-year declassification system. If this field is all spaces, it implies that a file declassification exemption does not apply.
| myDeclassificationExemption | The declassification exemption reason. |
| virtual const std::string& Classification::getFileDowngrade | ( | ) | const [pure virtual] |
Returns the classification level to which the data is to be downgraded.
| virtual void Classification::setFileDowngrade | ( | const std::string & | myFileDowngrade | ) | [pure virtual] |
Set the classification level to which the data is to be downgraded.
| myFileDowngrade | A string with the classification level to which the data can be downgraded. Valid values are S (Secret), C (Confidential), and R (Restricted). If all spaces, then security downgrading does not apply. |
| virtual const std::string& Classification::getCountryCode | ( | ) | const [pure virtual] |
Return the country code.
Used in conjunction with "REL TO" under file releasing attributes.
| virtual void Classification::setCountryCode | ( | const std::string & | myCountryCode | ) | [pure virtual] |
Set the country code.
Used in conjunction with "REL TO" under file releasing attributes. This method should be called prior to calling the setFileReleasing() method.
| myCountryCode | The country code. Each country code should be separated by a space. If the country code is not empty and does not contain "USA", then "USA" will be prepended to the country code. |
| virtual const DateTime* Classification::getDowngradeDate | ( | ) | const [pure virtual] |
Return the date on which the data is to be downgraded, if applicable.
If not, then NULL is returned.
| virtual void Classification::setDowngradeDate | ( | const DateTime * | myDowngradeDate | ) | [pure virtual] |
Set the date on which the data is to be downgraded, if applicable.
If not, then NULL should be used.
| myDowngradeDate | Pointer to a DateTime interface object giving the downgrade date for the data. |
| virtual const std::string& Classification::getDescription | ( | ) | const [pure virtual] |
Return a description regarding any classification issues.
This includes additional information about identification of a declassification or downgrading event or identifying multiple classification sources and/or other special handling rules.
| virtual void Classification::setDescription | ( | const std::string & | myDescription | ) | [pure virtual] |
Set the free-form text description for the classification.
| myDescription | Description regarding any classification issues. This includes additional information about identification of a declassification or downgrading event or identifying multiple classification sources and/or other special handling rules. |
| virtual const std::string& Classification::getAuthority | ( | ) | const [pure virtual] |
Access the classification authority for the file dependent upon the value in the Authority Type.
Values are free-form text which should contain the following information: original classification authority name and position or personal identifier if the value in Authority Type is O; title of the document or security classification guide used to classify the file if the value in Authority Type is D; and Derive-Multiple if the file classification was derived from multiple sources. In the latter case, the file originator will maintain a record of the source used in accordance with existing security directives. One of the multiple sources may also be identified in File Classification Text if desired.
| virtual void Classification::setAuthority | ( | const std::string & | myAuthority | ) | [pure virtual] |
Set the classification authority for the file dependent upon the value in the Authority Type.
Values are free-form text which should contain the following information: original classification authority name and position or personal identifier if the value in Authority Type is O; title of the document or security classification guide used to classify the file if the value in Authority Type is D; and Derive-Multiple if the file classification was derived from multiple sources. In the latter case, the file originator will maintain a record of the source used in accordance with existing security directives. One of the multiple sources may also be identified in Description if desired.
| myAuthority | A string giving the authorities, if any. |
| virtual const std::string& Classification::getAuthorityType | ( | ) | const [pure virtual] |
Return the indication of the type of authority used to classify the file.
O (original classification authority), D (derivative from a single source), and M (derivative from multiple sources).
| virtual void Classification::setAuthorityType | ( | const std::string & | myAuthorityType | ) | [pure virtual] |
Set the code for the type of authority used to classify the file.
| myAuthorityType | Indication of the type of authority used to classify the file. O(original classification authority), D(derivative from a single source), and M(derivative from multivple sources) |
| virtual const DateTime* Classification::getSecuritySourceDate | ( | ) | const [pure virtual] |
Return the date of the source used to derive the classification of the data.
| virtual void Classification::setSecuritySourceDate | ( | const DateTime * | mySecuritySourceDate | ) | [pure virtual] |
Set the date of the source used to derive the classification of the data.
In the case of multiple sources, the date of the most recent source should be used.
| mySecuritySourceDate | The date of the source used to derive the classification of the data. |
| virtual const std::string& Classification::getSecurityControlNumber | ( | ) | const [pure virtual] |
Return the security control number associated with the data.
| virtual void Classification::setSecurityControlNumber | ( | const std::string & | mySecurityControlNumber | ) | [pure virtual] |
Set the security control number associated with the data.
| mySecurityControlNumber | The security control number associated with the data. This value shall be accordance with the regulations governing the appropriate security channel(s). |
| virtual const std::string& Classification::getFileCopyNumber | ( | ) | const [pure virtual] |
Return the file copy number associated with the data.
| virtual void Classification::setFileCopyNumber | ( | const std::string & | myFileCopyNumber | ) | [pure virtual] |
Set the file copy number associated with the data.
| myFileCopyNumber | The file copy number associated with the data. If zero, then the data is not subject to file copy tracking. |
| virtual const std::string& Classification::getFileNumberOfCopies | ( | ) | const [pure virtual] |
Return the number of copies associated with the data.
| virtual void Classification::setFileNumberOfCopies | ( | const std::string & | myFileNumberOfCopies | ) | [pure virtual] |
Return the number of copies associated with the data.
| myFileNumberOfCopies | The number of copies associated with the data. If zero, then the data is not subject to file copy tracking. |
| virtual void Classification::getClassificationText | ( | std::string & | classificationText | ) | const [pure virtual] |
Retrieves a text string containing the classification settings.
| classificationText | The string to contain the classification text. Any text existing in the string is erased. The string is formatted as follows:
|
| virtual bool Classification::compare | ( | const Classification * | pClassification | ) | const [pure virtual] |
Compares all values and attribues in this Classification object with those of another Classification object.
This method compares both Classification field values and DynamicObject attributes.
| pClassification | The Classification object with which to compare the values and attributes in this Classification object. This method does nothing and returns false if NULL is passed in. |
true if all values and attributes in pClassification are the same as the values and attributes in this Classification object; otherwise returns false.| virtual bool Classification::isValid | ( | std::string & | errorMessage | ) | const [pure virtual] |
Queries whether the classification is valid.
Currently this method only ensures that a TS classification has codewords.
| errorMessage | A string which will be populated with the reason why the classification is invalid. This string is presentable to the user and will be left unchanged if the classification is valid. |