インタフェース HsmsGsCommunicator

すべてのスーパーインタフェース:
java.lang.AutoCloseable, java.io.Closeable, HsmsLogObservable, HsmsMessagePassThroughObservable, OpenAndCloseable, SecsLogObservable, SecsMessagePassThroughObservable

public interface HsmsGsCommunicator
extends OpenAndCloseable, HsmsMessagePassThroughObservable, HsmsLogObservable
This interface is implementation of HSMS-GS (SEMI-E37.2).
  • メソッドの詳細

    • newInstance

      static HsmsGsCommunicator newInstance​(HsmsGsCommunicatorConfig config)
      create new HSMS-GS-Communicator instance.
      パラメータ:
      config - the HSMS-GS config
      戻り値:
      new HSMS-GS-Communicator instance
    • open

      static HsmsGsCommunicator open​(HsmsGsCommunicatorConfig config) throws java.io.IOException
      Create new HSMS-GS-Communicator instance and OpenAndCloseable.open().
      パラメータ:
      config - the HSMS-GS config
      戻り値:
      new HSMS-GS-Communicator instance
      例外:
      java.io.IOException - if open failed
    • getSessions

      @Deprecated default java.util.Set<HsmsSession> getSessions()
      推奨されていません。
      Returns HsmsSessions.
      戻り値:
      HsmsSessions
    • getHsmsSessions

      java.util.Set<HsmsSession> getHsmsSessions()
      Returns HsmsSessions.
      戻り値:
      HsmsSessions
    • getSession

      @Deprecated default HsmsSession getSession​(int sessionId) throws HsmsGsUnknownSessionIdException
      推奨されていません。
      Return Session by Id.
      パラメータ:
      sessionId - the Session-ID
      戻り値:
      Session
      例外:
      HsmsGsUnknownSessionIdException - if Session-ID unknown
    • getHsmsSession

      HsmsSession getHsmsSession​(int sessionId) throws HsmsGsUnknownSessionIdException
      Return HsmsSession by Id.
      パラメータ:
      sessionId - the Session-ID
      戻り値:
      HsmsSession
      例外:
      HsmsGsUnknownSessionIdException - if Session-ID unknown
    • existSession

      default boolean existSession​(int sessionId)
      Returns true if exist.
      パラメータ:
      sessionId - the Session-ID
      戻り値:
      true if exist.
    • existHsmsSession

      boolean existHsmsSession​(int sessionId)
      Returns true if exist.
      パラメータ:
      sessionId - the Session-ID
      戻り値:
      true if exist.
    • optionalHsmsSession

      java.util.Optional<HsmsSession> optionalHsmsSession​(int sessionId)
      Returns Optional of HsmsSession.

      Optional is present if exist HsmsSession, otherwise empty.

      パラメータ:
      sessionId - the SESSION-ID
      戻り値:
      Optional of HsmsSession
    • addSecsMessageReceiveBiListener

      boolean addSecsMessageReceiveBiListener​(SecsMessageReceiveBiListener biListener)
      Add Listener to receive Primary-Message.

      This Listener not receive Reply-Message.

      パラメータ:
      biListener - Not accept null
      戻り値:
      true if add success
    • removeSecsMessageReceiveBiListener

      boolean removeSecsMessageReceiveBiListener​(SecsMessageReceiveBiListener biListener)
      Remove Listener.
      パラメータ:
      biListener - Not accept null
      戻り値:
      true if remove success
    • addHsmsMessageReceiveBiListener

      boolean addHsmsMessageReceiveBiListener​(HsmsMessageReceiveBiListener biListener)
      Add Listener to receive Primary-Message.

      This Listener not receive Reply-Message.

      パラメータ:
      biListener - Not accept null
      戻り値:
      true if add success
    • removeHsmsMessageReceiveBiListener

      boolean removeHsmsMessageReceiveBiListener​(HsmsMessageReceiveBiListener biListener)
      Remove Listener.
      パラメータ:
      biListener - Not accept null
      戻り値:
      true if remove success
    • addSecsCommunicatableStateChangeBiListener

      boolean addSecsCommunicatableStateChangeBiListener​(SecsCommunicatableStateChangeBiListener biListener)
      Add Listener to get communicate-state-changed.

      Blocking-Listener.
      Pass through quickly.

      パラメータ:
      biListener - Not accept null
      戻り値:
      true if add success
    • removeSecsCommunicatableStateChangeBiListener

      boolean removeSecsCommunicatableStateChangeBiListener​(SecsCommunicatableStateChangeBiListener biListener)
      Remove Listener.
      パラメータ:
      biListener - Not accept null
      戻り値:
      true if remove success
    • addHsmsCommunicateStateChangeBiListener

      boolean addHsmsCommunicateStateChangeBiListener​(HsmsCommunicateStateChangeBiListener biListener)
      Add Listener to get communicate-state-changed.

      Blocking-Listener.
      Pass through quickly.

      パラメータ:
      biListener - the state change listener
      戻り値:
      true if add success
      例外:
      java.lang.NullPointerException - if biListener is null
    • removeHsmsCommunicateStateChangeBiListener

      boolean removeHsmsCommunicateStateChangeBiListener​(HsmsCommunicateStateChangeBiListener biListener)
      Remove listener.
      パラメータ:
      biListener - the state change listener
      戻り値:
      true if remove success
      例外:
      java.lang.NullPointerException - if biListener is null
    • send

      default java.util.Optional<SecsMessage> send​(int sessionId, int strm, int func, boolean wbit) throws SecsSendMessageException, SecsWaitReplyMessageException, SecsException, java.lang.InterruptedException
      send shortcut.
      パラメータ:
      sessionId - the Session-ID
      strm - SECS-II-Stream-Number
      func - SECS-II-Function-Number
      wbit - SECS-II-WBit, set true if w-bit is 1
      戻り値:
      Reply-Message if exist
      例外:
      SecsSendMessageException - if send failed
      SecsWaitReplyMessageException - if receive message failed, e.g. Timeout-T3
      SecsException - if SECS communicate failed
      java.lang.InterruptedException - if interrupted
    • send

      java.util.Optional<SecsMessage> send​(int sessionId, int strm, int func, boolean wbit, Secs2 secs2) throws SecsSendMessageException, SecsWaitReplyMessageException, SecsException, java.lang.InterruptedException
      send shortcut
      パラメータ:
      sessionId - the Session-ID
      strm - SECS-II-Stream-Number
      func - SECS-II-Function-Number
      wbit - SECS-II-WBit, set true if w-bit is 1
      secs2 - SECS-II-data, Not accept null
      戻り値:
      Reply-Message if exist
      例外:
      SecsSendMessageException - if send failed
      SecsWaitReplyMessageException - if receive message failed, e.g. Timeout-T3
      SecsException - if SECS communicate failed
      java.lang.InterruptedException - if interrupted
    • send

      default java.util.Optional<SecsMessage> send​(int sessionId, SecsMessage primaryMsg, int strm, int func, boolean wbit) throws SecsSendMessageException, SecsWaitReplyMessageException, SecsException, java.lang.InterruptedException
      send
      パラメータ:
      sessionId - the Session-ID
      primaryMsg - the primary message
      strm - SECS-II-Stream-Number
      func - SECS-II-Function-Number
      wbit - SECS-II-WBit, set true if w-bit is 1
      戻り値:
      Reply-Message if exist
      例外:
      SecsSendMessageException - if send failed
      SecsWaitReplyMessageException - if receive message failed, e.g. Timeout-T3
      SecsException - if SECS communicate failed
      java.lang.InterruptedException - if interrupted
    • send

      java.util.Optional<SecsMessage> send​(int sessionId, SecsMessage primaryMsg, int strm, int func, boolean wbit, Secs2 secs2) throws SecsSendMessageException, SecsWaitReplyMessageException, SecsException, java.lang.InterruptedException
      send shortcut.
      パラメータ:
      sessionId - the Session-ID
      primaryMsg - the primary message
      strm - SECS-II-Stream-Number
      func - SECS-II-Function-Number
      wbit - SECS-II-WBit, set true if w-bit is 1
      secs2 - SECS-II-data, Not accept null
      戻り値:
      Reply-Message if exist
      例外:
      SecsSendMessageException - if send failed
      SecsWaitReplyMessageException - if receive message failed, e.g. Timeout-T3
      SecsException - if SECS communicate failed
      java.lang.InterruptedException - if interrupted
    • send

      default java.util.Optional<SecsMessage> send​(int sessionId, SmlMessage sml) throws SecsSendMessageException, SecsWaitReplyMessageException, SecsException, java.lang.InterruptedException
      send shortcut
      パラメータ:
      sessionId - the Session-ID
      sml - the SML Message
      戻り値:
      Reply-Message if exist
      例外:
      SecsSendMessageException - if send failed
      SecsWaitReplyMessageException - if receive message failed, e.g. Timeout-T3
      SecsException - if SECS communicate failed
      java.lang.InterruptedException - if interrupted
    • send

      default java.util.Optional<SecsMessage> send​(int sessionId, SecsMessage primaryMsg, SmlMessage sml) throws SecsSendMessageException, SecsWaitReplyMessageException, SecsException, java.lang.InterruptedException
      send shortcut.
      パラメータ:
      sessionId - the Session-ID
      primaryMsg - the primary message
      sml - the SML Message
      戻り値:
      Reply-Message if exist
      例外:
      SecsSendMessageException - if send failed
      SecsWaitReplyMessageException - if receive message failed, e.g. Timeout-T3
      SecsException - if SECS communicate failed
      java.lang.InterruptedException - if interrupted