List of usage examples for org.apache.commons.compress.archivers.cpio CpioArchiveEntry setMode
public void setMode(final long mode)
From source file:org.apache.ant.compress.taskdefs.Cpio.java
public Cpio() { setFactory(new CpioStreamFactory() { public ArchiveOutputStream getArchiveStream(OutputStream stream, String encoding) throws IOException { return new CpioArchiveOutputStream(stream, format.getFormat(), blockSize, encoding); }//from w w w . j a va 2 s . co m }); setEntryBuilder(new ArchiveBase.EntryBuilder() { public ArchiveEntry buildEntry(ArchiveBase.ResourceWithFlags r) { boolean isDir = r.getResource().isDirectory(); CpioArchiveEntry ent = new CpioArchiveEntry(format.getFormat(), r.getName(), isDir ? 0 : r.getResource().getSize()); ent.setTime(round(r.getResource().getLastModified(), 1000) / 1000); int mode = isDir ? ArchiveFileSet.DEFAULT_DIR_MODE : ArchiveFileSet.DEFAULT_FILE_MODE; if (!isDir && r.getCollectionFlags().hasModeBeenSet()) { ent.setMode(r.getCollectionFlags().getMode()); } else if (isDir && r.getCollectionFlags().hasDirModeBeenSet()) { ent.setMode(r.getCollectionFlags().getDirMode()); } else if (r.getResourceFlags().hasModeBeenSet()) { ent.setMode(r.getResourceFlags().getMode()); } else { ent.setMode(mode); } if (r.getResourceFlags().hasUserIdBeenSet()) { ent.setUID(r.getResourceFlags().getUserId()); } else if (r.getCollectionFlags().hasUserIdBeenSet()) { ent.setUID(r.getCollectionFlags().getUserId()); } if (r.getResourceFlags().hasGroupIdBeenSet()) { ent.setGID(r.getResourceFlags().getGroupId()); } else if (r.getCollectionFlags().hasGroupIdBeenSet()) { ent.setGID(r.getCollectionFlags().getGroupId()); } return ent; } }); setFileSetBuilder(new ArchiveBase.FileSetBuilder() { public ArchiveFileSet buildFileSet(Resource dest) { ArchiveFileSet afs = new CpioFileSet(); afs.setSrcResource(dest); return afs; } }); }