Class MultipleSyntaxElements

java.lang.Object
org.kapott.hbci.protocol.MultipleSyntaxElements
Direct Known Subclasses:
MultipleDEGs, MultipleDEs, MultipleSEGs, MultipleSFs

public abstract class MultipleSyntaxElements extends Object
  • Field Details

    • elements

      private List<SyntaxElement> elements
    • path

      private String path
    • name

      private String name
    • type

      private String type
    • minnum

      private int minnum
    • maxnum

      private int maxnum
    • syntaxIdx

      private int syntaxIdx
    • syntax

      private Document syntax
    • ref

      private Node ref
    • parent

      private SyntaxElement parent
  • 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()
    • initData

      private void initData(Node ref, String path, Document syntax)
    • 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)
    • initData

      private void initData(Node ref, String path, char predelim0, char predelim1, StringBuffer res, int fullResLen, Document syntax, Hashtable<String,String> predefs, Hashtable<String,String> valids)
    • 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)
    • containsOnly

      private boolean containsOnly(String s, char c)
      Prueft, ob der Text s nur aus dem Zeichen c besteht.
      Parameters:
      s - der Text.
      c - das Zeichen.
      Returns:
      true, wenn der Text nur dieses Zeichen enthaelt.
    • destroy

      protected void destroy()