我的视频将在以下部门的全部或任何一个或任意两个或任意三个部门发布,如
Test1,Test2,Test3,Test4等......
以编程方式我将获取视频的所有部门名称,并构建为Java StringBuilder,如下所示:
Test1,Test2,Test3,Test4等
这些部门的隐私值为以下枚举常量之一: 公共,保护,PRIVATE。
如果我的部门是公开的,那么视频隐私就是公开的。
如果我的视频在单个部门发布,我可以按照上面的说明设置视频隐私。但是,如果我的视频在多个部门发布,然后一个部门的隐私是公共的,那么另一个部门的隐私受到保护,那么我需要将其设置为受保护的,考虑到最高价值。
如何管理所有这些条件,如:
以下是获取所有ID和隐私的代码
List<Integer> newdepList = new ArrayList<Integer>();
if(depName != null) {
mediaVO.setDepNames(depName.toString());
StringTokenizer st1 = new StringTokenizer(depName.toString(),",");
if(depName.toString().contains(",")) {
System.out.println("Media is assigned to more than one dep" + depName );
while(st1.hasMoreTokens()) {
depname= st1.nextToken();
System.out.println("depname"+depname);
if(depname!= null) {
ListResponse resp = fetchDepDetails(depname);
if(resp.totalCount >= 1) {
for(Department dep:resp.objects) {
int rootdepId = Integer.valueOf(properties.getProperty("dep.id"));
if(dep.parentId == rootdepid|| dep.id == rootdepId) {
newdepList.add(dep.id);
//System.out.println("Department Id :::::::"+dep.id);
//PrivacyType pri = fetchDepPrivacy(dep.id);
//System.out.println("Privacy for the retrieved channels ----->"+pri);
}
}
}
}
}
提前致谢, 沙恭达罗
答案 0 :(得分:1)
也许将你的可见性放在枚举中是有意义的,你可以利用每个枚举值的.ordinal()?
那么如果你有一个部门列表
departments.stream().map(d -> d.visivility().ordinal()).min().get()
并以流畅的方式使用Visibility.values()[i]
最好阿塔纳斯