Как заполнить / создать новые классы из данных Strings / HTML? ДЖАВА - PullRequest
0 голосов
/ 08 ноября 2018

Предположим, у меня есть куча строк, теперь мне нужно создавать / записывать новые классы из всех данных. Например, допустим, у меня есть отформатированные данные String с двумя элементами, которые необходимо создать:

STAMINA
    You have an amazing amount of stamina. 

PREREQUISITE: Health 13 

BENEFIT: You recover vitality points twice as fast as normal. So, if
    you would normally recover 1 hp per level per hour, 
    with this feat you recover 2 hp per level per hour. A 
    ******* character with this feat recovers 4 hp per 
    level per hour. 

CHITINOUS
    You have especially thick armor for a member of your species.

PREREQUISITE: Health 13, damage reduction as a species trait

BENEFIT: The damage reduction you receive as a species trait is 
    increased by 1. This bonus does not apply 
    to DR imparted by equipment.

SPECIAL: This feat can be selected multiple times. Each time you 
    select it, its effects stack.

К этому времени он был добавлен в хэш-карту, где заголовок / имя функции указаны в качестве ключа, а остальные данные в виде строки для значения.

Теперь мне нужно создать новые файлы классов для каждого «Подвига», Выносливость и Читноус . Таким образом, после получения ключа Stamina и его значения (всего, что связано со Stamina) с карты, приведенные выше данные приведут к чему-то подобному приведенному ниже.

Во-первых, класс Stamina, расширяющий абстрактный класс Feat.

public class Stamina extends Feat {
  public Stamina() {
    super("STAMINA", "You have an amazing amount of stamina.\n" +
          "    PREREQUISITE: Health 13\n" + 
          "    BENEFIT: You recover hp twice as fast as normal. So,
          if you would normally recover 1 hp per level per hour, 
          with this feat you recover 2 hp per level per hour. 
          A ******* character with this feat recovers 4 hp points per 
          level per hour.");
    prereqs.put("CON", 13);//This is a method that populates when seeing "PREREQUISITE" in the String
    }
  }

Обратите внимание, что есть дополнительная строка, которая вызывает вспомогательный метод в дополнение к вызову super (String name, String data) .

После этого алгоритм должен сгенерировать другой файл класса Chitnous и поместить его в тот же каталог, что и новый файл класса Stamina , однако для меня было бы излишним писать этот пример.

Заранее спасибо!

TL: DR Как мне взять строки и из них записать новые файлы классов в целевой каталог в моем проекте Android? Чтобы было ясно, мне не нужно инициализировать объекты, я пытаюсь заполнить код из строк. Это происходит в одноэлементном методе / когда-либо только один раз.

...