de.bsvrz.kex.tls.osi2osi3.osi2.api
Class AbstractDataLinkLayer

java.lang.Object
  extended by de.bsvrz.kex.tls.osi2osi3.osi2.api.AbstractDataLinkLayer
All Implemented Interfaces:
DataLinkLayer
Direct Known Subclasses:
AbstractTc57, Client, Server

public abstract class AbstractDataLinkLayer
extends Object
implements DataLinkLayer

Klasse mit Default-Implementierungen einzelner Methoden der Schnittstelle für Protokolle der Sicherungsschicht (OSI 2).

Author:
Kappich Systemberatung

Nested Class Summary
static class AbstractDataLinkLayer.Link
           
 
Constructor Summary
AbstractDataLinkLayer()
           
 
Method Summary
 void addEventListener(DataLinkLayerListener dataLinkLayerListener)
           
protected  boolean allowConnection(List<AbstractDataLinkLayer.Link> links)
          Überprüft ob eine Verbindung erlaubt ist.
protected  boolean allowConnection(List<AbstractDataLinkLayer.Link> links, Properties properties)
          Überprüft ob eine Verbindung erlaubt ist.
protected  void checkConnection(List<AbstractDataLinkLayer.Link> links, Properties properties)
          Überprüft, ob die Verbindung zulässig ist.
protected abstract  String getDefaultProperty(String name)
           
 int getLocalAddress()
          Bestimmt die OSI2-Adresse bzw.
 String getProperty(String name)
          Bestimmt den Wert eines bestimmten Protokoll-Parameters.
protected  void notifyEvent(DataLinkLayer.Link link, DataLinkLayerEvent.Type type, Object data)
           
protected  void notifyEvent(DataLinkLayerEvent event)
           
 void removeEventListener(DataLinkLayerListener dataLinkLayerListener)
           
 void setLocalAddress(int port)
          Setzt die OSI2-Adresse bzw.
 void setProperties(Properties properties)
          Setzt einen neuen Satz von Protokoll-Parametern.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface de.bsvrz.kex.tls.osi2osi3.osi2.api.DataLinkLayer
abort, createLink, getMaximumDataSize, isStarted, setDavConnection, shutdown, start
 

Constructor Detail

AbstractDataLinkLayer

public AbstractDataLinkLayer()
Method Detail

getDefaultProperty

protected abstract String getDefaultProperty(String name)

getProperty

public String getProperty(String name)
Description copied from interface: DataLinkLayer
Bestimmt den Wert eines bestimmten Protokoll-Parameters.

Specified by:
getProperty in interface DataLinkLayer
Parameters:
name - Name des Protokoll-Parameters.
Returns:
Wert des Protokoll-Parameters.

setProperties

public void setProperties(Properties properties)
Description copied from interface: DataLinkLayer
Setzt einen neuen Satz von Protokoll-Parametern. Diese dienen auch als Defaultwerte für die Verbindungsparameter.

Specified by:
setProperties in interface DataLinkLayer
Parameters:
properties - Neue Verbindungsparameter.
See Also:
DataLinkLayer.Link.getProperty(java.lang.String)

addEventListener

public final void addEventListener(DataLinkLayerListener dataLinkLayerListener)
Specified by:
addEventListener in interface DataLinkLayer

removeEventListener

public final void removeEventListener(DataLinkLayerListener dataLinkLayerListener)
Specified by:
removeEventListener in interface DataLinkLayer

notifyEvent

protected final void notifyEvent(DataLinkLayerEvent event)

notifyEvent

protected final void notifyEvent(DataLinkLayer.Link link,
                                 DataLinkLayerEvent.Type type,
                                 Object data)

setLocalAddress

public void setLocalAddress(int port)
Description copied from interface: DataLinkLayer
Setzt die OSI2-Adresse bzw. Portnummer des eigenen Kommunikationsendpunkts.

Specified by:
setLocalAddress in interface DataLinkLayer
Parameters:
port - Eigene OSI2-Adresse bzw. Portnummer.

getLocalAddress

public int getLocalAddress()
Description copied from interface: DataLinkLayer
Bestimmt die OSI2-Adresse bzw. Portnummer des eigenen Kommunikationsendpunkts.

Specified by:
getLocalAddress in interface DataLinkLayer
Returns:
Eigene OSI2-Adresse bzw. Portnummer.

checkConnection

protected void checkConnection(List<AbstractDataLinkLayer.Link> links,
                               Properties properties)
Überprüft, ob die Verbindung zulässig ist. Die Secondary Adresse 1-199 und 255 ist immer zulässig, die Adressen 200-254 sind nur zulässig wenn Parameter "secondary.adressen200-254Akzeptieren" gesetzt ist. Sollte die Verbindung nicht zulässig sein, wird eine Debug Ausgabe erzeugt.

Parameters:
links - Liste mit allen Links/Verbindungen
properties - Neue Properties

allowConnection

protected boolean allowConnection(List<AbstractDataLinkLayer.Link> links)
Überprüft ob eine Verbindung erlaubt ist. Normalerweise sind die Secondary-Adressen von 1-199 und 255 erlaubt. Mithilfe des Parameters "secondary.adressen200-254Akzeptieren" können auch die Adressen 1-255 zugelassen werden.

Parameters:
links - Liste mit allen Verbindungen
Returns:
true: Die Verbindung darf aufgebaut werden.
false: Es darf kein Telegram Austausch stattfinden.

allowConnection

protected boolean allowConnection(List<AbstractDataLinkLayer.Link> links,
                                  Properties properties)
Überprüft ob eine Verbindung erlaubt ist. Normalerweise sind die Secondary-Adressen von 1-199 und 255 erlaubt. Mithilfe des Parameters "secondary.adressen200-254Akzeptieren" können auch die Adressen 1-255 zugelassen werden.

Parameters:
links - Liste mit allen Verbindungen
properties - Neue Einstellungen
Returns:
true: Die Verbindung darf aufgebaut werden.
false: Es darf kein Telegram Austausch stattfinden.