Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Urgent: fix format error #19

Merged
merged 2 commits into from
May 5, 2022
Merged
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
5 changes: 3 additions & 2 deletions docs/dependency/Contain.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ package pkg;
```

```yaml
name: Package contains files
name: Package contains Files
entity:
items:
- name: Hello.java
Expand All @@ -83,7 +83,8 @@ entity:
- name: pkg
category : Package
qualifiedName: pkg
relation:
relation:
items:
- src: file0/pkg
dest: file0
category: Contain
Expand Down
172 changes: 87 additions & 85 deletions docs/dependency/Inherit.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@
# Dependency: Inherit

A class extends one super (abstract) class, or an interface extends single or multiple super interfaces.

## Supported pattern

```yaml
name: extends
```
### Syntax :
```yaml

### Syntax:

```text
Class Declaration:
[ Javadoc ] { ExtendedModifier } class Identifier
[ < TypeParameter { , TypeParameter } > ]
Expand All @@ -14,138 +19,135 @@ Class Declaration:
[ permits Type { , Type } ]
{ { ClassBodyDeclaration | ; } }
```
### Examples :
- Class extends one super class

#### Examples:

* Class extends one super class

```java
//InMemoryCacheStore.java
public class InMemoryCacheStore extends AbstractStringCacheStore {

// Foo.java
class Bar {
/* ... */
}
```
```java
//AbstractStringCacheStore.java
public abstract class AbstractStringCacheStore {


public class Foo extends Bar {
/* ... */
}
```

```yaml
name: Class extends one super class
name: Class Extends Class
entity:
items:
- name: InMemoryCacheStore
- name: Foo
category : Class
qualifiedName: InMemoryCacheStore
qualifiedName: Foo
modifiers: public
- name: AbstractStringCacheStore
- name: Bar
category : Class
qualifiedName: AbstractStringCacheStore
modifiers: public abstract
qualifiedName: Bar
relation:
items:
- src: file0/Class[0]
dest: file1/Class[0]
category: inherit
- src: file0/Foo
dest: file0/Bar
category: Inherit
```
- Class extends one parameterized type

* Class extends one parameterized type

```java
//AbstractStringCacheStore.java
public abstract class AbstractStringCacheStore extends AbstractCacheStore<String, String> {

// Foo.java
class Bar<K, V> {
/* ... */
}
```
```java
//AbstractCacheStore.java
public abstract class AbstractCacheStore<K, V> {


public class Foo extends Bar<String, int> {
/* ... */
}
```

```yaml
name: Class extends one parameterized type
name: Class Extends Class With Generics
entity:
items:
- name: AbstractCacheStore
- name: Foo
category : Class
qualifiedName: AbstractCacheStore
modifiers: public abstract
- name: AbstractStringCacheStore
qualifiedName: Foo
- name: Bar
category : Class
qualifiedName: AbstractStringCacheStore
modifiers: public abstract
qualifiedName: Bar
relation:
items:
- src: file0/Class[0]
dest: file1/Class[0]
category: inherit
- src: file0/Foo
dest: file0/Bar
category: Inherit
```
- Interface extends one super interface

* Interface extends one super interface

```java
//JournalService.java
public interface JournalService extends CrudService<Journal, Integer> {

// Foo.java
interface Bar<T> {
/* ... */
}
```
```java
//CrudService.java
public interface CrudService<D, I> {


public interface Foo extends Bar<String> {
/* ... */
}
```

```yaml
name: Interface extends one super type
name: Interface Extends Interface
entity:
items:
- name: CrudService
- name: Foo
category : Interface
qualifiedName: CrudService
qualifiedName: Foo
modifiers: public
- name: JournalService
- name: Bar
category : Interface
qualifiedName: JournalService
modifiers: public
qualifiedName: Bar
relation:
items:
- src: file0/Interface[0]
dest: file1/Interface[0]
category: inherit
- src: file0/Foo
dest: file0/Bar
category: Inherit
```
- Interface extends multiple super interfaces

* Interface extends multiple super interfaces

```java
//JournalService.java
public interface JournalService extends CrudService<String, Integer>, BaseService {

// Foo.java
interface Bar<T> {
/* ... */
}
```
```java
//CrudService.java
public interface CrudService<D, I> {


interface Baz {
/* ... */
}
```
```java
//BaseService.java
public interface BaseService {


public interface Foo extends Bar<String>, Baz {
/* ... */
}
```

```yaml
name: Interface extends one super type
name: Interface Extends Multiple Interfaces
entity:
items:
- name: CrudService
- name: Foo
category : Interface
modifiers: public
- name: JournalService
- name: Bar
category : Interface
modifiers: public
- name: BaseService
- name: Baz
category : Interface
modifiers: public
relation:
items:
- src: file0/Interface[0]
dest: file1/Interface[0]
category: inherit
- src: file0/Interface[0]
dest: file2/Interface[0]
category: inherit
```
- src: file0/Foo
dest: file0/Bar
category: Inherit
- src: file0/Foo
dest: file0/Bar
category: Inherit
```