Нужна помощь по присвоению классов - PullRequest
0 голосов
/ 09 августа 2011

У меня есть класс, который анализирует строку, и, если строка не является нулевой или пустой строкой, он создает новую строку или новую дату, используя объект в зависимости от типа подкласса. Если строка пуста или пуста, она возвращает пустую строку. В настоящее время я называю этот конвертер классов, но я чувствую, что это имя вводит в заблуждение. Может ли кто-нибудь придумать, что делает этот класс? Я хочу что-то интуитивное, что сделает мой код более читабельным. Спасибо.

public abstract class Converter {
    Object returnObject;

    public Converter() {

    }

    public Object convert(String value)
    {
        if(!this.isEmpty(value))
        {
            this.setReturnObject(value);    
        }else
        {
            this.returnObject = "";
        }
        return this.getReturnObject();
    }

    protected boolean isEmpty(String value)
    {
        return (value != null && value.equalsIgnoreCase(""));
    }

    protected abstract void setReturnObject(String value);

    protected Object getReturnObject(){
        return this.returnObject;
    }
}

public class NumberConverter extends Converter {
    public NumberConverter() {
    }

    protected void setReturnObject(String value) {
        this.returnObject = new Number(Integer.parseInt(value));
    }
}

Ответы [ 4 ]

2 голосов
/ 09 августа 2011

Префикс «Entity» не подходит, поскольку класс принимает не сущность, а строку.

Я бы также не выбрал трансформатор (или преобразователь), потому что исходное значение не меняется (это правило неизменных строковых правил).

Я бы выбрал StringMapper или, может быть, StringParser (как это было предложено Burleigh Bear).

В дополнение к этому, вы можете использовать обобщенные типы для определения отображаемых / анализируемых типов и сделать этот код более безопасным для типов.

2 голосов
/ 09 августа 2011

Вы можете использовать EntityMapper или EntityTransformer.

0 голосов
/ 09 августа 2011

Поскольку вы берете строку и анализируете ее, я бы сказал: "Parser".

0 голосов
/ 09 августа 2011

Я полагаю, что абстрактный класс не содержит никаких определений метода внутри него ... !!Лучше сначала проверь эту штуку .. !!

и что касается именования, я бы согласился с Сатвиком.Благодарю.:)

...