Example usage for org.apache.commons.compress.archivers.cpio CpioArchiveEntry setUID

List of usage examples for org.apache.commons.compress.archivers.cpio CpioArchiveEntry setUID

Introduction

In this page you can find the example usage for org.apache.commons.compress.archivers.cpio CpioArchiveEntry setUID.

Prototype

public void setUID(final long uid) 

Source Link

Document

Set the user id.

Usage

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 ww  w  .ja  v  a  2s.  c om
    });
    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;
        }
    });
}