📄 unit.java
字号:
package com.gs.db;
import java.util.*;
/**
* A Unit is to represent a node in the organization tree of a organization.
* It have some associated user groups. Usually the groups have different
* priority, e.g., 'Director'. A unit can also have some sub units which altogether
* form a tree-like structure describing the organization structure of an
* enterprise or an office.
*/
public interface Unit {
/**
* Get the unique identifier of the Unit
* @return the id
*/
public String getID();
/**
* Get the name of the Unit, such as 'Financing Department' or so.
* @return the name
*/
public String getName();
/**
* Get all the sub units of this unit.
* @return an Iterator of the sub units
*/
public Iterator getSubUnitsIterator();
public ArrayList getAllSubUnits(Unit unit);
public Unit getInsideTopUnit();
public Iterator getInsideSubUnitsIterator();
public Iterator getExtSubUnitsIterator();
public ArrayList getAllInsideSubUnits(Unit unit);
public ArrayList getAllExtSubUnits(Unit unit);
/**
* Get all the sub units of this unit.
* @return an array containing the unit ids of the sub units.
*/
public String[] getSubUnits();
public String[] getInsideSubUnits();
public String[] getExtSubUnits();
/**
* A path name is formed by a sequence of unit names from the root unit to
* this unit.It's like 'xxx|xxx|xxx"
* @return the path name of the unit
*/
public String getPathName();
/**
* Get the parent node of this unit on the org. tree.
* @return the parent Unit
*/
public Unit getParentUnit();
/***
* Modify the description of the unit
*
*/
public String getPhone();
public String getLxr();
public String getInside();
public void setInside(String inside);
public boolean isInside();
public void setPhone(String phone) throws UnauthorizedException;
public void setLxr(String phone) throws UnauthorizedException;
/**
* Get all the groups associated with this unit.
* @return an Iterator of the associated groups, actually a GroupIteratorProxy object
*/
public Iterator getAssociateGroupsIterator() ;
/**
* Get all the groups associated with this unit.
* @return an array containing ids of the associated groups.And they are
* ordered by their priority descendingly.
*/
public int[] getAssociateGroups();
/**
* Though a unit does not have direct association with any users,
* this method helps to find the all the users in the associated groups.
* Of course there are no duplication in the result array.
* @return an array of user ids.
*/
public int[] getAssociateUsers();
public int[] getAssociateUsersAll();
/**
* Find the users belonging to the associated groups who have the given
* priority level(value).
* @return an array of user ids.
*/
public int[] getUsers_ByLevel(int level);
/**
* Test if the given user belongs to the associated groups of the unit.
* @return true if he is.
*/
public boolean isMember(User user );
/**
* Return the hierachical level of the unit. Level is counted down from root unit, whose level is 0.
* @return level of the unit
*/
public int getLevel();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -