我正在尝试为BMC Action Request System Server编写一个迷你插件。
filterAPICall
public abstract List<com.bmc.arsys.api.Value> filterAPICall(ARPluginContext context,
List<com.bmc.arsys.api.Value> pInValues)
throws com.bmc.arsys.api.ARExceptionDescription copied from interface: ARFilterAPIPluggable
给定一组输入值,处理它并返回输出值列表。还提供了插件上下文和实例数据。
Specified by:
filterAPICall in interface ARFilterAPIPluggable
Parameters:
context - Current context for this plugin call, like username etc.
pInValues - input values
Returns:
output values
Throws:
com.bmc.arsys.api.ARException
com.bmc.arsys.api.Value的描述如下: http://www.javasystemsolutions.com/documentation/thirdparty/arapiv75/com/bmc/arsys/api/Value.html
现在,我的电话是:
public List<Value> filterAPICall(ARPluginContext context, List<Value> pInValues) throws ARException{
context.logMessage(pluginInfo, ARPluginContext.PLUGIN_LOG_LEVEL_INFO, "filterapiCall()");
if (pInValues.size() == 0)
return null;
ArrayList<Value> outValues = new ArrayList<Value>();
outValues.add(0, new Value(String.valueOf(InetAddresses.isInetAddress(String.valueOf(pInValues)))));
return outValues;
}
出于某种原因
outValues.add(0, new Value(String.valueOf(InetAddresses.isInetAddress(String.valueOf(pInValues)))));
无效。
我也试过了:
outValues.add(0, new Value(String.valueOf(InetAddresses.isInetAddress(String.valueOf(pInValues.getValue())))));
但是编译器说:
javac IPChecker.java
IPChecker.java:30: cannot find symbol
symbol : method getValue()
location: interface java.util.List<com.bmc.arsys.api.Value>
outValues.add(0, new Value(String.valueOf(InetAddresses.isInetAddress(String.valueOf(pInValues.getValue())))));
^
1 error
有什么想法吗?
由于 托马斯
答案 0 :(得分:2)
你应该迭代。
if (pInValues.size() == 0)
return null;
ArrayList<Value> outValues = new ArrayList<Value>();
for(Value value : pInValues) {
outValues.add(0, new Value(String.valueOf(InetAddresses.isInetAddress(String.valueOf(value)))));
}
return outValues;
答案 1 :(得分:1)
pInValues
是java.util.List
。 List
没有getValue()
方法。
答案 2 :(得分:0)
您需要访问List
中的元素才能在其上调用getValue()
。尝试:
outValues.add(0, new Value(String.valueOf(InetAddresses.isInetAddress(
String.valueOf(pInValues.get(0).getValue())))));
这将转换第一个元素并将其添加到输出列表中。要获取所有元素,您需要遍历pInValues
中的元素并逐个翻译它们,将每个结果添加到输出列表