Skip to content

Commit a1d56aa

Browse files
committed
feat: Melhorar a implementação das interfaces do projeto (#14).
1 parent bcfbca0 commit a1d56aa

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+178
-804
lines changed

pom.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -243,8 +243,8 @@
243243
</goals>
244244
<configuration>
245245
<excludes>
246-
<exclude>**/*SomeJava8ExamplesApplication.*</exclude>
247-
<exclude>br/com/somejava8examples/commons/entities*</exclude>
246+
<exclude>**/*VirtualLibraryApiApplication.*</exclude>
247+
<exclude>br/com/virtuallibrary/commons/**/*</exclude>
248248
</excludes>
249249
<rules>
250250
<rule>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package br.com.virtuallibrary.commons.controllers;
2+
3+
import java.io.Serializable;
4+
5+
import org.springframework.hateoas.RepresentationModel;
6+
7+
import br.com.virtuallibrary.commons.entities.BaseEntity;
8+
import br.com.virtuallibrary.commons.repositories.IBaseRepository;
9+
import br.com.virtuallibrary.commons.services.IBaseService;
10+
11+
public interface IBaseController<E extends BaseEntity, ID extends Serializable, R extends IBaseRepository<E, ID>, S extends IBaseService<E, ID, R>, M extends RepresentationModel<M>> {
12+
13+
}

src/main/java/br/com/virtuallibrary/commons/controllers/IDeleteController.java

+7-3
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import br.com.virtuallibrary.commons.IConstants;
1414
import br.com.virtuallibrary.commons.entities.BaseEntity;
1515
import br.com.virtuallibrary.commons.repositories.IBaseRepository;
16-
import br.com.virtuallibrary.commons.services.ICrudService;
16+
import br.com.virtuallibrary.commons.services.IDeleteService;
1717
import io.swagger.v3.oas.annotations.Operation;
1818
import io.swagger.v3.oas.annotations.Parameter;
1919
import io.swagger.v3.oas.annotations.responses.ApiResponse;
@@ -32,13 +32,17 @@ public interface IDeleteController<
3232
E extends BaseEntity,
3333
ID extends Serializable,
3434
R extends IBaseRepository<E, ID>,
35-
S extends ICrudService<E, ID, R>,
36-
M extends RepresentationModel<M>> {
35+
S extends IDeleteService<E, ID, R>,
36+
M extends RepresentationModel<M>>
37+
extends ISearchController<E, ID, R, S, M> {
3738

39+
@Override
3840
S getService();
3941

42+
@Override
4043
PagedResourcesAssembler<E> getPagedResourcesAssembler();
4144

45+
@Override
4246
RepresentationModelAssemblerSupport<E, M> getModelAssembler();
4347

4448
@ResponseStatus(HttpStatus.OK)

src/main/java/br/com/virtuallibrary/commons/controllers/ILoadController.java

+5-1
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,16 @@ public interface ILoadController<
3333
ID extends Serializable,
3434
R extends IBaseRepository<E, ID>,
3535
S extends ILoadService<E, ID, R>,
36-
M extends RepresentationModel<M>> {
36+
M extends RepresentationModel<M>>
37+
extends ISearchController<E, ID, R, S, M> {
3738

39+
@Override
3840
S getService();
3941

42+
@Override
4043
PagedResourcesAssembler<E> getPagedResourcesAssembler();
4144

45+
@Override
4246
RepresentationModelAssemblerSupport<E, M> getModelAssembler();
4347

4448
@ResponseStatus(HttpStatus.OK)

src/main/java/br/com/virtuallibrary/commons/controllers/ISaveAndUpdateController.java

+5-1
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,16 @@ public interface ISaveAndUpdateController<
3838
ID extends Serializable,
3939
R extends IBaseRepository<E, ID>,
4040
S extends ISaveAndUpdateService<E, ID, R>,
41-
M extends RepresentationModel<M>> {
41+
M extends RepresentationModel<M>>
42+
extends IDeleteController <E, ID, R, S, M> {
4243

44+
@Override
4345
S getService();
4446

47+
@Override
4548
PagedResourcesAssembler<E> getPagedResourcesAssembler();
4649

50+
@Override
4751
RepresentationModelAssemblerSupport<E, M> getModelAssembler();
4852

4953
@ResponseStatus(HttpStatus.CREATED)

src/main/java/br/com/virtuallibrary/commons/controllers/ISearchController.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ public interface ISearchController<
3535
ID extends Serializable,
3636
R extends IBaseRepository<E, ID>,
3737
S extends ISearchService<E, ID, R>,
38-
M extends RepresentationModel<M>> {
38+
M extends RepresentationModel<M>>
39+
extends IBaseController<E, ID, R, S, M> {
3940

4041
S getService();
4142

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
package br.com.virtuallibrary.commons.controllers.impl;
2+
3+
import java.io.Serializable;
4+
5+
import org.springframework.data.web.PagedResourcesAssembler;
6+
import org.springframework.hateoas.RepresentationModel;
7+
import org.springframework.hateoas.server.mvc.RepresentationModelAssemblerSupport;
8+
9+
import br.com.virtuallibrary.commons.entities.BaseEntity;
10+
import br.com.virtuallibrary.commons.repositories.IBaseRepository;
11+
import br.com.virtuallibrary.commons.services.IBaseService;
12+
13+
public abstract class BaseController<
14+
E extends BaseEntity,
15+
ID extends Serializable,
16+
R extends IBaseRepository<E, ID>,
17+
S extends IBaseService<E, ID, R>,
18+
M extends RepresentationModel<M>> {
19+
20+
private final S service;
21+
private final RepresentationModelAssemblerSupport<E, M> modelAssembler;
22+
private final PagedResourcesAssembler<E> pagedResourcesAssembler;
23+
24+
public BaseController(S service, PagedResourcesAssembler<E> pagedResourcesAssembler, RepresentationModelAssemblerSupport<E, M> modelAssembler) {
25+
this.service = service;
26+
this.modelAssembler = modelAssembler;
27+
this.pagedResourcesAssembler = pagedResourcesAssembler;
28+
}
29+
30+
public final S getService() {
31+
return service;
32+
}
33+
34+
public PagedResourcesAssembler<E> getPagedResourcesAssembler() {
35+
return pagedResourcesAssembler;
36+
}
37+
38+
public RepresentationModelAssemblerSupport<E, M> getModelAssembler() {
39+
return this.modelAssembler;
40+
}
41+
42+
}

src/main/java/br/com/virtuallibrary/commons/controllers/impl/CompleteController.java

-124
This file was deleted.

src/main/java/br/com/virtuallibrary/commons/controllers/impl/CrudController.java

-90
This file was deleted.

0 commit comments

Comments
 (0)