windchill对象IBA属性值的获取工具类

import java.util.Hashtable; import java.util.Locale; import org.apache.log4j.Logger; import wt.iba.definition.litedefinition.AttributeDefDefaultView; import wt.iba.value.DefaultAttributeContainer; import wt.iba.value.IBAHolder; import wt.iba.value.IBAValueUtility; import wt.iba.value.litevalue.AbstractValueView; import wt.iba.value.service.IBAValueHelper; import wt.session.SessionHelper; import wt.util.WTException; public class IBAUtils { private static final Logger logger = Logger.getLogger(IBAUtils.class); private Hashtable<String, Object> ibaContainer = new Hashtable<String, Object>(); public String getIBAValue(String attributeLogicalIdentifier) { try { return getIBAValue(attributeLogicalIdentifier, SessionHelper.manager.getLocale()); } catch (WTException e) { logger.error("getIBAValue(String)", e); } return null; } protected String getIBAValue(String attributeLogicalIdentifier, Locale locale) throws WTException { if (this.ibaContainer.get(attributeLogicalIdentifier) == null) { return null; } AbstractValueView abstractvalueview = (AbstractValueView)((Object[])this.ibaContainer.get(attributeLogicalIdentifier))[1]; try { String value = IBAValueUtility.getLocalizedIBAValueDisplayString(abstractvalueview, locale); return value; } catch (WTException e) { logger.error("getIBAValue(String, Locale)", e); } return null; } public long getIBAID(String attributeLogicalIdentifier) throws WTException { if (this.ibaContainer.get(attributeLogicalIdentifier) == null) { return 0L; } AttributeDefDefaultView attributeDefDefaultView = (AttributeDefDefaultView)((Object[])this.ibaContainer.get(attributeLogicalIdentifier))[0]; return attributeDefDefaultView.getObjectID().getId(); } private void initializeIBA(IBAHolder ibaholder) { try { ibaholder = IBAValueHelper.service.refreshAttributeContainer(ibaholder, null, SessionHelper.manager.getLocale(), null); DefaultAttributeContainer defaultattributecontainer = (DefaultAttributeContainer)ibaholder.getAttributeContainer(); if (defaultattributecontainer != null) { AttributeDefDefaultView[] attributeDefDefaultViews = defaultattributecontainer.getAttributeDefinitions(); for (AttributeDefDefaultView attributeDefDefaultView : attributeDefDefaultViews) { AbstractValueView[] abstractValueView = defaultattributecontainer.getAttributeValues(attributeDefDefaultView); if(attributeDefDefaultView == null){ continue; } Object[] obj = new Object[]{attributeDefDefaultView,abstractValueView[0]}; this.ibaContainer.put(attributeDefDefaultView.getLogicalIdentifier().trim(), obj); } } } catch (Exception e) { logger.error("initializeIBA(IBAHolder)", e); } } public IBAUtils(IBAHolder ibaholder) { initializeIBA(ibaholder); } }

windchill中获得对象的IBA属性值相关推荐

  1. 有属性的自定义注解,如何获取到post请求中RequestBody中对象的一个属性值?

    1,写两个自定义注解,一个作用于方法的,一个作用于字段的 作用于方法的自定义注解代码: package com.youku.nintendo.annotation;import enums.Permi ...

  2. CSS中position的几个属性值

    CSS中position的几个属性值 position的四种取值 :     static:static定位就是不定位,出现在哪里就显示在哪里,这是默认取值,只有在你想覆盖以前的定义时才需要显示指定 ...

  3. 【Java】使用lambda表达式获取list中所有对象的某个属性以及获取特定属性的某一个对象

    使用lambda表达式获取list中所有对象的某个属性以及获取特定属性的某一个对象 获取List中所有对象的某个属性 获取List中某个特定属性的对象 获取List中所有对象的某个属性 案例如下:获取 ...

  4. java对象上有横线_对象bean间属性值复制:无视大小写和下划线_和横杠-

    1.简要说明:在java代码开发过程中,总会遇到实体类bean直接的属性复制问题,将一个bean中的值复制到另一个bean中,这时如果属性名是形同的,(仅仅有大小写或带下划线_或带横杠-)的区别,那就 ...

  5. 将java类转换成jsp的例子_使用 动作可以在JSP页面中得到Bean实例的属性值,并将其转换为()_学小易找答案...

    [单选题]下面哪个方法当服务器关闭时被调用,用来释放Servlet所占用的资源? [多选题]非处方药的遴选原则是( ). [单选题]主控制板与门机变频器有开门.关门命令.公共端,那么主控制板应该是() ...

  6. HTML中的target标签的属性值

    HTML中的target标签的属性值 target标签有四种不同的属性值 //跳转到新的文档页面,也就是打开新的目标文档 <a target = "_blank">&l ...

  7. JS中window对象的opener属性

    JS中window对象的opener属性 JS中window对象的opener属性 window.opener是js中window的一个属性,它返回的是打开当前窗口的窗口对象.如果窗口A弹出一个窗口B ...

  8. 利用反射打印对象一般成员属性值

    为什么80%的码农都做不了架构师?>>>    利用反射打印对象一般成员属性值 public static void printVoOrDtoVal(Object obj){ Str ...

  9. pom.xml文件中的dependency的scope属性值为test,但是Test sources root的文件里面不能使用

    场景: 在idea2021版本中,创建maven,在pom.xml文件中的dependency的scope属性值为test,但是Test sources root的文件里面不能使用 问题描述 在pom ...

最新文章

  1. robot向linux发送命令,linux发送手机短信 利用fesion robot
  2. xp系统的无线配置服务器,xp系统下使用无线提示无线自动配置服务没有运行如何解决...
  3. 在python中查看关键字、需要执行_python关键字以及含义,用法
  4. wordpress 删除自定义字段
  5. Java 检测文件是否存在
  6. 网络采集软件核心技术剖析系列(1)---如何使用C#语言获取博客园某个博主的全部随笔链接及标题...
  7. php 重新组合数组_PHP数组组合
  8. ARM开发6.3.3 基础实训( 3 ) 两个 LED 显示二位数(静态显示)--LPC21XX
  9. jquery mobile 中文在线文档
  10. 在三维空间中表示平面和直线
  11. Mac idea 替换快捷键
  12. PHP网页输入年份查找生肖,vb十二生肖程序 根据年份的输入便可以查询到你是什么生肖...
  13. 昨天偷懒了(⊙o⊙),好气啊,那今天就补上昨天的吧,orz向大佬们低头。还是熟悉的味道。
  14. 如何用计算机做曲面图,#平面设计图#在电脑上怎么做设计图?
  15. php 公众号 模板消息id如何获取_微信公众号后台模板消息如何实现发送的功能...
  16. 查找计算机16mb的文件,如何搜索win7电脑里的文件
  17. Unable to locate appropriate constructor on class异常
  18. Android 头像上传
  19. 51单片机农历转换公历c语言算法,C51写的51单片机用公历转农历和星期程序
  20. 开启虫洞的频率_仅用几段音频、扬声器和灯就能打开“虫洞”,这是真的?内附视频...

热门文章

  1. 阿里云云盾证书(HTTPS 证书) 的免费续费操作流程
  2. STC15W通过SPI方式读取RM3100数据
  3. ydisk安卓版本_DiskInfo app
  4. 模型驱动软件开发:技术、工程与管理
  5. 好的企业网站推广策划是总结出来的
  6. Shell中的case in 语句
  7. 有关windows黑屏的解决办法
  8. linux下使用UDP发送接收数据
  9. Hive 自定义函数UDF入门
  10. 特征选择过滤器 - f_classif(计算提样本的ANOVA F值)