6.2 Peeking a Sealed File

The following code demonstrates how to extract the metadata from sealed content using the peek method. The sealed content can be provided as any type of InputStream; this example uses a file input stream. Once peeked the file metadata, which includes the Classification details, can be examined. The sample code prints out the human-readable classification details (the labels) that were sealed into the content.

Example 6-1

import static oracle.irm.engine.content.sealing.SealingOperationsInstance.peek;
 
 import java.io.FileInputStream;
 import java.io.IOException;
 
 import oracle.irm.engine.content.sealing.ContentDescription;
 import oracle.irm.engine.core.classification.Classification;
 import oracle.irm.engine.core.general.Label;
 
 public class PeekFile {
 
     public static void main(String[] args) throws IOException {
 
         // The name of the file to peek is the first
         // command line argument
         FileInputStream stream = new FileInputStream(args[0]);
 
         // Perform the peek, providing a stream to the sealed file
         ContentDescription contentDescription = peek(stream);
 
         // Close the file stream
         stream.close();
 
         // Extract the classification details from the content
         Classification classification = contentDescription.getClassification();
 
         // Show all the labels sealed into content
         for (Label label : classification.getLabels()) {
             System.out.println(label.getLocale().getDisplayName() + " : " + label.getName());
         }
     }
 }