public static COSObject construct(final COSObject value, final COSDocument doc) { return new COSObject(new COSIndirect(value, doc)); }
public static COSObject construct(final COSObject value) { return construct(value, null); }
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()); } }
public boolean setString(final String value) { return setString(value, false); }
public ASInputStream getData() { return this.getData(COSStream.FilterFlags.RAW_DATA); }
public boolean setData(final ASInputStream stream) { return this.setData(stream, COSStream.FilterFlags.RAW_DATA); }
public boolean setKey(final ASAtom key, final COSObject value) { getDirect().setKey(key, value); return true; }
public boolean setIntegerKey(final ASAtom key, final long value) { getDirect().setIntegerKey(key, value); return true; }
public static COSObject construct(final COSKey value) { return construct(value, null); }
public static COSObject construct(final COSKey value, final COSDocument doc) { return new COSObject(new COSIndirect(value, doc)); }
public boolean setData(final ASInputStream stream, final COSStream.FilterFlags flags) { getDirect().setData(stream, flags); return true; }
private List<COSKey> prepareAddedObjects(List<COSObject> addedObjects) { int cosKeyNumber = this.document.getLastKeyNumber() + 1; List<COSKey> res = new ArrayList<>(); for (COSObject obj : addedObjects) { if (!obj.isIndirect()) { COSObject indirect = COSIndirect.construct(obj, this.document); res.add(indirect.getObjectKey()); } else { res.add(obj.getObjectKey()); } } addedObjects.clear(); return res; }
public void setKey(final COSKey key, final COSDocument document) { if (this.base == null || this.base.setKey(key, document)) { this.base = new COSIndirect(key, document); } }
public boolean setStringKey(final ASAtom key, final String value) { getDirect().setStringKey(key, value); return true; }
public void setIndirectLength(final long length) { COSObject obj = getKey(ASAtom.LENGTH); obj.setInteger(length); if (obj.isIndirect().booleanValue()) { obj = COSIndirect.construct(obj); setKey(ASAtom.LENGTH, obj); } }
public boolean setArrayKey(final ASAtom key, final int size, final COSObject[] value) { getDirect().setArrayKey(key, size, value); return true; }
private void initialize() { COSObject dict = COSDictionary.construct(); dict.setNameKey(ASAtom.TYPE, ASAtom.PAGES); dict.setArrayKey(ASAtom.KIDS); dict.setIntegerKey(ASAtom.COUNT, 0); COSObject branch = COSIndirect.construct(dict); setObject(branch); }