class SymbolPath implements Comparable<SymbolPath> {

	@Override
	public int compareTo(SymbolPath o) {
		SymbolPath otherParentPath = o.getParent();
		int result = 0;
		if (parentPath == null) {
			if (otherParentPath != null) {
				return -1;
			}
		}
		else if (otherParentPath == null) {
			return 1;
		}
		else {
			result = parentPath.compareTo(otherParentPath);
		}
		if (result == 0) {
			result = symbolName.compareTo(o.getName());
		}
		return result;
	}

	public  SymbolPath(String symbolPathString);
	public  SymbolPath(String[] symbolPath);
	public  SymbolPath(List<String> symbolList);
	public  SymbolPath(Symbol symbol);
	public  SymbolPath(Symbol symbol, boolean excludeLibrary);
	public  SymbolPath(SymbolPath parent, String name);

}