You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by cd...@apache.org on 2019/06/25 07:24:49 UTC

[plc4x] branch develop updated: - Removed the parts that were moved to the external plc4x-build-tools repository.

This is an automated email from the ASF dual-hosted git repository.

cdutz pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git


The following commit(s) were added to refs/heads/develop by this push:
     new 0a1ef34  - Removed the parts that were moved to the external plc4x-build-tools repository.
0a1ef34 is described below

commit 0a1ef3441035f3b06e3b709b1378c307d0cdcc26
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Tue Jun 25 09:24:41 2019 +0200

    - Removed the parts that were moved to the external plc4x-build-tools repository.
---
 .../code-generation/external/language-base/pom.xml |  42 -----
 .../codegenerator/language/LanguageOutput.java     |  40 -----
 .../external/plc4x-maven-plugin/pom.xml            | 178 ---------------------
 .../plc4x/plugins/codegenerator/GenerateMojo.java  | 140 ----------------
 sandbox/code-generation/external/pom.xml           | 113 -------------
 .../code-generation/external/protocol-base/pom.xml |  43 -----
 .../plugins/codegenerator/protocol/Protocol.java   |  44 -----
 .../code-generation/external/types-base/pom.xml    |  35 ----
 .../codegenerator/types/definitions/Argument.java  |  42 -----
 .../types/definitions/ComplexTypeDefinition.java   |  75 ---------
 .../DiscriminatedComplexTypeDefinition.java        |  26 ---
 .../types/definitions/EnumTypeDefinition.java      |  48 ------
 .../types/definitions/TypeDefinition.java          |  30 ----
 .../types/exceptions/GenerationException.java      |  32 ----
 .../codegenerator/types/fields/ArrayField.java     |  40 -----
 .../codegenerator/types/fields/ConstField.java     |  30 ----
 .../types/fields/DiscriminatorField.java           |  30 ----
 .../plugins/codegenerator/types/fields/Field.java  |  27 ----
 .../codegenerator/types/fields/ImplicitField.java  |  34 ----
 .../codegenerator/types/fields/OptionalField.java  |  33 ----
 .../codegenerator/types/fields/PropertyField.java  |  26 ---
 .../codegenerator/types/fields/ReservedField.java  |  30 ----
 .../codegenerator/types/fields/SimpleField.java    |  28 ----
 .../codegenerator/types/fields/SwitchField.java    |  36 -----
 .../codegenerator/types/fields/TypedField.java     |  28 ----
 .../types/references/ComplexTypeReference.java     |  26 ---
 .../types/references/SimpleTypeReference.java      |  37 -----
 .../references/SimpleVarLengthTypeReference.java   |  24 ---
 .../types/references/TypeReference.java            |  24 ---
 .../codegenerator/types/terms/BinaryTerm.java      |  51 ------
 .../codegenerator/types/terms/BooleanLiteral.java  |  39 -----
 .../plugins/codegenerator/types/terms/Literal.java |  23 ---
 .../codegenerator/types/terms/NullLiteral.java     |  32 ----
 .../codegenerator/types/terms/NumericLiteral.java  |  39 -----
 .../codegenerator/types/terms/StringLiteral.java   |  39 -----
 .../plugins/codegenerator/types/terms/Term.java    |  26 ---
 .../codegenerator/types/terms/TernaryTerm.java     |  57 -------
 .../codegenerator/types/terms/UnaryTerm.java       |  45 ------
 .../codegenerator/types/terms/VariableLiteral.java |  75 ---------
 39 files changed, 1767 deletions(-)

