Skip to content

Commit ad0e102

Browse files
committed
Update JavaDocs and add tests about @ExternalDomain
1 parent 95f09b8 commit ad0e102

File tree

22 files changed

+137
-35
lines changed

22 files changed

+137
-35
lines changed

doma-core/src/main/java/org/seasar/doma/ExternalDomain.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@
3838
* }
3939
*
4040
* public Salary fromValueToDomain(BigDecimal value) {
41+
* if (value == null) {
42+
* return null;
43+
* }
4144
* return new Salary(value);
4245
* }
4346
* }
@@ -46,7 +49,6 @@
4649
* <p>The annotated instance is required to be thread safe.
4750
*
4851
* @see DomainConverter
49-
* @see DomainConverters
5052
*/
5153
@Target(ElementType.TYPE)
5254
@Retention(RetentionPolicy.RUNTIME)

doma-core/src/main/java/org/seasar/doma/jdbc/domain/DomainConverter.java

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,12 @@
1515
*/
1616
package org.seasar.doma.jdbc.domain;
1717

18-
import org.seasar.doma.DomainConverters;
1918
import org.seasar.doma.ExternalDomain;
2019

2120
/**
22-
* A converter between domain objects and basic values.
21+
* A converter interface for mapping between domain objects and their corresponding basic values.
2322
*
24-
* <p>The implementation class should be annotated with {@link ExternalDomain} and be registered to
25-
* {@link DomainConverters}.
23+
* <p>The implementation class should be annotated with {@link ExternalDomain}.
2624
*
2725
* <pre>
2826
* &#064;ExternalDomain
@@ -33,31 +31,33 @@
3331
* }
3432
*
3533
* public Salary fromValueToDomain(BigDecimal value) {
34+
* if (value == null) {
35+
* return null;
36+
* }
3637
* return new Salary(value);
3738
* }
3839
* }
3940
* </pre>
4041
*
4142
* @see ExternalDomain
42-
* @see DomainConverters
43-
* @param <DOMAIN> the domain type
44-
* @param <BASIC> the basic type
43+
* @param <DOMAIN> the type of the domain object
44+
* @param <BASIC> the type of the basic value
4545
*/
4646
public interface DomainConverter<DOMAIN, BASIC> {
4747

4848
/**
49-
* Converts from a domain object to a basic value.
49+
* Converts a domain object into a basic value.
5050
*
51-
* @param domain the domain object
52-
* @return the basic value
51+
* @param domain the domain object; must not be null
52+
* @return the basic value; can be null
5353
*/
5454
BASIC fromDomainToValue(DOMAIN domain);
5555

5656
/**
57-
* Converts from a basic value to a domain object.
57+
* Converts a basic value into a domain object.
5858
*
59-
* @param value the basic value
60-
* @return the domain object
59+
* @param value the basic value; can be null
60+
* @return the domain object; can be null
6161
*/
6262
DOMAIN fromValueToDomain(BASIC value);
6363
}

integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-h2.script

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ CREATE TABLE TABLE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10
3333
CREATE TABLE TEAM(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(20));
3434
CREATE TABLE PLAYER(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(20), TEAM_ID INTEGER);
3535
CREATE TABLE COACH(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(20), TEAM_ID INTEGER);
36+
CREATE TABLE ANIMAL(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(20), AGE INTEGER);
3637

3738
INSERT INTO DEPARTMENT VALUES(1,10,'ACCOUNTING','NEW YORK',1);
3839
INSERT INTO DEPARTMENT VALUES(2,20,'RESEARCH','DALLAS',1);

integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mssql.script

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ CREATE TABLE TABLE_STRATEGY5(ID INT NOT NULL PRIMARY KEY, [VALUE] VARCHAR(10));
3030
CREATE TABLE TEAM(ID INT NOT NULL PRIMARY KEY, NAME VARCHAR(20));
3131
CREATE TABLE PLAYER(ID INT NOT NULL PRIMARY KEY, NAME VARCHAR(20), TEAM_ID INT);
3232
CREATE TABLE COACH(ID INT NOT NULL PRIMARY KEY, NAME VARCHAR(20), TEAM_ID INT);
33+
CREATE TABLE ANIMAL(ID INT NOT NULL PRIMARY KEY, NAME VARCHAR(20), AGE INT);
3334

3435
INSERT INTO DEPARTMENT VALUES(1,10,'ACCOUNTING','NEW YORK',1);
3536
INSERT INTO DEPARTMENT VALUES(2,20,'RESEARCH','DALLAS',1);

integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mssql2008.script

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ CREATE TABLE TABLE_STRATEGY5(ID INT NOT NULL PRIMARY KEY, [VALUE] VARCHAR(10));
2929
CREATE TABLE TEAM(ID INT NOT NULL PRIMARY KEY, NAME VARCHAR(20));
3030
CREATE TABLE PLAYER(ID INT NOT NULL PRIMARY KEY, NAME VARCHAR(20), TEAM_ID INT);
3131
CREATE TABLE COACH(ID INT NOT NULL PRIMARY KEY, NAME VARCHAR(20), TEAM_ID INT);
32+
CREATE TABLE ANIMAL(ID INT NOT NULL PRIMARY KEY, NAME VARCHAR(20), AGE INT);
3233

3334
INSERT INTO DEPARTMENT VALUES(1,10,'ACCOUNTING','NEW YORK',1);
3435
INSERT INTO DEPARTMENT VALUES(2,20,'RESEARCH','DALLAS',1);

integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-mysql.script

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ CREATE TABLE TABLE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, `VALUE` VARCHAR(10
2929
CREATE TABLE TEAM(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(20));
3030
CREATE TABLE PLAYER(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(20), TEAM_ID INTEGER);
3131
CREATE TABLE COACH(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(20), TEAM_ID INTEGER);
32+
CREATE TABLE ANIMAL(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(20), AGE INTEGER);
3233

3334
INSERT INTO DEPARTMENT VALUES(1,10,'ACCOUNTING','NEW YORK',1);
3435
INSERT INTO DEPARTMENT VALUES(2,20,'RESEARCH','DALLAS',1);

integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-oracle.script

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ CREATE TABLE TABLE_STRATEGY2(ID NUMERIC(8) NOT NULL PRIMARY KEY, "VALUE" VARCHAR
3333
CREATE TABLE TEAM(ID NUMERIC(8) NOT NULL PRIMARY KEY, NAME VARCHAR(20));
3434
CREATE TABLE PLAYER(ID NUMERIC(8) NOT NULL PRIMARY KEY, NAME VARCHAR(20), TEAM_ID NUMERIC(8));
3535
CREATE TABLE COACH(ID NUMERIC(8) NOT NULL PRIMARY KEY, NAME VARCHAR(20), TEAM_ID NUMERIC(8));
36+
CREATE TABLE ANIMAL(ID NUMERIC(8) NOT NULL PRIMARY KEY, NAME VARCHAR(20), AGE NUMERIC(8));
3637

3738
CREATE INDEX IX_EMPLOYEE_1 ON EMPLOYEE (EMPLOYEE_NAME);
3839

integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-postgres.script

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ CREATE TABLE VERY_LONG_CHARACTERS_NAMED_TABLE(VERY_LONG_CHARACTERS_NAMED_TABLE_I
3636
CREATE TABLE TEAM(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(20));
3737
CREATE TABLE PLAYER(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(20), TEAM_ID INTEGER);
3838
CREATE TABLE COACH(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(20), TEAM_ID INTEGER);
39+
CREATE TABLE ANIMAL(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(20), AGE INTEGER);
3940

4041
INSERT INTO DEPARTMENT VALUES(1,10,'ACCOUNTING','NEW YORK',1);
4142
INSERT INTO DEPARTMENT VALUES(2,20,'RESEARCH','DALLAS',1);

integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/create-sqlite.script

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ CREATE TABLE TABLE_STRATEGY2(ID INTEGER NOT NULL PRIMARY KEY, "VALUE" VARCHAR(10
2929
CREATE TABLE TEAM(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(20));
3030
CREATE TABLE PLAYER(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(20), TEAM_ID INTEGER);
3131
CREATE TABLE COACH(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(20), TEAM_ID INTEGER);
32+
CREATE TABLE ANIMAL(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(20), AGE INTEGER);
3233

3334
INSERT INTO DEPARTMENT VALUES(1,10,'ACCOUNTING','NEW YORK',1);
3435
INSERT INTO DEPARTMENT VALUES(2,20,'RESEARCH','DALLAS',1);

integration-test-common/src/main/resources/META-INF/org/seasar/doma/it/dao/ScriptDao/drop-h2.script

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ DROP TABLE TABLE_STRATEGY2;
3030
DROP TABLE TEAM;
3131
DROP TABLE PLAYER;
3232
DROP TABLE COACH;
33+
DROP TABLE ANIMAL;
3334

3435
DROP SEQUENCE SEQUENCE_STRATEGY_ID;
3536
DROP SEQUENCE MY_SEQUENCE_STRATEGY_ID;

0 commit comments

Comments
 (0)