76 lines
3.2 KiB
Java
76 lines
3.2 KiB
Java
package com.thoughtworks.xstream.converters.extended;
|
|
|
|
import java.sql.Timestamp;
|
|
import java.util.Date;
|
|
|
|
/* loaded from: classes.dex */
|
|
public class ISO8601SqlTimestampConverter extends ISO8601DateConverter {
|
|
private static final String PADDING = "000000000";
|
|
static /* synthetic */ Class class$java$sql$Timestamp;
|
|
static /* synthetic */ Class class$java$util$Date;
|
|
|
|
static /* synthetic */ Class class$(String str) {
|
|
try {
|
|
return Class.forName(str);
|
|
} catch (ClassNotFoundException e) {
|
|
throw new NoClassDefFoundError().initCause(e);
|
|
}
|
|
}
|
|
|
|
@Override // com.thoughtworks.xstream.converters.extended.ISO8601DateConverter, com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter, com.thoughtworks.xstream.converters.ConverterMatcher
|
|
public boolean canConvert(Class cls) {
|
|
Class cls2 = class$java$sql$Timestamp;
|
|
if (cls2 == null) {
|
|
cls2 = class$("java.sql.Timestamp");
|
|
class$java$sql$Timestamp = cls2;
|
|
}
|
|
if (cls == cls2) {
|
|
Class cls3 = class$java$util$Date;
|
|
if (cls3 == null) {
|
|
cls3 = class$("java.util.Date");
|
|
class$java$util$Date = cls3;
|
|
}
|
|
if (super.canConvert(cls3)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
@Override // com.thoughtworks.xstream.converters.extended.ISO8601DateConverter, com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter, com.thoughtworks.xstream.converters.SingleValueConverter
|
|
public Object fromString(String str) {
|
|
int lastIndexOf = str.lastIndexOf(46);
|
|
int i = 0;
|
|
if (lastIndexOf > 0) {
|
|
int i2 = lastIndexOf + 1;
|
|
int i3 = i2;
|
|
while (Character.isDigit(str.charAt(i3))) {
|
|
i3++;
|
|
}
|
|
int parseInt = Integer.parseInt(str.substring(i2, i3));
|
|
StringBuffer stringBuffer = new StringBuffer();
|
|
stringBuffer.append(str.substring(0, lastIndexOf));
|
|
stringBuffer.append(str.substring(i3));
|
|
str = stringBuffer.toString();
|
|
i = parseInt;
|
|
}
|
|
Timestamp timestamp = new Timestamp(((Date) super.fromString(str)).getTime());
|
|
timestamp.setNanos(i);
|
|
return timestamp;
|
|
}
|
|
|
|
@Override // com.thoughtworks.xstream.converters.extended.ISO8601DateConverter, com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter, com.thoughtworks.xstream.converters.SingleValueConverter
|
|
public String toString(Object obj) {
|
|
Timestamp timestamp = (Timestamp) obj;
|
|
String iSO8601DateConverter = super.toString(new Date((timestamp.getTime() / 1000) * 1000));
|
|
String valueOf = String.valueOf(timestamp.getNanos());
|
|
int lastIndexOf = iSO8601DateConverter.lastIndexOf(46);
|
|
StringBuffer stringBuffer = new StringBuffer();
|
|
stringBuffer.append(iSO8601DateConverter.substring(0, lastIndexOf + 1));
|
|
stringBuffer.append(PADDING.substring(valueOf.length()));
|
|
stringBuffer.append(valueOf);
|
|
stringBuffer.append(iSO8601DateConverter.substring(lastIndexOf + 4));
|
|
return stringBuffer.toString();
|
|
}
|
|
}
|