Skip to content
Snippets Groups Projects
Select Git revision
  • e44eb189fb451eec29a4b555153df79f482c75ed
  • dev default protected
  • main protected
  • feature/ros-java-integration
4 results

handler.mustache

Blame
  • handler.mustache 6.90 KiB
    aspect RagConnectHandler {
    {{#Handlers}}
      {{#InUse}}
      private {{ClassName}} {{rootNodeName}}.{{fieldName}} = {{{constructionSnippet}}};
      {{#hasRootTypeComponents}}inh {{ClassName}} ASTNode.{{attributeName}}();{{/hasRootTypeComponents}}
      {{#rootTypeComponents}}
      eq {{rootNodeName}}.get{{Name}}().{{attributeName}}() = {{fieldName}};
      {{/rootTypeComponents}}
      syn {{ClassName}} {{rootNodeName}}.{{attributeName}}() = {{fieldName}};
      {{/InUse}}
    {{/Handlers}}
      public void {{rootNodeName}}.{{closeMethodName}}() {
        {{#Handlers}}
        {{#InUse}}{{fieldName}}.close();{{/InUse}}
        {{/Handlers}}
        {{#configIncrementalOptionActive}}
        trace().setReceiver({{observerInstanceSingletonMethodName}}().oldReceiver);
        {{observerInstanceResetMethodName}}();
        {{/configIncrementalOptionActive}}
      }
    
    {{#javaHandler}}
      {{#InUse}}
      public RagConnectToken {{rootNodeName}}.{{registerConsumerMethodName}}(String path, java.util.function.Consumer<byte[]> consumer) {
        return {{fieldName}}.registerConsumer(path, consumer);
      }
      public boolean {{rootNodeName}}.{{pushMethodName}}(String uriString, byte[] data) {
        return {{fieldName}}.push(uriString, data);
      }
      {{> JavaHandler}}
      {{/InUse}}
    {{/javaHandler}}
    
    {{#mqttHandler}}
      {{#InUse}}
      public void {{rootNodeName}}.{{setupWaitUntilReadyMethodName}}(long time, java.util.concurrent.TimeUnit unit) {
        {{fieldName}}.setupWaitUntilReady(time, unit);
      }
      {{> MqttHandler}}
      {{/InUse}}
    {{/mqttHandler}}
    
    {{#restHandler}}
      {{#InUse}}
      {{> RestHandler}}
      {{/InUse}}
    {{/restHandler}}
    
    {{#restClientHandler}}
      {{#InUse}}
      {{> RestClientHandler}}
      {{/InUse}}
    {{/restClientHandler}}
    
      class RagConnectToken {
        static java.util.concurrent.atomic.AtomicLong counter = new java.util.concurrent.atomic.AtomicLong(0);
        final long id;
        final java.net.URI uri;
        final String entityName;
        public RagConnectToken(java.net.URI uri, String entityName) {
          this.id = counter.incrementAndGet();
          this.uri = uri;
          this.entityName = entityName;
        }
      }
      class RagConnectTokenMap {
        java.util.Map<ASTNode, java.util.List<RagConnectToken>> connectTokensSend = new java.util.HashMap<>();
        java.util.Map<ASTNode, java.util.List<RagConnectToken>> connectTokensReceive = new java.util.HashMap<>();
        void add(ASTNode node, boolean isReceive, RagConnectToken token) {
          java.util.Map<ASTNode, java.util.List<RagConnectToken>> mapOfTokens = (isReceive ? connectTokensReceive : connectTokensSend);