Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,22 @@
<artifactId>mrmathami.utils</artifactId>
<version>1.0.1</version>
</dependency>
<!-- Jackson -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.0-rc1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.12.0-rc1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.12.0-rc1</version>
</dependency>
</dependencies>

<build>
Expand Down
34 changes: 25 additions & 9 deletions core/src/main/java/mrmathami/cia/java/tree/node/JavaNode.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,7 @@
import mrmathami.annotations.Nullable;
import mrmathami.cia.java.tree.JavaIdentifiedEntity;
import mrmathami.cia.java.tree.dependency.JavaDependencyCountTable;
import mrmathami.cia.java.tree.node.container.JavaAnnotationContainer;
import mrmathami.cia.java.tree.node.container.JavaClassContainer;
import mrmathami.cia.java.tree.node.container.JavaEnumContainer;
import mrmathami.cia.java.tree.node.container.JavaFieldContainer;
import mrmathami.cia.java.tree.node.container.JavaInitializerContainer;
import mrmathami.cia.java.tree.node.container.JavaInterfaceContainer;
import mrmathami.cia.java.tree.node.container.JavaMethodContainer;
import mrmathami.cia.java.tree.node.container.JavaPackageContainer;
import mrmathami.cia.java.tree.node.container.*;

import java.util.ArrayList;
import java.util.Iterator;
Expand Down Expand Up @@ -72,7 +65,7 @@ default String getIdClass() {
List<? extends JavaNode> getChildren();

@Nonnull
String getSimpleName();
String getNodeName();

@Nonnull
String getQualifiedName();
Expand Down Expand Up @@ -139,6 +132,10 @@ default JavaMethodNode asMethodNode() throws ClassCastException {
default JavaPackageNode asPackageNode() throws ClassCastException {
throw new ClassCastException("Not a JavaPackageNode!");
}
@Nonnull
default JavaXMLNode asXMLNode() throws ClassCastException {
throw new ClassCastException("Not a JavaXMLNode!");
}

@Nonnull
default JavaRootNode asRootNode() throws ClassCastException {
Expand Down Expand Up @@ -295,6 +292,25 @@ default JavaMethodContainer asMethodContainer() throws ClassCastException {

//endregion Method Container

//region XML Container

@Nonnull
default List<? extends JavaXMLNode> getChildXMLNodes(@Nonnull List<JavaXMLNode> xmlNodes) {
return xmlNodes;
}

@Nonnull
default List<? extends JavaXMLNode> getChildXMLNodes() {
return List.of();
}

@Nonnull
default JavaXMLContainer asXMLContainer() throws ClassCastException {
throw new ClassCastException("Not a JavaXMLContainer");
}

//end region XML Container

//region Package Container

@Nonnull
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,12 @@

import mrmathami.annotations.Nonnull;
import mrmathami.cia.java.tree.node.attribute.JavaAnnotatedNode;
import mrmathami.cia.java.tree.node.container.JavaAnnotationContainer;
import mrmathami.cia.java.tree.node.container.JavaClassContainer;
import mrmathami.cia.java.tree.node.container.JavaEnumContainer;
import mrmathami.cia.java.tree.node.container.JavaInterfaceContainer;
import mrmathami.cia.java.tree.node.container.JavaPackageContainer;
import mrmathami.cia.java.tree.node.container.*;

public interface JavaPackageNode extends JavaNode,
JavaAnnotatedNode,
JavaAnnotationContainer, JavaClassContainer, JavaEnumContainer,
JavaInterfaceContainer, JavaPackageContainer {
JavaInterfaceContainer, JavaPackageContainer, JavaXMLContainer {

@Nonnull String OBJECT_CLASS = "JavaPackageNode";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,19 +20,15 @@

import mrmathami.annotations.Nonnull;
import mrmathami.cia.java.tree.annotate.JavaAnnotate;
import mrmathami.cia.java.tree.node.container.JavaAnnotationContainer;
import mrmathami.cia.java.tree.node.container.JavaClassContainer;
import mrmathami.cia.java.tree.node.container.JavaEnumContainer;
import mrmathami.cia.java.tree.node.container.JavaInterfaceContainer;
import mrmathami.cia.java.tree.node.container.JavaPackageContainer;
import mrmathami.cia.java.tree.node.container.*;
import mrmathami.cia.java.tree.type.JavaType;

import java.util.List;
import java.util.NoSuchElementException;

public interface JavaRootNode extends JavaNode,
JavaPackageContainer, JavaAnnotationContainer, JavaClassContainer,
JavaEnumContainer, JavaInterfaceContainer {
JavaEnumContainer, JavaInterfaceContainer, JavaXMLContainer {

@Nonnull String OBJECT_CLASS = "JavaRootNode";

Expand Down Expand Up @@ -70,7 +66,7 @@ default JavaNode getParent() {

@Nonnull
@Override
default String getSimpleName() {
default String getNodeName() {
return "{ROOT}";
}

Expand Down
34 changes: 34 additions & 0 deletions core/src/main/java/mrmathami/cia/java/tree/node/JavaXMLNode.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package mrmathami.cia.java.tree.node;

import mrmathami.annotations.Nonnull;
import mrmathami.cia.java.tree.node.container.JavaXMLContainer;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.NodeList;

public interface JavaXMLNode extends JavaNode, JavaXMLContainer {
@Nonnull
String OBJECT_CLASS = "JavaXMLNode";

//region Basic Getter
@Nonnull
@Override
default String getEntityClass() {
return OBJECT_CLASS;
}

@Nonnull
@Override
default JavaXMLNode asXMLNode() {
return this;
}

@Nonnull
String getTextContent();

@Nonnull
NodeList getChildNodes();

@Nonnull
NamedNodeMap getAttributes();
//end region Basic Getter
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package mrmathami.cia.java.tree.node.container;

import mrmathami.annotations.Nonnull;
import mrmathami.cia.java.tree.node.JavaNode;
import mrmathami.cia.java.tree.node.JavaXMLNode;

import java.util.List;

public interface JavaXMLContainer extends JavaNode {
@Nonnull
@Override
default List<? extends JavaXMLNode> getChildXMLNodes(@Nonnull List<JavaXMLNode> xmlNodes) {
return getChildren(JavaXMLNode.class, xmlNodes);
}

@Nonnull
@Override
default List<? extends JavaXMLNode> getChildXMLNodes() {
return getChildren(JavaXMLNode.class);
}

@Nonnull
@Override
default JavaXMLContainer asXMLContainer() {
return this;
}
}
Loading