public COSKey next() { return new COSKey(this.size++); }
/** * @return list of keys of all objects, contained inside this object stream. */ public List<COSKey> getInternalObjectsKeys() { List<COSKey> res = new ArrayList<>(); for (Map.Entry<Integer, Long> entry : internalOffsets.entrySet()) { res.add(new COSKey(entry.getKey(), 0)); // Object inside streams shall have generation 0 } return res; }
protected COSKey getKeyToWrite(final COSKey key) { if (!this.renum.containsKey(key)) { this.renum.put(key, new COSKey(this.renum.size(), 0)); } return this.renum.get(key); }
public void addTo(final Map<COSKey, Long> offsets) { for (Map.Entry<Integer, COSXRefEntry> entry : this.entries.entrySet()) { final COSKey key = new COSKey(entry.getKey(), entry.getValue().generation); if (entry.getValue().free == 'n') { offsets.put(key, entry.getValue().offset); } else { offsets.remove(new COSKey(key.getNumber(), key.getGeneration() - 1)); } } }
public void addTo(final List<COSKey> keys) { for (Map.Entry<Integer, COSXRefEntry> entry : this.entries.entrySet()) { final COSKey key = new COSKey(entry.getKey(), entry.getValue().generation); if (entry.getValue().free == 'n') { keys.add(key); } else { removeIfNumberEqual(keys, key.getNumber()); } } }
protected COSIndirect() { super(); this.key = new COSKey(); this.document = new COSDocument(null); this.child = new COSObject(); }
protected COSIndirect(final COSObject value, final COSDocument document) { super(); this.key = new COSKey(); this.document = document; this.child = new COSObject(); if (document == null) { this.child = value; } else { this.key = this.document.setObject(value); this.child = value; } }
public void visitFromIndirect(COSIndirect obj) { try { COSKey key = obj.getKey(); if (key.equals(new COSKey())) { COSObject direct = obj.getDirect(); key = this.document.setObject(direct); obj.setKey(key, this.document); addToWrite(key); } this.write(key); this.write(" R"); } catch (IOException e) { throw new RuntimeException(e.getMessage()); } }
return parser.getObject(key); COSKey newKey = new COSKey(- (int)offset, 0); COSObject object = getObject(newKey); if(object == null || !object.getType().equals(COSObjType.COS_STREAM)) { parser = new DecodedObjectStreamParser( objectStream.getData(COSStream.FilterFlags.DECODE), objectStream, new COSKey((int) -offset, 0), this.parser.getDocument()); objectStreams.put(Long.valueOf(-offset), parser);
final int generation = this.integers.peek().intValue(); this.integers.remove(); return COSIndirect.construct(new COSKey(number, generation), document);
final int generation = this.integers.peek().intValue(); this.integers.remove(); return COSIndirect.construct(new COSKey(number, generation), document);
throw new IOException("expected number at offset " + genOffset + " but got" + generationNumber.getType()); COSKey key = new COSKey(number.getInteger().intValue(), generationNumber.getInteger().intValue()); long keyOffset = this.document.getOffset(key).longValue();
this.keyOfCurrentObject = new COSKey((int) number, (int) generation); if (this.document.isReaderInitialized() && this.document.getOffset(keyOfCurrentObject) == 0) { if (this.document.isEncrypted()) { this.document.getStandardSecurityHandler().decryptStream( (COSStream) obj.getDirectBase(), new COSKey((int) number, (int) generation));