Skip to content

Изменение значений полей класса (Changing class field values)

License

Notifications You must be signed in to change notification settings

kalenchukov/LemnaChanging

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Справка

LemnaChanging

Изменение значений полей класса.

Использование

Создание изменяющего класса

Для создания изменяющего класса, необходимо создать класс реализующий интерфейс "Modificatory".

import dev.kalenchukov.lemna.changing.annotations.Changing;

public final class CommentModifier implements Modificatory<String>
{
	@Nullable
	@Override
	public String modify(@Nullable String value)
	{
		if (value == null)
		{
			return null;
		}

		return value.toUpperCase();
	}
}

Изменение значений полей класса

Чтобы задать изменяющего для поля, необходимо добавить аннотацию "@Changer". Данная аннотация содержит параметр для указания изменяющего класса.

Класс, в котором необходимо изменить значение поля:

import dev.kalenchukov.lemna.changing.annotations.Changer;

public class Experimental
{
	@Changer(modifier = CommentModifier.class)
	private String comment = "Мой комментарий";

	public String getComment()
	{
		return this.comment;
	}
}

Вызов изменяющего:

import dev.kalenchukov.lemna.changing.Changing;
import dev.kalenchukov.lemna.changing.Changeable;

Experimental experimental = new Experimental();

Changeable changing = new Changing(experimental);
changing.change();

experimental.getComment();

Результат выполнения:

МОЙ КОММЕНТАРИЙ