| Modifier and Type | Field and Description |
|---|---|
static boolean |
ALLOW_OVERWRITE |
static boolean |
DONT_ALLOW_OVERWRITE |
static boolean |
DONT_TRY_TO_CREATE |
static boolean |
TRY_TO_CREATE |
| Modifier | Constructor and Description |
|---|---|
protected |
SyntaxElement(String type,
String name,
String path,
char predelim,
int idx,
StringBuffer res,
int fullResLen,
Document syntax,
Hashtable<String,String> predefs,
Hashtable<String,String> valids)
beim parsen: initialisiert ein neues syntaxelement mit der id 'name'; in
'path' wird der pfad bis zu dieser stelle uebergeben 'predelim' gibt das
delimiter-zeichen an, das beim parsen vor diesem syntax- element stehen
muesste 'idx' ist die nummer des syntaxelementes innerhalb der
uebergeordneten liste (die liste repraesentiert das evtl. mehrmalige
auftreten eines syntaxelementes, siehe class syntaxelementlist) 'res' ist
der zu parsende String 'predefs' soll eine menge von pfad-wert-paaren
enthalten, die fuer einige syntaxelemente den wert angeben, den diese
elemente zwingend haben muessen (z.b. ein bestimmter segmentcode o.ae.)
|
protected |
SyntaxElement(String type,
String name,
String path,
int idx,
Document syntax)
es wird ein syntaxelement mit der id 'name' initialisiert; der pfad bis zu
diesem element wird in 'path' uebergeben; 'idx' ist die nummer dieses
elementes innerhalb der syntaxelementliste fuer dieses element (falls ein
bestimmtes syntaxelement mehr als einmal auftreten kann)
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
addChildContainer(MultipleSyntaxElements x) |
int |
checkSegSeq(int value) |
protected MultipleSyntaxElements |
createAndAppendNewChildContainer(Node ref,
Document syntax) |
protected abstract MultipleSyntaxElements |
createNewChildContainer(Node ref,
Document syntax)
erzeugt einen neuen Child-Container, welcher durch den
xml-knoten 'ref' identifiziert wird; wird beim erzeugen von elementen
benutzt
|
protected void |
destroy() |
int |
enumerateSegs(int startValue,
boolean allowOverwrite)
loop through all child-elements; the segments found there
will be sequentially enumerated starting with num startValue;
if startValue is zero, the segments will not be enumerated,
but all given the number 0
|
void |
extractValues(Hashtable<String,String> values)
fuellt die hashtable 'values' mit den werten der de-syntaxelemente; dazu
wird in allen anderen typen von syntaxelementen die liste der
child-elemente durchlaufen und deren 'fillValues' methode aufgerufen
|
List<MultipleSyntaxElements> |
getChildContainers() |
SyntaxElement |
getElement(String path) |
void |
getElementPaths(Properties p,
int[] segref,
int[] degref,
int[] deref) |
protected abstract String |
getElementTypeName()
gibt einen string mit den typnamen (msg,seg,deg,de,...) des
elementes zurueck
|
protected abstract char |
getInDelim()
liefert das delimiter-zeichen zurueck, dass innerhalb dieses
syntaxelementes benutzt wird, um die einzelnen child-elemente voneinander
zu trennen
|
String |
getName() |
MultipleSyntaxElements |
getParent() |
String |
getPath() |
int |
getPosInMsg() |
protected char |
getPreDelim() |
Node |
getSyntaxDef(String type,
Document syntax) |
String |
getType() |
String |
getValueOfDE(String path) |
String |
getValueOfDE(String path,
int zero) |
protected void |
init(String type,
String name,
String path,
char predelim,
int idx,
StringBuffer res,
int fullResLen,
Document syntax,
Hashtable<String,String> predefs,
Hashtable<String,String> valids) |
protected void |
init(String type,
String name,
String path,
int idx,
Document syntax) |
boolean |
isValid() |
protected MultipleSyntaxElements |
parseAndAppendNewChildContainer(Node ref,
char predelim0,
char predelim1,
StringBuffer res,
int fullResLen,
Document syntax,
Hashtable<String,String> predefs,
Hashtable<String,String> valids) |
protected abstract MultipleSyntaxElements |
parseNewChildContainer(Node ref,
char predelim0,
char predelim1,
StringBuffer res,
int fullResLen,
Document syntax,
Hashtable<String,String> predefs,
Hashtable<String,String> valids)
beim parsen: haengt an die 'childElements' ein neues Element an. der
xml-knoten 'ref' gibt an, um welches element es sich dabei handelt; aus
'res' (der zu parsende String) wird der wert fuer das element ermittelt
(falls es sich um ein de handelt); in 'predefined' ist der wert des
elementes zu finden, der laut syntaxdefinition ('syntax') an dieser stelle
auftauchen mueste (optional; z.b. fuer segmentcodes); 'predelim*' geben
die delimiter an, die direkt vor dem zu erzeugenden syntaxelement
auftauchen muessten
|
boolean |
propagateValue(String destPath,
String value,
boolean tryToCreate,
boolean allowOverwrite)
setzt den wert eines de; in allen syntaxelementen ausser DE wird dazu die
liste der child-elemente durchlaufen; jedem dieser child-elemente wird der
wert zum setzen uebergeben; genau _eines_ dieser elemente wird sich dafuer
zustaendig fuehlen (das DE mit 'path'='destPath') und den wert uebernehmen
|
protected void |
setName(String name) |
void |
setParent(MultipleSyntaxElements parent) |
protected void |
setPath(String path) |
protected void |
setType(String type) |
protected void |
setValid(boolean valid) |
protected boolean |
storeValidValueInDE(String destPath,
String value) |
String |
toString(int zero)
diese toString() methode wird benutzt, um den wert eines
de-syntaxelementes in human-readable-form zurueckzugeben. innerhalb eines
de-elementes wird der wert in der hbci-form gespeichert
|
void |
validate()
ueberpreuft, ob das syntaxelement alle restriktionen einhaelt; ist das
nicht der fall, so wird eine Exception ausgeloest. die meisten
syntaxelemente koennen sich nicht selbst ueberpruefen, sondern rufen statt
dessen die validate-funktion der child-elemente auf
|
public static final boolean TRY_TO_CREATE
public static final boolean DONT_TRY_TO_CREATE
public static final boolean ALLOW_OVERWRITE
public static final boolean DONT_ALLOW_OVERWRITE
protected SyntaxElement(String type, String name, String path, int idx, Document syntax)
protected SyntaxElement(String type, String name, String path, char predelim, int idx, StringBuffer res, int fullResLen, Document syntax, Hashtable<String,String> predefs, Hashtable<String,String> valids)
protected abstract String getElementTypeName()
protected abstract char getInDelim()
protected abstract MultipleSyntaxElements createNewChildContainer(Node ref, Document syntax)
protected abstract MultipleSyntaxElements parseNewChildContainer(Node ref, char predelim0, char predelim1, StringBuffer res, int fullResLen, Document syntax, Hashtable<String,String> predefs, Hashtable<String,String> valids)
protected MultipleSyntaxElements createAndAppendNewChildContainer(Node ref, Document syntax)
public int enumerateSegs(int startValue,
boolean allowOverwrite)
startValue - value to be used for the first segment foundprotected void init(String type, String name, String path, char predelim, int idx, StringBuffer res, int fullResLen, Document syntax, Hashtable<String,String> predefs, Hashtable<String,String> valids)
protected MultipleSyntaxElements parseAndAppendNewChildContainer(Node ref, char predelim0, char predelim1, StringBuffer res, int fullResLen, Document syntax, Hashtable<String,String> predefs, Hashtable<String,String> valids)
public void extractValues(Hashtable<String,String> values)
protected void addChildContainer(MultipleSyntaxElements x)
public List<MultipleSyntaxElements> getChildContainers()
public boolean propagateValue(String destPath, String value, boolean tryToCreate, boolean allowOverwrite)
public String getValueOfDE(String path)
public SyntaxElement getElement(String path)
path - path to the element to be returnedprotected void setPath(String path)
public final String getPath()
protected void setName(String name)
public String getName()
protected void setType(String type)
public String getType()
protected char getPreDelim()
public final Node getSyntaxDef(String type, Document syntax)
type - the name of the syntaxelement to be returnedsyntax - the structure containing the current syntaxdefinitionpublic String toString(int zero)
protected final void setValid(boolean valid)
public boolean isValid()
public int checkSegSeq(int value)
public void validate()
public void getElementPaths(Properties p, int[] segref, int[] degref, int[] deref)
public void setParent(MultipleSyntaxElements parent)
public MultipleSyntaxElements getParent()
public int getPosInMsg()
protected void destroy()
Copyright © 2017. All rights reserved.