验证类
验证可以在插件的用户输入数据的任何部分中进行。因此,把验证代码放入可重复使用的类中是有意义的,这样就不用把它复制到多个位置。下面是一个验证类的例子。
public class InterfacesValidator implements ICellEditorValidator
{
public String isValid(Object value)
{
if( !( value instanceof String) )
return null;
String interfaces = ((String)value).trim();
if( interfaces.equals(""))
return null;
String[] interfaceArray = interfaces.split(",");
for (int i = 0; i < interfaceArray.length; i++)
{
IStatus status = JavaConventions.validateJavaTypeName(interfaceArray[i]);
if (status.getCode() != IStatus.OK)
return "Validation of interface " + interfaceArray[i] + ": " + status.getMessage();
}
return null;
}
}
Eclipse类库中的另外一个极好的类是JavaConventions,它为我们验证数据!它包含了很多验证方法,例如:
· validateJavaTypeName() 检查类和接口的名称。
· validatePackageName() 检查程序包的名称。
· validateFieldName() 检查数据成员的名称。
· validateMethodName() 检查方法的名称。
· validateIdentifierName() 检查变量的名称。
现在我们不需要ICellEditorValidator接口,但是在以后的文章中,我们是需要它的。
结果
到目前为止,我们拥有了一个可以工作的向导,它拥有一张图片和两个页面,第二个页面建立了原来的Invokatron文档。图2显示了结果:

图2:定制的向导
闪亮的发明
我们可以看到,通常是数据驱动应用程序的。外表(Presentation)也是很重要的。丑陋的发明难以出售,但是闪亮的发明可能容易出售。但是数据是我们这些程序员实现的非常本质的东西。
在本文中,我们首先决定了自己将处理的数据。然后,我们以定制向导的方式来获取这些数据。下一篇文章将继续讲解显示的问题,包括定制的编辑器和属性页面。
