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 java.lang.Object

### Constructor Summary

Constructors

`protected`

`MultipleSyntaxElements​(org.w3c.dom.Node ref, java.lang.String path, char predelim0, char predelim1, java.lang.StringBuffer res, int fullResLen, org.w3c.dom.Document syntax, java.util.Hashtable<java.lang.String,​java.lang.String> predefs, java.util.Hashtable<java.lang.String,​java.lang.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​(org.w3c.dom.Node ref, java.lang.String path, org.w3c.dom.Document syntax)` anlegen eines neuen syntaxelementarrays fuer ein syntaxelement; ref ist eine xml-node-referenz auf das syntaxelement

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`void` `addElement​(SyntaxElement x)`
`protected int` `checkSegSeq​(int value)`
`protected abstract SyntaxElement` `createAndAppendNewElement​(org.w3c.dom.Node ref, java.lang.String path, int idx, org.w3c.dom.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​(java.util.Hashtable<java.lang.String,​java.lang.String> values)` siehe SyntaxElement.fillValues()
`protected SyntaxElement` `getElement​(java.lang.String path)`
`void` `getElementPaths​(java.util.Properties p, int[] segref, int[] degref, int[] deref)`
`java.util.List<SyntaxElement>` `getElements()`
`protected java.lang.String` `getName()`
`SyntaxElement` `getParent()`
`java.lang.String` `getPath()`
`int` `getSyntaxIdx()`
`protected java.lang.String` `getType()`
`protected java.lang.String` `getValueOfDE​(java.lang.String path)` siehe SyntaxElement::getValue()
`protected java.lang.String` `getValueOfDE​(java.lang.String path, int zero)`
`protected void` `init​(org.w3c.dom.Node ref, java.lang.String path, char predelim0, char predelim1, java.lang.StringBuffer res, int fullResLen, org.w3c.dom.Document syntax, java.util.Hashtable<java.lang.String,​java.lang.String> predefs, java.util.Hashtable<java.lang.String,​java.lang.String> valids)`
`protected void` `init​(org.w3c.dom.Node ref, java.lang.String path, org.w3c.dom.Document syntax)`
`protected abstract SyntaxElement` `parseAndAppendNewElement​(org.w3c.dom.Node ref, java.lang.String path, char predelim, int idx, java.lang.StringBuffer res, int fullResLen, org.w3c.dom.Document syntax, java.util.Hashtable<java.lang.String,​java.lang.String> predefs, java.util.Hashtable<java.lang.String,​java.lang.String> valids)` siehe SyntaxElement::parseElementList()
`protected boolean` `propagateValue​(java.lang.String destPath, java.lang.String value, boolean tryToCreate, boolean allowOverwrite)` siehe SyntaxElement::propagateValue()
`void` `setParent​(SyntaxElement parent)`
`void` `setSyntaxIdx​(int syntaxIdx)`
`protected boolean` `storeValidValueInDE​(java.lang.String destPath, java.lang.String value)`
`java.lang.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 Detail

#### MultipleSyntaxElements

    protected MultipleSyntaxElements​(org.w3c.dom.Node ref,
                                     java.lang.String path,
                                     org.w3c.dom.Document syntax)

anlegen eines neuen syntaxelementarrays fuer ein syntaxelement; ref ist eine xml-node-referenz auf das syntaxelement

#### MultipleSyntaxElements

    protected MultipleSyntaxElements​(org.w3c.dom.Node ref,
                                     java.lang.String path,
                                     char predelim0,
                                     char predelim1,
                                     java.lang.StringBuffer res,
                                     int fullResLen,
                                     org.w3c.dom.Document syntax,
                                     java.util.Hashtable<java.lang.String,​java.lang.String> predefs,
                                     java.util.Hashtable<java.lang.String,​java.lang.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 Detail

#### createAndAppendNewElement

    protected abstract SyntaxElement createAndAppendNewElement​(org.w3c.dom.Node ref,
                                                               java.lang.String path,
                                                               int idx,
                                                               org.w3c.dom.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​(org.w3c.dom.Node ref,
                                                              java.lang.String path,
                                                              char predelim,
                                                              int idx,
                                                              java.lang.StringBuffer res,
                                                              int fullResLen,
                                                              org.w3c.dom.Document syntax,
                                                              java.util.Hashtable<java.lang.String,​java.lang.String> predefs,
                                                              java.util.Hashtable<java.lang.String,​java.lang.String> valids)

siehe SyntaxElement::parseElementList()

#### init

    protected void init​(org.w3c.dom.Node ref,
                        java.lang.String path,
                        org.w3c.dom.Document syntax)

#### propagateValue

    protected boolean propagateValue​(java.lang.String destPath,
                                     java.lang.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​(java.lang.String destPath,
                                          java.lang.String value)

#### getValueOfDE

    protected java.lang.String getValueOfDE​(java.lang.String path)

siehe SyntaxElement::getValue()

#### getValueOfDE

    protected java.lang.String getValueOfDE​(java.lang.String path,
                                            int zero)

#### getElement

    protected SyntaxElement getElement​(java.lang.String path)

#### validateOneElement

    protected void validateOneElement​(SyntaxElement elem,
                                      int idx)

#### validate

    protected void validate()

#### addElement

    public void addElement​(SyntaxElement x)

#### getElements

    public java.util.List<SyntaxElement> getElements()

#### getPath

    public java.lang.String getPath()

#### getName

    protected java.lang.String getName()

#### getType

    protected java.lang.String getType()

#### enumerateSegs

    protected int enumerateSegs​(int startValue,
                                boolean allowOverwrite)

#### init

    protected void init​(org.w3c.dom.Node ref,
                        java.lang.String path,
                        char predelim0,
                        char predelim1,
                        java.lang.StringBuffer res,
                        int fullResLen,
                        org.w3c.dom.Document syntax,
                        java.util.Hashtable<java.lang.String,​java.lang.String> predefs,
                        java.util.Hashtable<java.lang.String,​java.lang.String> valids)

#### extractValues

    protected void extractValues​(java.util.Hashtable<java.lang.String,​java.lang.String> values)

siehe SyntaxElement.fillValues()

#### checkSegSeq

    protected int checkSegSeq​(int value)

#### toString

    public java.lang.String toString​(int zero)

#### getElementPaths

    public void getElementPaths​(java.util.Properties p,
                                int[] segref,
                                int[] degref,
                                int[] deref)

#### destroy

    protected void destroy()