Example usage for org.apache.pdfbox.cos COSDictionary size

List of usage examples for org.apache.pdfbox.cos COSDictionary size

Introduction

In this page you can find the example usage for org.apache.pdfbox.cos COSDictionary size.

Prototype

public int size() 

Source Link

Document

This will return the number of elements in this dictionary.

Usage

From source file:org.lockss.pdf.MockPdfTokenStream.java

License:Open Source License

/**
 * <p>//from  ww w  .  ja  v  a 2  s  .c  o  m
 * Converts one PDFBox token into a {@link PdfToken} instance, more
 * specifically a {@link MockPdfToken} instance.
 * </p>
 * 
 * @param pdfBoxToken A token from PDFBox.
 * @return A {@link PdfToken} ({@link MockPdfToken}) instance.
 * @throws IOException if the PDFBox token type is unexpected.
 * @since 1.67
 */
public static PdfToken convert(Object pdfBoxToken) throws IOException {
    PdfTokenFactory tf = new MockPdfTokenFactory();
    if (pdfBoxToken instanceof COSArray) {
        COSArray cosArray = (COSArray) pdfBoxToken;
        List<PdfToken> lst = new ArrayList<PdfToken>(cosArray.size());
        for (Object obj : cosArray) {
            lst.add(convert(obj));
        }
        return tf.makeArray(lst);
    } else if (pdfBoxToken instanceof COSBoolean) {
        return tf.makeBoolean(((COSBoolean) pdfBoxToken).getValue());
    } else if (pdfBoxToken instanceof COSDictionary) {
        COSDictionary cosDictionary = (COSDictionary) pdfBoxToken;
        Map<String, PdfToken> map = new LinkedHashMap<String, PdfToken>(cosDictionary.size());
        for (Map.Entry<COSName, COSBase> ent : cosDictionary.entrySet()) {
            map.put(ent.getKey().getName(), convert(ent.getValue()));
        }
        return tf.makeDictionary(map);
    } else if (pdfBoxToken instanceof COSFloat) {
        return tf.makeFloat(((COSFloat) pdfBoxToken).floatValue());
    } else if (pdfBoxToken instanceof COSInteger) {
        return tf.makeFloat(((COSInteger) pdfBoxToken).intValue());
    } else if (pdfBoxToken instanceof COSName) {
        return tf.makeName(((COSName) pdfBoxToken).getName());
    } else if (pdfBoxToken instanceof COSNull) {
        return tf.makeNull();
    } else if (pdfBoxToken instanceof COSString) {
        return tf.makeString(((COSString) pdfBoxToken).getString());
    } else if (pdfBoxToken instanceof PDFOperator) {
        return tf.makeOperator(((PDFOperator) pdfBoxToken).getOperation());
    } else {
        throw new IOException(String.format("Unexpected type: %s \"%s\"", pdfBoxToken.getClass().getName(),
                pdfBoxToken.toString()));
    }
}