diff --git a/sandbox/code-generation/external/language-base/pom.xml b/sandbox/code-generation/external/language-base/pom.xml
deleted file mode 100644
index 7980f7a..0000000
--- a/sandbox/code-generation/external/language-base/pom.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
-  -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.plc4x.plugins</groupId>
-    <artifactId>plc4x-code-generaton-external</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
-  </parent>
-
-  <artifactId>plc4x-code-generation-language-base</artifactId>
-
-  <name>Sandbox: Code Generation: Language Template Base</name>
-  <description>Base stuff for building language templates</description>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.plc4x.plugins</groupId>
-      <artifactId>plc4x-code-generation-types-base</artifactId>
-      <version>1.0.0-SNAPSHOT</version>
-    </dependency>
-  </dependencies>
-</project>
\ No newline at end of file
diff --git a/sandbox/code-generation/external/language-base/src/main/java/org/apache/plc4x/plugins/codegenerator/language/LanguageOutput.java b/sandbox/code-generation/external/language-base/src/main/java/org/apache/plc4x/plugins/codegenerator/language/LanguageOutput.java
deleted file mode 100644
index c190a6f..0000000
--- a/sandbox/code-generation/external/language-base/src/main/java/org/apache/plc4x/plugins/codegenerator/language/LanguageOutput.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
- */
-
-package org.apache.plc4x.plugins.codegenerator.language;
-
-import org.apache.plc4x.plugins.codegenerator.types.definitions.ComplexTypeDefinition;
-import org.apache.plc4x.plugins.codegenerator.types.exceptions.GenerationException;
-
-import java.io.File;
-import java.util.Map;
-
-public interface LanguageOutput {
-
-    /**
-     * The name of the template is what the plugin will use to select the correct language module.
-     *
-     * @return the name of the template.
-     */
-    String getName();
-
-    void generate(File outputDir, String packageName, Map<String, ComplexTypeDefinition> types)
-        throws GenerationException;
-
-}
diff --git a/sandbox/code-generation/external/plc4x-maven-plugin/pom.xml b/sandbox/code-generation/external/plc4x-maven-plugin/pom.xml
deleted file mode 100644
index 33d3709..0000000
--- a/sandbox/code-generation/external/plc4x-maven-plugin/pom.xml
+++ /dev/null
@@ -1,178 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
-  -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.plc4x.plugins</groupId>
-    <artifactId>plc4x-code-generaton-external</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
-  </parent>
-
-  <artifactId>plc4x-maven-plugin</artifactId>
-  <packaging>maven-plugin</packaging>
-
-  <name>Sandbox: Code Generation: PLC4X Maven Plugin</name>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.plc4x.plugins</groupId>
-      <artifactId>plc4x-code-generation-language-base</artifactId>
-      <version>1.0.0-SNAPSHOT</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.plc4x.plugins</groupId>
-      <artifactId>plc4x-code-generation-protocol-base</artifactId>
-      <version>1.0.0-SNAPSHOT</version>
-    </dependency>
-
-    <dependency>
-      <groupId>commons-beanutils</groupId>
-      <artifactId>commons-beanutils</artifactId>
-      <version>1.9.3</version>
-    </dependency>
-    <dependency>
-      <groupId>commons-io</groupId>
-      <artifactId>commons-io</artifactId>
-      <version>2.6</version>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-plugin-api</artifactId>
-      <version>${maven.version}</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-core</artifactId>
-      <version>${maven.version}</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-artifact</artifactId>
-      <version>${maven.version}</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.plugin-tools</groupId>
-      <artifactId>maven-plugin-annotations</artifactId>
-      <version>3.6.0</version>
-      <scope>provided</scope>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-compat</artifactId>
-      <version>${maven.version}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.12</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.plugin-testing</groupId>
-      <artifactId>maven-plugin-testing-harness</artifactId>
-      <version>3.3.0</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-      </plugin>
-
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-plugin-plugin</artifactId>
-        <version>3.6.0</version>
-        <configuration>
-          <!-- <goalPrefix>maven-archetype-plugin</goalPrefix> -->
-          <!--skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound-->
-        </configuration>
-        <executions>
-          <execution>
-            <id>mojo-descriptor</id>
-            <phase>process-classes</phase>
-            <goals>
-              <goal>descriptor</goal>
-            </goals>
-          </execution>
-          <execution>
-            <id>help-goal</id>
-            <phase>generate-sources</phase>
-            <goals>
-              <goal>helpmojo</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-
-  <profiles>
-    <profile>
-      <id>run-its</id>
-      <build>
-
-        <plugins>
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-invoker-plugin</artifactId>
-            <version>3.1.0</version>
-            <configuration>
-              <debug>true</debug>
-              <cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
-              <pomIncludes>
-                <pomInclude>*/pom.xml</pomInclude>
-              </pomIncludes>
-              <postBuildHookScript>verify</postBuildHookScript>
-              <localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath>
-              <settingsFile>src/it/settings.xml</settingsFile>
-              <goals>
-                <goal>clean</goal>
-                <goal>test-compile</goal>
-              </goals>
-            </configuration>
-            <executions>
-              <execution>
-                <id>integration-test</id>
-                <goals>
-                  <goal>install</goal>
-                  <goal>integration-test</goal>
-                  <goal>verify</goal>
-                </goals>
-              </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-  </profiles>
-</project>
diff --git a/sandbox/code-generation/external/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/GenerateMojo.java b/sandbox/code-generation/external/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/GenerateMojo.java
deleted file mode 100644
index 1d11d3f..0000000
--- a/sandbox/code-generation/external/plc4x-maven-plugin/src/main/java/org/apache/plc4x/plugins/codegenerator/GenerateMojo.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-package org.apache.plc4x.plugins.codegenerator;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.plugin.AbstractMojo;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugins.annotations.LifecyclePhase;
-import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.plugins.annotations.Parameter;
-import org.apache.maven.plugins.annotations.ResolutionScope;
-import org.apache.maven.project.MavenProject;
-import org.apache.plc4x.plugins.codegenerator.language.LanguageOutput;
-import org.apache.plc4x.plugins.codegenerator.types.definitions.ComplexTypeDefinition;
-import org.apache.plc4x.plugins.codegenerator.types.exceptions.GenerationException;
-import org.apache.plc4x.plugins.codegenerator.protocol.Protocol;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.*;
-
-/**
- * Generate the types, serializer and parser classes based on a DFDL shema.
- */
-@Mojo(name = "generate-driver",
-    defaultPhase = LifecyclePhase.GENERATE_SOURCES,
-    requiresDependencyResolution = ResolutionScope.COMPILE_PLUS_RUNTIME)
-public class GenerateMojo extends AbstractMojo {
-
-    @Parameter(defaultValue = "${project}", readonly = true, required = true)
-    private MavenProject project;
-
-    /**
-     * Where to generate the code.
-     */
-    @Parameter(defaultValue = "${project.build.directory}/generated-sources/plc4x/", required = true)
-    private File outputDir;
-
-    /**
-     * The name of the protocol module that will be used to generate the driver.
-     */
-    @Parameter(required = true)
-    private String protocolName;
-
-    /**
-     * The name of the language name that will be used to generate the driver.
-     */
-    @Parameter(required = true)
-    private String languageName;
-
-    public void execute()
-        throws MojoExecutionException {
-
-        // Make sure the output directory exists.
-        if (!outputDir.exists()) {
-            if (!outputDir.mkdirs()) {
-                throw new MojoExecutionException("Could not generate output directory " + outputDir.getAbsolutePath());
-            }
-        }
-
-        // Build a classloader that can access the projects classpath (read from dependencies)
-        ClassLoader moduleClassloader;
-        try {
-            Set<Artifact> artifacts = project.getArtifacts();
-            List<URL> classpathElements = new ArrayList<>(artifacts.size() + 1);
-            // Add the normal class output (needed for embedded schemas)
-            classpathElements.add(new File(project.getBuild().getOutputDirectory()).toURI().toURL());
-            // Add all the other artifacts (no matter what scope)
-            for (Artifact artifact : artifacts) {
-                classpathElements.add(artifact.getFile().toURI().toURL());
-            }
-            moduleClassloader = new URLClassLoader(
-                classpathElements.toArray(new URL[0]), GenerateMojo.class.getClassLoader());
-        } catch (MalformedURLException e) {
-            throw new MojoExecutionException(
-                "Error creating classloader for loading message format schema from module dependencies", e);
-        }
-
-        // Load the protocol module.
-        Protocol protocol = null;
-        ServiceLoader<Protocol> protocols = ServiceLoader.load(Protocol.class, moduleClassloader);
-        for (Protocol curProtocol : protocols) {
-            if(curProtocol.getName().equalsIgnoreCase(protocolName)) {
-                protocol = curProtocol;
-                break;
-            }
-        }
-        if(protocol == null) {
-            throw new MojoExecutionException(
-                "Unable to find protocol specification module '" + protocolName + "' on modules classpath");
-        }
-
-        // Load the language module.
-        LanguageOutput language = null;
-        ServiceLoader<LanguageOutput> languages = ServiceLoader.load(LanguageOutput.class, moduleClassloader);
-        for (LanguageOutput curLanguage : languages) {
-            if(curLanguage.getName().equalsIgnoreCase(languageName)) {
-                language = curLanguage;
-                break;
-            }
-        }
-        if(language == null) {
-            throw new MojoExecutionException(
-                "Unable to find language output module '" + languageName + "' on modules classpath");
-        }
-
-        try {
-            // Parse the type definitions.
-            Map<String, ComplexTypeDefinition> types = protocol.getTypeDefinitions();
-
-            // Generate output for the type definitions.
-            language.generate(outputDir, "org.apache.plc4x." + languageName.toLowerCase() +
-                "." + protocolName.toLowerCase(), types);
-        } catch (GenerationException e) {
-            getLog().error("Error generating sources", e);
-        }
-
-        // Add the generated sources to the project internally.
-        project.addCompileSourceRoot(outputDir.getPath());
-    }
-
-}
diff --git a/sandbox/code-generation/external/pom.xml b/sandbox/code-generation/external/pom.xml
deleted file mode 100644
index b15d1e7..0000000
--- a/sandbox/code-generation/external/pom.xml
+++ /dev/null
@@ -1,113 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
-  -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <!--
-    This is intentionally set to the apache parent as this way
-    we can release this module separately from the rest of the project
-  -->
-  <parent>
-    <groupId>org.apache</groupId>
-    <artifactId>apache</artifactId>
-    <version>21</version>
-    <relativePath/>
-  </parent>
-
-  <groupId>org.apache.plc4x.plugins</groupId>
-  <artifactId>plc4x-code-generaton-external</artifactId>
-  <version>1.0.0-SNAPSHOT</version>
-  <packaging>pom</packaging>
-
-  <name>Sandbox: Code Generation: External</name>
-  <description>This module groups all the modules that will be moved outside the core repository.</description>
-
-  <properties>
-    <maven.version>3.3.9</maven.version>
-    <java.version>1.8</java.version>
-  </properties>
-
-  <prerequisites>
-    <maven>${maven.version}</maven>
-  </prerequisites>
-
-  <modules>
-    <module>types-base</module>
-    <module>language-base</module>
-    <module>protocol-base</module>
-    <module>plc4x-maven-plugin</module>
-  </modules>
-
-  <build>
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <artifactId>maven-clean-plugin</artifactId>
-          <version>3.1.0</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-resources-plugin</artifactId>
-          <version>3.0.2</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-compiler-plugin</artifactId>
-          <version>3.8.0</version>
-          <configuration>
-            <source>${java.version}</source>
-            <target>${java.version}</target>
-            <testSource>${java.version}</testSource>
-            <testTarget>${java.version}</testTarget>
-          </configuration>
-        </plugin>
-        <plugin>
-          <artifactId>maven-plugin-plugin</artifactId>
-          <version>3.6.0</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-surefire-plugin</artifactId>
-          <version>2.22.1</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-jar-plugin</artifactId>
-          <version>3.0.2</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-install-plugin</artifactId>
-          <version>2.5.2</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-deploy-plugin</artifactId>
-          <version>2.8.2</version>
-        </plugin>
-        <plugin>
-          <artifactId>maven-invoker-plugin</artifactId>
-          <version>3.1.0</version>
-        </plugin>
-        <plugin>
-          <groupId>org.antlr</groupId>
-          <artifactId>antlr4-maven-plugin</artifactId>
-          <version>${antlr.version}</version>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-  </build>
-</project>
diff --git a/sandbox/code-generation/external/protocol-base/pom.xml b/sandbox/code-generation/external/protocol-base/pom.xml
deleted file mode 100644
index 1a58611..0000000
--- a/sandbox/code-generation/external/protocol-base/pom.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
-  -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.plc4x.plugins</groupId>
-    <artifactId>plc4x-code-generaton-external</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
-  </parent>
-
-  <artifactId>plc4x-code-generation-protocol-base</artifactId>
-
-  <name>Sandbox: Code Generation: Protocol Base</name>
-  <description>Base stuff for building protocols</description>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.plc4x.plugins</groupId>
-      <artifactId>plc4x-code-generation-types-base</artifactId>
-      <version>1.0.0-SNAPSHOT</version>
-    </dependency>
-  </dependencies>
-
-</project>
\ No newline at end of file
diff --git a/sandbox/code-generation/external/protocol-base/src/main/java/org/apache/plc4x/plugins/codegenerator/protocol/Protocol.java b/sandbox/code-generation/external/protocol-base/src/main/java/org/apache/plc4x/plugins/codegenerator/protocol/Protocol.java
deleted file mode 100644
index a55b5ad..0000000
--- a/sandbox/code-generation/external/protocol-base/src/main/java/org/apache/plc4x/plugins/codegenerator/protocol/Protocol.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
- */
-
-package org.apache.plc4x.plugins.codegenerator.protocol;
-
-import org.apache.plc4x.plugins.codegenerator.types.definitions.ComplexTypeDefinition;
-import org.apache.plc4x.plugins.codegenerator.types.exceptions.GenerationException;
-
-import java.util.Map;
-
-public interface Protocol {
-
-    /**
-     * The name of the protocol what the plugin will use to select the correct protocol module.
-     *
-     * @return the name of the protocol.
-     */
-    String getName();
-
-    /**
-     * Returns a map of complex type definitions for which code has to be generated.
-     *
-     * @return the Map of types that need to be generated.
-     * @throws GenerationException if anything goes wrong parsing.
-     */
-    Map<String, ComplexTypeDefinition> getTypeDefinitions() throws GenerationException;
-
-}
diff --git a/sandbox/code-generation/external/types-base/pom.xml b/sandbox/code-generation/external/types-base/pom.xml
deleted file mode 100644
index 03d30ec..0000000
--- a/sandbox/code-generation/external/types-base/pom.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
-  -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.plc4x.plugins</groupId>
-    <artifactId>plc4x-code-generaton-external</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
-  </parent>
-
-  <artifactId>plc4x-code-generation-types-base</artifactId>
-
-  <name>Sandbox: Code Generation: Base Types</name>
-  <description>Base used throughout the code-generation.</description>
-
-</project>
\ No newline at end of file
diff --git a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/definitions/Argument.java b/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/definitions/Argument.java
deleted file mode 100644
index 3564015..0000000
--- a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/definitions/Argument.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
- */
-
-package org.apache.plc4x.plugins.codegenerator.types.definitions;
-
-import org.apache.plc4x.plugins.codegenerator.types.references.TypeReference;
-
-public class Argument {
-
-    private final TypeReference type;
-    private final String name;
-
-    public Argument(TypeReference type, String name) {
-        this.type = type;
-        this.name = name;
-    }
-
-    public TypeReference getType() {
-        return type;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-}
diff --git a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/definitions/ComplexTypeDefinition.java b/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/definitions/ComplexTypeDefinition.java
deleted file mode 100644
index 81edc53..0000000
--- a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/definitions/ComplexTypeDefinition.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
- */
-
-package org.apache.plc4x.plugins.codegenerator.types.definitions;
-
-import org.apache.plc4x.plugins.codegenerator.types.fields.ConstField;
-import org.apache.plc4x.plugins.codegenerator.types.fields.Field;
-import org.apache.plc4x.plugins.codegenerator.types.fields.PropertyField;
-import org.apache.plc4x.plugins.codegenerator.types.fields.SimpleField;
-
-import java.util.List;
-
-public interface ComplexTypeDefinition extends TypeDefinition {
-
-    boolean isAbstract();
-
-    /**
-     * Get all fields no matter the type.
-     *
-     * @return all fields ;-)
-     */
-    List<Field> getFields();
-
-    /**
-     * Get only the fields which are of type SimpleField.
-     *
-     * @return all simple fields ;-)
-     */
-    List<SimpleField> getSimpleFields();
-
-    /**
-     * Get only the fields which are of type ConstField.
-     *
-     * @return all constant fields ;-)
-     */
-    List<ConstField> getConstFields();
-
-    /**
-     * Get only the fields which are of type SimpleField or OptionalField.
-     *
-     * @return all simple and optional fields ;-)
-     */
-    List<PropertyField> getPropertyFields();
-
-    /**
-     * In contrast to getFields, this also gets all property fields of any parent type.
-     *
-     * @return all simple fields including any parents simple fields
-     */
-    List<PropertyField> getAllPropertyFields();
-
-    /**
-     * Returns all protery fields defined by any parent type.
-     *
-     * @return all parent types simple fields.
-     */
-    List<PropertyField> getParentPropertyFields();
-
-}
diff --git a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/definitions/DiscriminatedComplexTypeDefinition.java b/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/definitions/DiscriminatedComplexTypeDefinition.java
deleted file mode 100644
index f547354..0000000
--- a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/definitions/DiscriminatedComplexTypeDefinition.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
- */
-
-package org.apache.plc4x.plugins.codegenerator.types.definitions;
-
-public interface DiscriminatedComplexTypeDefinition extends ComplexTypeDefinition {
-
-    String[] getDiscriminatorValues();
-
-}
diff --git a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/definitions/EnumTypeDefinition.java b/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/definitions/EnumTypeDefinition.java
deleted file mode 100644
index 9153988..0000000
--- a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/definitions/EnumTypeDefinition.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
- */
-
-package org.apache.plc4x.plugins.codegenerator.types.definitions;
-
-import java.util.List;
-
-public interface EnumTypeDefinition extends TypeDefinition {
-
-    TypeDefinition getBaseType();
-
-    List<EnumValue> getValues();
-
-    class EnumValue {
-        private final String name;
-        private final Object value;
-
-        public EnumValue(String name, Object value) {
-            this.name = name;
-            this.value = value;
-        }
-
-        public String getName() {
-            return name;
-        }
-
-        public Object getValue() {
-            return value;
-        }
-    }
-
-}
diff --git a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/definitions/TypeDefinition.java b/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/definitions/TypeDefinition.java
deleted file mode 100644
index 806436b..0000000
--- a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/definitions/TypeDefinition.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
- */
-
-package org.apache.plc4x.plugins.codegenerator.types.definitions;
-
-public interface TypeDefinition {
-
-    String getName();
-
-    Argument[] getParserArguments();
-
-    TypeDefinition getParentType();
-
-}
diff --git a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/exceptions/GenerationException.java b/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/exceptions/GenerationException.java
deleted file mode 100644
index c387df1..0000000
--- a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/exceptions/GenerationException.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
- */
-
-package org.apache.plc4x.plugins.codegenerator.types.exceptions;
-
-public class GenerationException extends Exception {
-
-    public GenerationException(String message) {
-        super(message);
-    }
-
-    public GenerationException(String message, Throwable cause) {
-        super(message, cause);
-    }
-
-}
diff --git a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/fields/ArrayField.java b/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/fields/ArrayField.java
deleted file mode 100644
index 2023e0c..0000000
--- a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/fields/ArrayField.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
- */
-
-package org.apache.plc4x.plugins.codegenerator.types.fields;
-
-
-import org.apache.plc4x.plugins.codegenerator.types.terms.Term;
-
-public interface ArrayField extends PropertyField {
-
-    default String getTypeName() {
-        return "array";
-    }
-
-    LengthType getLengthType();
-
-    Term getLengthExpression();
-
-    enum LengthType {
-        COUNT,
-        LENGTH
-    }
-
-}
diff --git a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/fields/ConstField.java b/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/fields/ConstField.java
deleted file mode 100644
index 9c0029f..0000000
--- a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/fields/ConstField.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
- */
-
-package org.apache.plc4x.plugins.codegenerator.types.fields;
-
-public interface ConstField extends PropertyField {
-
-    default String getTypeName() {
-        return "const";
-    }
-
-    Object getReferenceValue();
-
-}
diff --git a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/fields/DiscriminatorField.java b/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/fields/DiscriminatorField.java
deleted file mode 100644
index c5c0552..0000000
--- a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/fields/DiscriminatorField.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
- */
-
-package org.apache.plc4x.plugins.codegenerator.types.fields;
-
-public interface DiscriminatorField extends TypedField {
-
-    default String getTypeName() {
-        return "discriminator";
-    }
-
-    String getName();
-
-}
diff --git a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/fields/Field.java b/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/fields/Field.java
deleted file mode 100644
index 5863cc4..0000000
--- a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/fields/Field.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
- */
-
-package org.apache.plc4x.plugins.codegenerator.types.fields;
-
-public interface Field {
-
-    String getTypeName();
-    String[] getParams();
-
-}
diff --git a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/fields/ImplicitField.java b/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/fields/ImplicitField.java
deleted file mode 100644
index 1cc5f97..0000000
--- a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/fields/ImplicitField.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
- */
-
-package org.apache.plc4x.plugins.codegenerator.types.fields;
-
-import org.apache.plc4x.plugins.codegenerator.types.terms.Term;
-
-public interface ImplicitField extends TypedField {
-
-    default String getTypeName() {
-        return "implicit";
-    }
-
-    String getName();
-
-    Term getSerializationExpression();
-
-}
diff --git a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/fields/OptionalField.java b/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/fields/OptionalField.java
deleted file mode 100644
index ecef3be..0000000
--- a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/fields/OptionalField.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
- */
-
-package org.apache.plc4x.plugins.codegenerator.types.fields;
-
-
-import org.apache.plc4x.plugins.codegenerator.types.terms.Term;
-
-public interface OptionalField extends PropertyField {
-
-    default String getTypeName() {
-        return "optional";
-    }
-
-    Term getConditionExpression();
-
-}
diff --git a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/fields/PropertyField.java b/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/fields/PropertyField.java
deleted file mode 100644
index b336f4f..0000000
--- a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/fields/PropertyField.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
- */
-
-package org.apache.plc4x.plugins.codegenerator.types.fields;
-
-public interface PropertyField extends TypedField {
-
-    String getName();
-
-}
diff --git a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/fields/ReservedField.java b/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/fields/ReservedField.java
deleted file mode 100644
index 5426d48..0000000
--- a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/fields/ReservedField.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
- */
-
-package org.apache.plc4x.plugins.codegenerator.types.fields;
-
-public interface ReservedField extends TypedField {
-
-    default String getTypeName() {
-        return "reserved";
-    }
-
-    Object getReferenceValue();
-
-}
diff --git a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/fields/SimpleField.java b/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/fields/SimpleField.java
deleted file mode 100644
index 966faac..0000000
--- a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/fields/SimpleField.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
- */
-
-package org.apache.plc4x.plugins.codegenerator.types.fields;
-
-public interface SimpleField extends PropertyField {
-
-    default String getTypeName() {
-        return "simple";
-    }
-
-}
diff --git a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/fields/SwitchField.java b/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/fields/SwitchField.java
deleted file mode 100644
index a6b4df7..0000000
--- a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/fields/SwitchField.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
- */
-
-package org.apache.plc4x.plugins.codegenerator.types.fields;
-
-import org.apache.plc4x.plugins.codegenerator.types.definitions.DiscriminatedComplexTypeDefinition;
-
-import java.util.List;
-
-public interface SwitchField extends Field {
-
-    default String getTypeName() {
-        return "switch";
-    }
-
-    String[] getDiscriminatorNames();
-
-    List<DiscriminatedComplexTypeDefinition> getCases();
-
-}
diff --git a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/fields/TypedField.java b/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/fields/TypedField.java
deleted file mode 100644
index 4bb2006..0000000
--- a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/fields/TypedField.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
- */
-
-package org.apache.plc4x.plugins.codegenerator.types.fields;
-
-import org.apache.plc4x.plugins.codegenerator.types.references.TypeReference;
-
-public interface TypedField extends Field {
-
-    TypeReference getType();
-
-}
diff --git a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/references/ComplexTypeReference.java b/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/references/ComplexTypeReference.java
deleted file mode 100644
index bc760ea..0000000
--- a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/references/ComplexTypeReference.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
- */
-
-package org.apache.plc4x.plugins.codegenerator.types.references;
-
-public interface ComplexTypeReference extends TypeReference {
-
-    String getName();
-
-}
diff --git a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/references/SimpleTypeReference.java b/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/references/SimpleTypeReference.java
deleted file mode 100644
index 834033d..0000000
--- a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/references/SimpleTypeReference.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
- */
-
-package org.apache.plc4x.plugins.codegenerator.types.references;
-
-public interface SimpleTypeReference extends TypeReference {
-
-    SimpleBaseType getBaseType();
-
-    int getSize();
-
-    enum SimpleBaseType {
-
-        BIT,
-        UINT,
-        INT,
-        FLOAT,
-        STRING
-
-    }
-}
diff --git a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/references/SimpleVarLengthTypeReference.java b/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/references/SimpleVarLengthTypeReference.java
deleted file mode 100644
index 052ca91..0000000
--- a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/references/SimpleVarLengthTypeReference.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
- */
-
-package org.apache.plc4x.plugins.codegenerator.types.references;
-
-public interface SimpleVarLengthTypeReference {
-
-}
diff --git a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/references/TypeReference.java b/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/references/TypeReference.java
deleted file mode 100644
index 3c33b3e..0000000
--- a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/references/TypeReference.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
- */
-
-package org.apache.plc4x.plugins.codegenerator.types.references;
-
-public interface TypeReference {
-
-}
diff --git a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/terms/BinaryTerm.java b/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/terms/BinaryTerm.java
deleted file mode 100644
index 534a8cb..0000000
--- a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/terms/BinaryTerm.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
- */
-
-package org.apache.plc4x.plugins.codegenerator.types.terms;
-
-public class BinaryTerm implements Term {
-
-    private final Term a;
-    private final Term b;
-    private final String operation;
-
-    public BinaryTerm(Term a, Term b, String operation) {
-        this.a = a;
-        this.b = b;
-        this.operation = operation;
-    }
-
-    public Term getA() {
-        return a;
-    }
-
-    public Term getB() {
-        return b;
-    }
-
-    public String getOperation() {
-        return operation;
-    }
-
-    @Override
-    public boolean contains(String str) {
-        return ((a != null) && a.contains(str)) || ((b != null) && b.contains(str));
-    }
-
-}
diff --git a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/terms/BooleanLiteral.java b/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/terms/BooleanLiteral.java
deleted file mode 100644
index 2ae9283..0000000
--- a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/terms/BooleanLiteral.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
- */
-
-package org.apache.plc4x.plugins.codegenerator.types.terms;
-
-public class BooleanLiteral implements Literal {
-
-    private final boolean value;
-
-    public BooleanLiteral(boolean value) {
-        this.value = value;
-    }
-
-    public boolean getValue() {
-        return value;
-    }
-
-    @Override
-    public boolean contains(String str) {
-        return false;
-    }
-
-}
diff --git a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/terms/Literal.java b/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/terms/Literal.java
deleted file mode 100644
index 225ec37..0000000
--- a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/terms/Literal.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
- */
-
-package org.apache.plc4x.plugins.codegenerator.types.terms;
-
-public interface Literal extends Term {
-}
diff --git a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/terms/NullLiteral.java b/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/terms/NullLiteral.java
deleted file mode 100644
index 153acc7..0000000
--- a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/terms/NullLiteral.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
- */
-
-package org.apache.plc4x.plugins.codegenerator.types.terms;
-
-public class NullLiteral implements Literal {
-
-    public NullLiteral() {
-    }
-
-    @Override
-    public boolean contains(String str) {
-        return false;
-    }
-
-}
diff --git a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/terms/NumericLiteral.java b/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/terms/NumericLiteral.java
deleted file mode 100644
index 320421c..0000000
--- a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/terms/NumericLiteral.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
- */
-
-package org.apache.plc4x.plugins.codegenerator.types.terms;
-
-public class NumericLiteral implements Literal {
-
-    private Number number;
-
-    public NumericLiteral(Number number) {
-        this.number = number;
-    }
-
-    public Number getNumber() {
-        return number;
-    }
-
-    @Override
-    public boolean contains(String str) {
-        return false;
-    }
-
-}
diff --git a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/terms/StringLiteral.java b/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/terms/StringLiteral.java
deleted file mode 100644
index f67982f..0000000
--- a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/terms/StringLiteral.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
- */
-
-package org.apache.plc4x.plugins.codegenerator.types.terms;
-
-public class StringLiteral implements Literal {
-
-    private final String value;
-
-    public StringLiteral(String value) {
-        this.value = value;
-    }
-
-    public String getValue() {
-        return value;
-    }
-
-    @Override
-    public boolean contains(String str) {
-        return (value != null) && value.contains(str);
-    }
-
-}
diff --git a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/terms/Term.java b/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/terms/Term.java
deleted file mode 100644
index 389f6e4..0000000
--- a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/terms/Term.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
- */
-
-package org.apache.plc4x.plugins.codegenerator.types.terms;
-
-public interface Term {
-
-    boolean contains(String str);
-
-}
diff --git a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/terms/TernaryTerm.java b/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/terms/TernaryTerm.java
deleted file mode 100644
index 484eb11..0000000
--- a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/terms/TernaryTerm.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
- */
-
-package org.apache.plc4x.plugins.codegenerator.types.terms;
-
-public class TernaryTerm implements Term {
-
-    private final Term a;
-    private final Term b;
-    private final Term c;
-    private final String operation;
-
-    public TernaryTerm(Term a, Term b, Term c, String operation) {
-        this.a = a;
-        this.b = b;
-        this.c = c;
-        this.operation = operation;
-    }
-
-    public Term getA() {
-        return a;
-    }
-
-    public Term getB() {
-        return b;
-    }
-
-    public Term getC() {
-        return c;
-    }
-
-    public String getOperation() {
-        return operation;
-    }
-
-    @Override
-    public boolean contains(String str) {
-        return ((a != null) && a.contains(str)) || ((b != null) && b.contains(str))  ||((c != null) && c.contains(str));
-    }
-
-}
diff --git a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/terms/UnaryTerm.java b/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/terms/UnaryTerm.java
deleted file mode 100644
index 27ec739..0000000
--- a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/terms/UnaryTerm.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
- */
-
-package org.apache.plc4x.plugins.codegenerator.types.terms;
-
-public class UnaryTerm implements Term {
-
-    private final Term a;
-    private final String operation;
-
-    public UnaryTerm(Term a, String operation) {
-        this.a = a;
-        this.operation = operation;
-    }
-
-    public Term getA() {
-        return a;
-    }
-
-    public String getOperation() {
-        return operation;
-    }
-
-    @Override
-    public boolean contains(String str) {
-        return (a != null) && a.contains(str);
-    }
-
-}
diff --git a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/terms/VariableLiteral.java b/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/terms/VariableLiteral.java
deleted file mode 100644
index 68ece64..0000000
--- a/sandbox/code-generation/external/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/terms/VariableLiteral.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements.  See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership.  The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing,
- software distributed under the License is distributed on an
- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- KIND, either express or implied.  See the License for the
- specific language governing permissions and limitations
- under the License.
- */
-
-package org.apache.plc4x.plugins.codegenerator.types.terms;
-
-import java.util.List;
-
-public class VariableLiteral implements Literal {
-
-    public static final int NO_INDEX = -1;
-
-    private final String name;
-    private final List<Term> args;
-    private final int index;
-    private final VariableLiteral child;
-
-    public VariableLiteral(String name, List<Term> args, int index, VariableLiteral child) {
-        this.name = name;
-        this.args = args;
-        this.index = index;
-        this.child = child;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public List<Term> getArgs() {
-        return args;
-    }
-
-    public int getIndex() {
-        return index;
-    }
-
-    public VariableLiteral getChild() {
-        return child;
-    }
-
-    public boolean isIndexed() {
-        return index != NO_INDEX;
-    }
-
-    @Override
-    public boolean contains(String str) {
-        if(((name != null) && name.contains(str)) || ((child != null) && child.contains(str))) {
-            return true;
-        }
-        if(args != null) {
-            for(Term arg : args) {
-                if(arg.contains(str)) {
-                    return true;
-                }
-            }
-        }
-        return false;
-    }
-
-}