ftpelement.java

来自「JavaExplorer是一个独立于平台的浏览器」· Java 代码 · 共 279 行

JAVA
279
字号
/*
 * Created on 2 oct. 03
 *
 * To change the template for this generated file go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
package javaexplorer.ftp;

/**
 * @author veeb7280
 *
 * Repr閟ente un fichier FTP
 * Donne les informations
 */
public class FtpElement {
    // For determine the file type for each row
    public final static int DIR = 1;

    // For determine the file type for each row
    public final static int FILE = 2;

    // For determine the file type for each row
    public final static int LINK = 3;

    // For determine the file type for each row
    public final static int OTHERS = 4;

    // Contain file type for each row
    private int _type;

    // Contain file size for each row
    private long _size;

    // Contain permission, owner, group and file name for each row
    private String _permission;

    // Contain permission, owner, group and file name for each row
    private String _owner;

    // Contain permission, owner, group and file name for each row
    private String _group;

    // Contain permission, owner, group and file name for each row
    private String _name;
    
    //contient le user visualisant l'element FTP
    private String _userName;
    
    //Contient le groupe du user visualisant l'element FTP
    private String _groupName;


    public FtpElement(String name, int type, long size, String permission, String owner, String group, String viewerName, String viewerGroup){
        _name = name;
        _type = type;
        _size = size;
        _permission = permission;
        _owner = owner;
        _group = group;
        _userName = viewerName;
        _groupName = viewerGroup;
    }
    
    public boolean canRead(){
        return 
            globalReadable() ||
            ( groupReadable() && (_group != null && _group.equals(_groupName) ) ) ||
            ( ownerReadable() && (_owner != null && _owner.equals(_userName) ) ); 
    }
    
    public boolean canExecute(){
        return 
            globalExecutable() ||
            ( groupExecutable() && (_group != null && _group.equals(_groupName) ) ) ||
            ( ownerExecutable() && (_owner != null && _owner.equals(_userName) ) ); 
    }
    
    public boolean canWrite(){
        return 
            globalWritable() ||
            ( groupWritable() && (_group != null && _group.equals(_groupName) ) ) ||
            ( ownerWritable() && (_owner != null && _owner.equals(_userName) ) ); 
    }
    


    /**
     * Get the name of the group which own the file, directory or link.
     */
    public String getGroup() {
        return _group;
    }

    /**
     * Get name.
     */
    public String getName() {
        return _name;
    }

    /**
     * Get the user which own the file, directory or link.
     */
    public String getOwner() {
        return _owner;
    }

    /**
     * Get permission.
     */
    public String getPermission() {
        return _permission;
    }

    /**
     * Get size.
     */
    public long getSize() {
        return _size;
    }

    /**
     * Get the type.
     * @return the int DIRECTORY,FILE or LINK.
     */
    public int getType() {
        return _type;
    }

    /**
     * Whether it is readable by owner.
     * @return True if readable by owner.
     */
    private boolean ownerReadable() {
        if (_permission.equals("")) {
            return true;
        }

        if (_permission.charAt(0) == '-') {
            return false;
        }

        return true;
    }

    /**
     * Whether it is writable by owner.
     * @return True if writable by owner.
     */
    private boolean ownerWritable() {
        if (_permission.equals("")) {
            return true;
        }

        if (_permission.charAt(1) == '-') {
            return false;
        }

        return true;
    }

    /**
     * Whether it is executable by owner.
     * @return True if executable by owner.
     */
    private boolean ownerExecutable() {
        if (_permission.equals("")) {
            return true;
        }

        if (_permission.charAt(2) == '-') {
            return false;
        }

        return true;
    }

    /**
     * Whether it is readable by group.
     * @return True if readable by group.
     */
    private boolean groupReadable() {
        if (_permission.equals("")) {
            return true;
        }

        if (_permission.charAt(3) == '-') {
            return false;
        }

        return true;
    }

    /**
     * Whether it is writable by group.
     * @return True if writable by group.
     */
    private boolean groupWritable() {
        if (_permission.equals("")) {
            return true;
        }

        if (_permission.charAt(4) == '-') {
            return false;
        }

        return true;
    }

    /**
     * Whether it is executable by group.
     * @return True if executable by group.
     */
    private boolean groupExecutable() {
        if (_permission.equals("")) {
            return true;
        }

        if (_permission.charAt(5) == '-') {
            return false;
        }

        return true;
    }

    /**
     * Whether it is global readable.
     * @return True if global readable.
     */
    private boolean globalReadable() {
        if (_permission.equals("")) {
            return true;
        }

        if (_permission.charAt(6) == '-') {
            return false;
        }

        return true;
    }

    /**
     * Whether it is global writable.
     * @return True if global writable.
     */
    private boolean globalWritable() {
        if (_permission.equals("")) {
            return true;
        }

        if (_permission.charAt(7) == '-') {
            return false;
        }

        return true;
    }

    /**
     * Whether it is global executable.
     * @return True if global executable.
     */
    private boolean globalExecutable() {
        if (_permission.equals("")) {
            return true;
        }

        if (_permission.charAt(8) == '-') {
            return false;
        }

        return true;
    }


    public String toString(){
           return getName() + ", " + getType() + ", " + getSize(); 
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?