if (needCountry &&
(getCountry()==null || getCountry().length()==0)) {
StringBuffer sb=new StringBuffer("DE");
HBCIUtilsInternal.getCallback().callback(this,HBCICallback.NEED_COUNTRY,HBCIUtilsInternal.getLocMsg("COUNTRY"),HBCICallback.TYPE_TEXT,sb);
if (sb.length()==0)
throw new InvalidUserDataException(HBCIUtilsInternal.getLocMsg("EXCMSG_EMPTY_X",HBCIUtilsInternal.getLocMsg("COUNTRY")));
setCountry(sb.toString());
dataChanged=true;
}
if (needBLZ &&
(getBLZ()==null || getBLZ().length()==0)) {
StringBuffer sb=new StringBuffer();
HBCIUtilsInternal.getCallback().callback(this,HBCICallback.NEED_BLZ,HBCIUtilsInternal.getLocMsg("BLZ"),HBCICallback.TYPE_TEXT,sb);
if (sb.length()==0)
throw new InvalidUserDataException(HBCIUtilsInternal.getLocMsg("EXCMSG_EMPTY_X",HBCIUtilsInternal.getLocMsg("BLZ")));
setBLZ(sb.toString());
dataChanged=true;
}
if (needHost &&
(getHost()==null || getHost().length()==0))
{
StringBuffer sb;
if (this instanceof AbstractPinTanPassport) {
sb=new StringBuffer(HBCIUtils.getPinTanURLForBLZ(getBLZ()));
if (sb.indexOf("https://")==0) {
sb.delete(0,8);
}
} else {
sb=new StringBuffer(HBCIUtils.getHBCIHostForBLZ(getBLZ()));
}
HBCIUtilsInternal.getCallback().callback(this,HBCICallback.NEED_HOST,HBCIUtilsInternal.getLocMsg("HOST"),HBCICallback.TYPE_TEXT,sb);
if (sb.length()==0)
throw new InvalidUserDataException(HBCIUtilsInternal.getLocMsg("EXCMSG_EMPTY_X",HBCIUtilsInternal.getLocMsg("HOST")));
setHost(sb.toString());
dataChanged=true;
}
if (needPort &&
(getPort()==null || getPort().intValue()==0)) {
StringBuffer sb=new StringBuffer((this instanceof AbstractPinTanPassport) ? "443" : "3000");
HBCIUtilsInternal.getCallback().callback(this,HBCICallback.NEED_PORT,HBCIUtilsInternal.getLocMsg("PORT"),HBCICallback.TYPE_TEXT,sb);
if (sb.length()==0)
throw new InvalidUserDataException(HBCIUtilsInternal.getLocMsg("EXCMSG_EMPTY_X",HBCIUtilsInternal.getLocMsg("PORT")));
setPort(new Integer(sb.toString()));
dataChanged=true;
}
if (needFilter &&
(getFilterType()==null || getFilterType().length()==0)) {
StringBuffer sb=new StringBuffer("Base64");
HBCIUtilsInternal.getCallback().callback(this,HBCICallback.NEED_FILTER,HBCIUtilsInternal.getLocMsg("FILTER"),HBCICallback.TYPE_TEXT,sb);
if (sb.length()==0)
throw new InvalidUserDataException(HBCIUtilsInternal.getLocMsg("EXCMSG_EMPTY_X",HBCIUtilsInternal.getLocMsg("FILTER")));
setFilterType(sb.toString());
dataChanged=true;
}
if (needUserId &&
(getUserId()==null || getUserId().length()==0)) {
StringBuffer sb=new StringBuffer();
HBCIUtilsInternal.getCallback().callback(this,HBCICallback.NEED_USERID,HBCIUtilsInternal.getLocMsg("USERID"),HBCICallback.TYPE_TEXT,sb);
if (sb.length()==0)
throw new InvalidUserDataException(HBCIUtilsInternal.getLocMsg("EXCMSG_EMPTY_X",HBCIUtilsInternal.getLocMsg("USERID")));
setUserId(sb.toString());
dataChanged=true;
}
if (needCustomerId &&