找出对象类型及其路径

时间:2020-02-10 13:12:35

标签: java cmis

我必须找出带有目录路径的对象的类型(文件夹/文件)。

例如我必须找出具有此路径的对象是一个文件。

/home/user/test.docx

我找到了一种可行的解决方案,但这并不是一个很好的解决方案。

try {
    final Folder parentFolder = (Folder) session.getObjectByPath(path); 
    //throws exception when path points to a file
    //do sth when it's a folder
} catch (final Exception e) {
    //do sth when it's a document/file
}

在这里我不能使用'instance of',因为我无法在不知道输出类型的情况下获取对象(使用session.getObjectByPath)。

是否有更好的方法来找出带有路径的对象类型?

1 个答案:

答案 0 :(得分:2)

您可以像这样直接使用instanceof来代替直接将其强制转换为Folder:

CmisObject cmisObject = session.getObjectByPath(path);

if (cmisObject instanceof Document) {
    Document document = (Document) cmisObject;
} else if (cmisObject instanceof Folder) {
    Folder folder = (Folder) cmisDocument;
}
相关问题