String hints,
ClassLoader cl,
byte mappingStructureRule,
Map cn2binder,
Map cn2pnc) throws PException {
SpeedoSequenceBinder binder = (SpeedoSequenceBinder) super.getPBinder(
className, hints, cl, mappingStructureRule, cn2binder, cn2pnc);
String[] tokens = getTokens(hints);
if (tokens[SEQ_NAME_IDX].length() > 0) {
if (logger != null && logger.isLoggable(BasicLevel.DEBUG)) {
logger.log(BasicLevel.DEBUG, "Sequence name: " + tokens[SEQ_NAME_IDX]);
}
String sequencePrefix = (className.lastIndexOf('.') != -1) ? className.substring(0, className.lastIndexOf('.')+1):"";
sequencePrefix = StringReplace.replaceString("/", "", sequencePrefix);
SpeedoSequenceItf sequence = (SpeedoSequenceItf) pmf.getSequenceManager()
.getSequence(sequencePrefix + tokens[SEQ_NAME_IDX]);
if (sequence == null) {
throw new PException("Wrong sequence name: " + sequencePrefix + tokens[SEQ_NAME_IDX]);
}
sequence.getLongGen();
binder.setSequence(sequence);
}
return binder;
}