Package org.kapott.hbci.protocol

# Class MultipleSyntaxElements

java.lang.Object
org.kapott.hbci.protocol.MultipleSyntaxElements

Direct Known Subclasses:
  `MultipleDEGs`, `MultipleDEs`, `MultipleSEGs`, `MultipleSFs`

public abstract class MultipleSyntaxElements extends Object

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`MultipleSyntaxElements(Node ref, String path, char predelim0, char predelim1, StringBuffer res, int fullResLen, Document syntax, Hashtable<String,String> predefs, Hashtable<String,String> valids)`
anlegen einer neuen syntaxelementlist beim parsen des strings res; - ref ist dabei die referenz auf einen xml-node, der das syntaxelement festlegt, fuer den die syntaxelementlist erzeugt werden soll; - predefs siehe SyntaxElement() - predelim0 ist der delimiter, der vor dem ersten element innerhalb dieser syntaxelementlist auftreten muesste; - predelim1 ist der delimiter, der vor dem zweiten, dritten, usw.
`protected`
`MultipleSyntaxElements(Node ref, String path, Document syntax)`
anlegen eines neuen syntaxelementarrays fuer ein syntaxelement; ref ist eine xml-node-referenz auf das syntaxelement

## Method Summary

Modifier and Type
Method
Description
`void`
`addElement(SyntaxElement x)`
`protected int`
`checkSegSeq(int value)`
`protected abstract SyntaxElement`
`createAndAppendNewElement(Node ref, String path, int idx, Document syntax)`
erzeugt einen neuen eintrag in der elements liste; dabei wird ein syntaxelement erzeugt, das im xml-node ref referenziert wird; idx ist die indexnummer des zu erzeugenden syntaxelementes innerhalb der elementlist
`protected void`
`destroy()`
`protected int`
`enumerateSegs(int startValue, boolean allowOverwrite)`
`protected void`
`extractValues(Hashtable<String,String> values)`
siehe SyntaxElement.fillValues()
`protected SyntaxElement`
`getElement(String path)`
`void`
`getElementPaths(Properties p, int[] segref, int[] degref, int[] deref)`
`List<SyntaxElement>`
`getElements()`
`protected String`
`getName()`
`SyntaxElement`
`getParent()`
`String`
`getPath()`
`int`
`getSyntaxIdx()`
`protected String`
`getType()`
`protected String`
`getValueOfDE(String path)`
siehe SyntaxElement::getValue()
`protected String`
`getValueOfDE(String path, int zero)`
`protected void`
`init(Node ref, String path, char predelim0, char predelim1, StringBuffer res, int fullResLen, Document syntax, Hashtable<String,String> predefs, Hashtable<String,String> valids)`
`protected void`
`init(Node ref, String path, Document syntax)`
`protected abstract SyntaxElement`
`parseAndAppendNewElement(Node ref, String path, char predelim, int idx, StringBuffer res, int fullResLen, Document syntax, Hashtable<String,String> predefs, Hashtable<String,String> valids)`
siehe SyntaxElement::parseElementList()
`protected boolean`
`propagateValue(String destPath, String value, boolean tryToCreate, boolean allowOverwrite)`
siehe SyntaxElement::propagateValue()
`void`
`setParent(SyntaxElement parent)`
`void`
`setSyntaxIdx(int syntaxIdx)`
`protected boolean`
`storeValidValueInDE(String destPath, String value)`
`String`
`toString(int zero)`
`protected void`
`validate()`
`protected void`
`validateOneElement(SyntaxElement elem, int idx)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### MultipleSyntaxElements

protected MultipleSyntaxElements(Node ref, String path, Document syntax)
anlegen eines neuen syntaxelementarrays fuer ein syntaxelement; ref ist eine xml-node-referenz auf das syntaxelement

### MultipleSyntaxElements

protected MultipleSyntaxElements(Node ref, String path, char predelim0, char predelim1, StringBuffer res, int fullResLen, Document syntax, Hashtable<String,String> predefs, Hashtable<String,String> valids)
anlegen einer neuen syntaxelementlist beim parsen des strings res; - ref ist dabei die referenz auf einen xml-node, der das syntaxelement festlegt, fuer den die syntaxelementlist erzeugt werden soll; - predefs siehe SyntaxElement() - predelim0 ist der delimiter, der vor dem ersten element innerhalb dieser syntaxelementlist auftreten muesste; - predelim1 ist der delimiter, der vor dem zweiten, dritten, usw. element in der syntaxelementlist auftreten muesste (der unterschied zwischen predelim0 und predelim1 ist der, dass predelim0 evtl. von uebergeordneten elementen propagiert wird (z.b. wenn die syntaxelementlist selbst das erste syntaxelement einer msg repraesentiert), predelim1 ist allerdings immer der delimiter, der fuer das aktuell uebergeordnete syntaxelement zu verwenden ist)

## Method Details

### createAndAppendNewElement

protected abstract SyntaxElement createAndAppendNewElement(Node ref, String path, int idx, Document syntax)
erzeugt einen neuen eintrag in der elements liste; dabei wird ein syntaxelement erzeugt, das im xml-node ref referenziert wird; idx ist die indexnummer des zu erzeugenden syntaxelementes innerhalb der elementlist

### parseAndAppendNewElement

protected abstract SyntaxElement parseAndAppendNewElement(Node ref, String path, char predelim, int idx, StringBuffer res, int fullResLen, Document syntax, Hashtable<String,String> predefs, Hashtable<String,String> valids)
siehe SyntaxElement::parseElementList()

### init

protected void init(Node ref, String path, Document syntax)

### propagateValue

protected boolean propagateValue(String destPath, String value, boolean tryToCreate, boolean allowOverwrite)
siehe SyntaxElement::propagateValue()

### setParent

public void setParent(SyntaxElement parent)

### getParent

public SyntaxElement getParent()

### setSyntaxIdx

public void setSyntaxIdx(int syntaxIdx)

### getSyntaxIdx

public int getSyntaxIdx()

### storeValidValueInDE

protected boolean storeValidValueInDE(String destPath, String value)

### getValueOfDE

protected String getValueOfDE(String path)
siehe SyntaxElement::getValue()

### getValueOfDE

protected String getValueOfDE(String path, int zero)

### getElement

protected SyntaxElement getElement(String path)

### validateOneElement

protected void validateOneElement(SyntaxElement elem, int idx)

### validate

protected void validate()

### addElement

public void addElement(SyntaxElement x)

### getElements

public List<SyntaxElement> getElements()

### getPath

public String getPath()

### getName

protected String getName()

### getType

protected String getType()

### enumerateSegs

protected int enumerateSegs(int startValue, boolean allowOverwrite)

### init

protected void init(Node ref, String path, char predelim0, char predelim1, StringBuffer res, int fullResLen, Document syntax, Hashtable<String,String> predefs, Hashtable<String,String> valids)

### extractValues

protected void extractValues(Hashtable<String,String> values)
siehe SyntaxElement.fillValues()

### checkSegSeq

protected int checkSegSeq(int value)

### toString

public String toString(int zero)

### getElementPaths

public void getElementPaths(Properties p, int[] segref, int[] degref, int[] deref)

### destroy

protected void destroy()