Class Haken

All Implemented Interfaces:
Dodekaid<Haken>, Invertible<Haken>, RelWertFolge, Translet.Parseable<Haken>

public class Haken extends Entity<Haken> implements Dodekaid<Haken>, RelWertFolge
The four basic forms of hooks/Haken, based on RelWert. It is an "agebraic" type, i.e. immutable and all instances are constructed once for ever. A "Haken" / "hook" is a permutation of all three RelWert, which is NOT in a straight line. So there are four possible forms. Each is represented by two(2) RelWert, which must differ, and which define the first and the last position. One of these must be "M", to avoid a straight line. The value in the middle of the "hook" ist the vaule not mentioned. There are parsers for a "graphical" name and for the "German" name, which directly refer to the RelWert names:
     in catalog name in languge
        "de"    "symbolic"
       /       /                sequence of RelWert
      /       /    hook form    
       OM    \-       \           O-U-M
                       \/
       UM    /-         /\        U-O-M
                       /
       MO    -/         /         M-U-O
                      \/
       MU    -\        /\         M-O-U
                         \
   not hooks:
                     \            O-M-U
                      \
                          /       U-M-O
                         /
  
  • Field Details

    • catalog

      public static final EntityCatalog<Haken> catalog
      Catalog for hook instances by name.
    • OM

      public static final Haken OM
    • UM

      public static final Haken UM
    • MO

      public static final Haken MO
    • MU

      public static final Haken MU
  • Method Details

    • getFirst

      public RelWert getFirst()
      Return the first RelWert in this hook.
    • getMiddle

      public RelWert getMiddle()
      Return the middle RelWert in this hook. (This is the one NOT mentioned in the hook's name.
    • getLast

      public RelWert getLast()
      Return the last RelWert in this hook.
    • inv

      public Haken inv()
      Return the invers of a Haken symbol:
             MO   MU   OM   UM
             MU   MO   UM   OM 
        
      Specified by:
      inv in interface Dodekaid<Haken>
      Specified by:
      inv in interface Invertible<Haken>
    • retro

      public Haken retro()
      Return the retrograde of a Haken symbol:
             MO   MU   OM   UM
             OM   UM   MO   MU 
        
      Specified by:
      retro in interface Dodekaid<Haken>
    • retroInv

      public Haken retroInv()
      Return the retrograde inverse of a haken symbol:
             MO   MU   OM   UM
             UM   OM   MU   MO 
        
      Specified by:
      retroInv in interface Dodekaid<Haken>
    • get

      public static Haken get(RelWert first, RelWert last)
      return the Haken with the given first and last value.
    • toString

      public String toString()
      Return the Germanlanguage name ("MO", "MU", "OM, "UM").
      Overrides:
      toString in class Entity<Haken>
    • length

      public int length()
      Length is always == 3 when a haken is seen as a RelWertFolge.
      Specified by:
      length in interface RelWertFolge
    • firstRelWert

      public RelWert firstRelWert()
      The first value when a haken is seen as a RelWertFolge.
      Specified by:
      firstRelWert in interface RelWertFolge
    • lastRelWert

      public RelWert lastRelWert()
      The last value when a haken is seen as a RelWertFolge.
      Specified by:
      lastRelWert in interface RelWertFolge