diff --git a/processor/src/main/java/org/mapstruct/ap/conversion/AbstractJodaTypeToStringConversion.java b/processor/src/main/java/org/mapstruct/ap/conversion/AbstractJodaTypeToStringConversion.java
index 846529b8b..bd966bbf7 100644
--- a/processor/src/main/java/org/mapstruct/ap/conversion/AbstractJodaTypeToStringConversion.java
+++ b/processor/src/main/java/org/mapstruct/ap/conversion/AbstractJodaTypeToStringConversion.java
@@ -28,7 +28,9 @@ import org.mapstruct.ap.util.Strings;
import static org.mapstruct.ap.util.Collections.asSet;
/**
+ * Base class for conversions between Joda-Time types and String.
*
+ * @author Timo Eckhardt
*/
public abstract class AbstractJodaTypeToStringConversion extends SimpleConversion {
@@ -83,11 +85,17 @@ public abstract class AbstractJodaTypeToStringConversion extends SimpleConversio
return conversionString.toString();
}
- public String defaultDateFormatPattern() {
+ private String defaultDateFormatPattern() {
return "DateTimeFormat.patternForStyle( \"" + formatStyle() + "\", Locale.getDefault() )";
}
+ /**
+ * Returns the default format style to be applied if non is given explicitly.
+ */
protected abstract String formatStyle();
+ /**
+ * Returns the name of the parse method for converting a String into a specific Joda-Time type.
+ */
protected abstract String parseMethod();
}
diff --git a/processor/src/main/java/org/mapstruct/ap/conversion/Conversions.java b/processor/src/main/java/org/mapstruct/ap/conversion/Conversions.java
index e89746669..df1cc6a14 100644
--- a/processor/src/main/java/org/mapstruct/ap/conversion/Conversions.java
+++ b/processor/src/main/java/org/mapstruct/ap/conversion/Conversions.java
@@ -179,7 +179,7 @@ public class Conversions {
register( BigInteger.class, String.class, new BigIntegerToStringConversion() );
register( BigDecimal.class, String.class, new BigDecimalToStringConversion() );
- registerJoda();
+ registerJodaConversions();
//misc.
register( Enum.class, String.class, new EnumStringConversion() );
@@ -187,7 +187,7 @@ public class Conversions {
register( BigDecimal.class, BigInteger.class, new BigDecimalToBigIntegerConversion() );
}
- private void registerJoda() {
+ private void registerJodaConversions() {
if ( !isJodaTimeAvailable() ) {
return;
}
@@ -235,7 +235,7 @@ public class Conversions {
register(
getClass( JodaTimeConstants.DATE_TIME_FQN ),
Calendar.class,
- new JodaTimeToCalendarConversion()
+ new JodaDateTimeToCalendarConversion()
);
}
diff --git a/processor/src/main/java/org/mapstruct/ap/conversion/JodaTimeToCalendarConversion.java b/processor/src/main/java/org/mapstruct/ap/conversion/JodaDateTimeToCalendarConversion.java
similarity index 90%
rename from processor/src/main/java/org/mapstruct/ap/conversion/JodaTimeToCalendarConversion.java
rename to processor/src/main/java/org/mapstruct/ap/conversion/JodaDateTimeToCalendarConversion.java
index ce6e99b3a..e1f524b01 100644
--- a/processor/src/main/java/org/mapstruct/ap/conversion/JodaTimeToCalendarConversion.java
+++ b/processor/src/main/java/org/mapstruct/ap/conversion/JodaDateTimeToCalendarConversion.java
@@ -18,6 +18,7 @@
*/
package org.mapstruct.ap.conversion;
+import java.util.Calendar;
import java.util.Locale;
import java.util.Set;
@@ -27,9 +28,11 @@ import org.mapstruct.ap.model.common.Type;
import static org.mapstruct.ap.util.Collections.asSet;
/**
+ * Conversion between {@code DateTime} and {@link Calendar}.
*
+ * @author Timo Eckhardt
*/
-public class JodaTimeToCalendarConversion extends SimpleConversion {
+public class JodaDateTimeToCalendarConversion extends SimpleConversion {
@Override
protected String getToExpression(ConversionContext conversionContext) {
diff --git a/processor/src/main/java/org/mapstruct/ap/conversion/JodaDateTimeToStringConversion.java b/processor/src/main/java/org/mapstruct/ap/conversion/JodaDateTimeToStringConversion.java
index 69b6a5ba2..e3dc17e58 100644
--- a/processor/src/main/java/org/mapstruct/ap/conversion/JodaDateTimeToStringConversion.java
+++ b/processor/src/main/java/org/mapstruct/ap/conversion/JodaDateTimeToStringConversion.java
@@ -19,7 +19,9 @@
package org.mapstruct.ap.conversion;
/**
+ * Conversion between {@code DateTime} and {@code String}.
*
+ * @author Timo Eckhardt
*/
public class JodaDateTimeToStringConversion extends AbstractJodaTypeToStringConversion {
diff --git a/processor/src/main/java/org/mapstruct/ap/conversion/JodaLocalDateTimeToStringConversion.java b/processor/src/main/java/org/mapstruct/ap/conversion/JodaLocalDateTimeToStringConversion.java
index 20f78b639..5f7591fbc 100644
--- a/processor/src/main/java/org/mapstruct/ap/conversion/JodaLocalDateTimeToStringConversion.java
+++ b/processor/src/main/java/org/mapstruct/ap/conversion/JodaLocalDateTimeToStringConversion.java
@@ -19,7 +19,9 @@
package org.mapstruct.ap.conversion;
/**
+ * Conversion between {@code LocalDateTime} and {@code String}.
*
+ * @author Timo Eckhardt
*/
public class JodaLocalDateTimeToStringConversion extends AbstractJodaTypeToStringConversion {
diff --git a/processor/src/main/java/org/mapstruct/ap/conversion/JodaLocalDateToStringConversion.java b/processor/src/main/java/org/mapstruct/ap/conversion/JodaLocalDateToStringConversion.java
index 7b644e146..bcf091c4c 100644
--- a/processor/src/main/java/org/mapstruct/ap/conversion/JodaLocalDateToStringConversion.java
+++ b/processor/src/main/java/org/mapstruct/ap/conversion/JodaLocalDateToStringConversion.java
@@ -19,7 +19,9 @@
package org.mapstruct.ap.conversion;
/**
+ * Conversion between {@code LocalDate} and {@code String}.
*
+ * @author Timo Eckhardt
*/
public class JodaLocalDateToStringConversion extends AbstractJodaTypeToStringConversion {
diff --git a/processor/src/main/java/org/mapstruct/ap/conversion/JodaLocalTimeToStringConversion.java b/processor/src/main/java/org/mapstruct/ap/conversion/JodaLocalTimeToStringConversion.java
index 81b116237..0588a0cd1 100644
--- a/processor/src/main/java/org/mapstruct/ap/conversion/JodaLocalTimeToStringConversion.java
+++ b/processor/src/main/java/org/mapstruct/ap/conversion/JodaLocalTimeToStringConversion.java
@@ -19,7 +19,9 @@
package org.mapstruct.ap.conversion;
/**
+ * Conversion between {@code LocalTime} and {@code String}.
*
+ * @author Timo Eckhardt
*/
public class JodaLocalTimeToStringConversion extends AbstractJodaTypeToStringConversion {
diff --git a/processor/src/main/java/org/mapstruct/ap/conversion/JodaTimeConstants.java b/processor/src/main/java/org/mapstruct/ap/conversion/JodaTimeConstants.java
index 7001aacb2..f12eca96e 100644
--- a/processor/src/main/java/org/mapstruct/ap/conversion/JodaTimeConstants.java
+++ b/processor/src/main/java/org/mapstruct/ap/conversion/JodaTimeConstants.java
@@ -19,7 +19,9 @@
package org.mapstruct.ap.conversion;
/**
- * Helper holding constants for working with joda time
+ * Helper holding constants for working with Joda-Time.
+ *
+ * @author Timo Eckhardt
*/
public final class JodaTimeConstants {
diff --git a/processor/src/main/java/org/mapstruct/ap/conversion/JodaTimeToDateConversion.java b/processor/src/main/java/org/mapstruct/ap/conversion/JodaTimeToDateConversion.java
index 081385f1b..96e92e665 100644
--- a/processor/src/main/java/org/mapstruct/ap/conversion/JodaTimeToDateConversion.java
+++ b/processor/src/main/java/org/mapstruct/ap/conversion/JodaTimeToDateConversion.java
@@ -18,6 +18,7 @@
*/
package org.mapstruct.ap.conversion;
+import java.util.Date;
import java.util.Set;
import org.mapstruct.ap.model.common.ConversionContext;
@@ -26,14 +27,14 @@ import org.mapstruct.ap.model.common.Type;
import static org.mapstruct.ap.util.Collections.asSet;
/**
- * Implementation of {@link org.mapstruct.ap.conversion.ConversionProvider} mapping Joda Types
+ * Conversion between the following Joda types and {@link Date}:
*
* - org.joda.time.DateTime
* - org.joda.time.LocalDateTime
* - org.joda.time.LocalDate
*
- * to java.util.Date by invoking org.joda.time.base.AbstractInstant#toDate().
- * Backward conversion is done.
+ *
+ * @author Timo Eckhardt
*/
public class JodaTimeToDateConversion extends SimpleConversion {
diff --git a/processor/src/test/java/org/mapstruct/ap/test/conversion/jodatime/JodaConversionTest.java b/processor/src/test/java/org/mapstruct/ap/test/conversion/jodatime/JodaConversionTest.java
index 303e6c670..04006ccf8 100644
--- a/processor/src/test/java/org/mapstruct/ap/test/conversion/jodatime/JodaConversionTest.java
+++ b/processor/src/test/java/org/mapstruct/ap/test/conversion/jodatime/JodaConversionTest.java
@@ -18,6 +18,9 @@
*/
package org.mapstruct.ap.test.conversion.jodatime;
+import java.util.Calendar;
+import java.util.TimeZone;
+
import org.joda.time.DateTime;
import org.joda.time.DateTimeZone;
import org.joda.time.LocalDate;
@@ -29,13 +32,12 @@ import org.mapstruct.ap.testutil.IssueKey;
import org.mapstruct.ap.testutil.WithClasses;
import org.mapstruct.ap.testutil.runner.AnnotationProcessorTestRunner;
-import java.util.Calendar;
-import java.util.TimeZone;
-
import static org.fest.assertions.Assertions.assertThat;
/**
+ * Tests the conversion between Joda-Time types and String/Date/Calendar.
*
+ * @author Timo Eckhardt
*/
@RunWith(AnnotationProcessorTestRunner.class)
@WithClasses({ Source.class, Target.class, SourceTargetMapper.class })
@@ -110,7 +112,7 @@ public class JodaConversionTest {
Target target = new Target();
target.setDateTime( dateTimeAsString );
DateTime sourceDateTime =
- new DateTime( 2014, 1, 1, 0, 0, 0, DateTimeZone.UTC );
+ new DateTime( 2014, 1, 1, 0, 0, 0, DateTimeZone.UTC );
Source src = SourceTargetMapper.INSTANCE.targetToSourceDateTimeMapped( target );
assertThat( src ).isNotNull();
@@ -123,7 +125,7 @@ public class JodaConversionTest {
Target target = new Target();
target.setLocalDateTime( dateTimeAsString );
LocalDateTime sourceDateTime =
- new LocalDateTime( 2014, 1, 1, 0, 0, 0 );
+ new LocalDateTime( 2014, 1, 1, 0, 0, 0 );
Source src = SourceTargetMapper.INSTANCE.targetToSourceLocalDateTimeMapped( target );
assertThat( src ).isNotNull();
@@ -136,7 +138,7 @@ public class JodaConversionTest {
Target target = new Target();
target.setLocalDate( dateTimeAsString );
LocalDate sourceDate =
- new LocalDate( 2014, 1, 1 );
+ new LocalDate( 2014, 1, 1 );
Source src = SourceTargetMapper.INSTANCE.targetToSourceLocalDateMapped( target );
assertThat( src ).isNotNull();
@@ -149,7 +151,7 @@ public class JodaConversionTest {
Target target = new Target();
target.setLocalTime( dateTimeAsString );
LocalTime sourceTime =
- new LocalTime( 0, 0 );
+ new LocalTime( 0, 0 );
Source src = SourceTargetMapper.INSTANCE.targetToSourceLocalTimeMapped( target );
assertThat( src ).isNotNull();
@@ -199,6 +201,5 @@ public class JodaConversionTest {
Source mappedSource = SourceTargetMapper.INSTANCE.targetToSource( target );
assertThat( mappedSource ).isNotNull();
assertThat( mappedSource.getDateTimeForCalendarConversion() ).isEqualTo( dateTimeWithCalendar );
-
}
}
diff --git a/processor/src/test/java/org/mapstruct/ap/test/conversion/jodatime/Source.java b/processor/src/test/java/org/mapstruct/ap/test/conversion/jodatime/Source.java
index 95554a5de..23b2379e8 100644
--- a/processor/src/test/java/org/mapstruct/ap/test/conversion/jodatime/Source.java
+++ b/processor/src/test/java/org/mapstruct/ap/test/conversion/jodatime/Source.java
@@ -23,9 +23,6 @@ import org.joda.time.LocalDate;
import org.joda.time.LocalDateTime;
import org.joda.time.LocalTime;
-/**
- *
- */
public class Source {
private DateTime dateTime;
diff --git a/processor/src/test/java/org/mapstruct/ap/test/conversion/jodatime/SourceTargetMapper.java b/processor/src/test/java/org/mapstruct/ap/test/conversion/jodatime/SourceTargetMapper.java
index c4c7f4aa7..446c75899 100644
--- a/processor/src/test/java/org/mapstruct/ap/test/conversion/jodatime/SourceTargetMapper.java
+++ b/processor/src/test/java/org/mapstruct/ap/test/conversion/jodatime/SourceTargetMapper.java
@@ -23,9 +23,6 @@ import org.mapstruct.Mapping;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers;
-/**
- *
- */
@Mapper
public interface SourceTargetMapper {
@@ -39,43 +36,47 @@ public interface SourceTargetMapper {
SourceTargetMapper INSTANCE = Mappers.getMapper( SourceTargetMapper.class );
- @Mappings({ @Mapping( source = "dateTime", dateFormat = DATE_TIME_FORMAT ),
- @Mapping( source = "localDateTime", dateFormat = LOCAL_DATE_TIME_FORMAT ),
- @Mapping( source = "localDate", dateFormat = LOCAL_DATE_FORMAT ),
- @Mapping( source = "localTime", dateFormat = LOCAL_TIME_FORMAT ) })
+ @Mappings({
+ @Mapping(source = "dateTime", dateFormat = DATE_TIME_FORMAT),
+ @Mapping(source = "localDateTime", dateFormat = LOCAL_DATE_TIME_FORMAT),
+ @Mapping(source = "localDate", dateFormat = LOCAL_DATE_FORMAT),
+ @Mapping(source = "localTime", dateFormat = LOCAL_TIME_FORMAT)
+ })
Target sourceToTarget(Source source);
Target sourceToTargetDefaultMapping(Source source);
- @Mapping( source = "dateTime", dateFormat = DATE_TIME_FORMAT )
+ @Mapping(source = "dateTime", dateFormat = DATE_TIME_FORMAT)
Target sourceToTargetDateTimeMapped(Source source);
- @Mapping( source = "localDateTime", dateFormat = LOCAL_DATE_TIME_FORMAT )
+ @Mapping(source = "localDateTime", dateFormat = LOCAL_DATE_TIME_FORMAT)
Target sourceToTargetLocalDateTimeMapped(Source source);
- @Mapping( source = "localDate", dateFormat = LOCAL_DATE_FORMAT )
+ @Mapping(source = "localDate", dateFormat = LOCAL_DATE_FORMAT)
Target sourceToTargetLocalDateMapped(Source source);
- @Mapping( source = "localTime", dateFormat = LOCAL_TIME_FORMAT )
+ @Mapping(source = "localTime", dateFormat = LOCAL_TIME_FORMAT)
Target sourceToTargetLocalTimeMapped(Source source);
- @Mappings({ @Mapping( source = "dateTime", dateFormat = DATE_TIME_FORMAT ),
- @Mapping( source = "localDateTime", dateFormat = LOCAL_DATE_TIME_FORMAT ),
- @Mapping( source = "localDate", dateFormat = LOCAL_DATE_FORMAT ),
- @Mapping( source = "localTime", dateFormat = LOCAL_TIME_FORMAT ) })
+ @Mappings({
+ @Mapping(source = "dateTime", dateFormat = DATE_TIME_FORMAT),
+ @Mapping(source = "localDateTime", dateFormat = LOCAL_DATE_TIME_FORMAT),
+ @Mapping(source = "localDate", dateFormat = LOCAL_DATE_FORMAT),
+ @Mapping(source = "localTime", dateFormat = LOCAL_TIME_FORMAT)
+ })
Source targetToSource(Target target);
- @Mapping( source = "dateTime", dateFormat = DATE_TIME_FORMAT )
+ @Mapping(source = "dateTime", dateFormat = DATE_TIME_FORMAT)
Source targetToSourceDateTimeMapped(Target target);
- @Mapping( source = "localDateTime", dateFormat = LOCAL_DATE_TIME_FORMAT )
+ @Mapping(source = "localDateTime", dateFormat = LOCAL_DATE_TIME_FORMAT)
Source targetToSourceLocalDateTimeMapped(Target target);
- @Mapping( source = "localDate", dateFormat = LOCAL_DATE_FORMAT )
+ @Mapping(source = "localDate", dateFormat = LOCAL_DATE_FORMAT)
Source targetToSourceLocalDateMapped(Target target);
- @Mapping( source = "localTime", dateFormat = LOCAL_TIME_FORMAT )
+ @Mapping(source = "localTime", dateFormat = LOCAL_TIME_FORMAT)
Source targetToSourceLocalTimeMapped(Target target);
Source targetToSourceDefaultMapping(Target target);
diff --git a/processor/src/test/java/org/mapstruct/ap/test/conversion/jodatime/Target.java b/processor/src/test/java/org/mapstruct/ap/test/conversion/jodatime/Target.java
index 835f2a36e..808f58f64 100644
--- a/processor/src/test/java/org/mapstruct/ap/test/conversion/jodatime/Target.java
+++ b/processor/src/test/java/org/mapstruct/ap/test/conversion/jodatime/Target.java
@@ -21,9 +21,6 @@ package org.mapstruct.ap.test.conversion.jodatime;
import java.util.Calendar;
import java.util.Date;
-/**
- *
- */
public class Target {
private String dateTime;