public FileAction status()

in vault-vlt/src/main/java/org/apache/jackrabbit/vault/vlt/VltFile.java [538:598]


    public FileAction status(VaultFile remoteFile) throws VltException {
        State state  = getStatus();
        switch (state) {
            case IGNORED:
            case OBSTRUCTED:
            case REPLACED:
                return FileAction.CONFLICTED;

            case ADDED:
                if (remoteFile != null) {
                    return FileAction.CONFLICTED;
                } else {
                    return FileAction.VOID;
                }

            case CLEAN:
                if (remoteFile == null) {
                    return FileAction.DELETED;
                } else {
                    if (file.isDirectory()) {
                        // do nothing
                        return FileAction.VOID;
                    } else {
                        return equalsToRemote(remoteFile)
                                ? FileAction.VOID
                                : FileAction.UPDATED;
                    }
                }

            case CONFLICTED:
                // do not probe further
                return FileAction.CONFLICTED;

            case DELETED:
                return FileAction.VOID;

            case MISSING:
                return FileAction.ADDED;

            case MODIFIED:
                if (remoteFile == null) {
                    return FileAction.DELETED;
                } else {
                    return mergeableWithRemote(remoteFile);
                }

            case UNKNOWN:
                if (remoteFile == null) {
                    // do nothing
                    return FileAction.VOID;
                } else {
                    return FileAction.UPDATED;
                }

            case VOID:
                return FileAction.ADDED;

            default:
                throw exception("illegal state: " + state, null);
        }
    }