Groovy对象集属性名称冲突
问题描述:
如何解决在groovy对象上调用的setProperty之间的名称冲突(如果groovy对象继承自另一个也具有setProperty方法的类) 我在尝试下面的代码时遇到错误做下面的,发生在大胆的误差XmlFilterImpl也有类似的setProperty方法Groovy对象集属性名称冲突
def transitFileProcessorService
def BermudaOutputTransformFilter filter
public void transformBermudaOutput(File bermudaOutputFile)
{
SAXParserFactory spf = SAXParserFactory.newInstance()
SAXParser parser = spf.newSAXParser()
XMLReader reader = parser.getXMLReader()
BermudaOutputTransformFilter filter = new BermudaOutputTransformFilter()
filter.setParent(reader)
**filter.transitFileProcessorService = transitFileProcessorService**
}
class BermudaOutputTransformFilter extends XMLFilterImpl{
def relationshipId
TransitFileProcessorService transitFileProcessorService
}
堆栈跟踪: org.xml.sax.SAXNotRecognizedException:房产“transitFileProcessorService”不被认可。 在com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.getProperty(AbstractSAXParser.java:2060)
这句法也适用于区分财产从地图内的条目映射地图上的字段。我必须使用添加公有字段的HashMap的子类,所以'obj.id'确实调用了'obj.get('id')','obj。@ id'获得了字段的值。 – jgibson