degrees + fix for tests

This commit is contained in:
serso
2011-10-23 14:11:33 +04:00
parent 4c59822396
commit e54ae2808d
13 changed files with 88 additions and 35 deletions

View File

@@ -6,7 +6,6 @@
package org.solovyev.common;
import android.util.Log;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.solovyev.common.utils.*;
@@ -35,13 +34,16 @@ public abstract class AbstractIntervalMapper<T> implements Mapper<Interval<T>> {
@Override
public Interval<T> parseValue(@Nullable String s) throws IllegalArgumentException {
Log.d(AbstractIntervalMapper.class.getName(), "Parsing: " + s);
//Log.d(AbstractIntervalMapper.class.getName(), "Parsing: " + s);
final List<T> list = CollectionsUtils.split(s, ";", getParser());
assert list.size() == 2;
return new IntervalImpl<T>(list.get(0), list.get(1));
return newInstance(list.get(0), list.get(1));
}
@NotNull
protected abstract Interval<T> newInstance(@Nullable T left, @Nullable T right);
@NotNull
protected abstract Parser<T> getParser();
}

View File

@@ -16,7 +16,7 @@ import org.solovyev.common.utils.Parser;
* Date: 9/26/11
* Time: 10:45 PM
*/
public class GenericIntervalMapper<T> extends AbstractIntervalMapper<T> {
public abstract class GenericIntervalMapper<T> extends AbstractIntervalMapper<T> {
@NotNull
private final Mapper<T> mapper;
@@ -36,4 +36,9 @@ public class GenericIntervalMapper<T> extends AbstractIntervalMapper<T> {
protected Parser<T> getParser() {
return mapper;
}
@NotNull
public Mapper<T> getMapper() {
return mapper;
}
}

View File

@@ -7,6 +7,9 @@
package org.solovyev.common;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.solovyev.common.utils.Interval;
import org.solovyev.common.utils.NumberInterval;
/**
* User: serso
@@ -18,4 +21,10 @@ public class NumberIntervalMapper<T extends Number> extends GenericIntervalMappe
public NumberIntervalMapper(@NotNull Class<T> clazz) {
super(new NumberMapper<T>(clazz));
}
@NotNull
@Override
protected Interval<T> newInstance(@Nullable T left, @Nullable T right) {
return new NumberInterval<T>(left, right);
}
}