Menu

Tree [b590ee] master /
 History

HTTPS access


File Date Author Commit
 project 2015-04-08 Alexander Mitin Alexander Mitin [b590ee] Initial Commit
 Readme.txt 2015-04-08 Alexander Mitin Alexander Mitin [b590ee] Initial Commit

Read Me

Backend сервера построен на фраемворке Spring

Особый интерес представляет пакет "dao" (src\main\java\kik\core\dao), в нем находятся все функциональные элементы по работе DAS сервером

Особое внимание советую обратить в сторону Рефлексии ("src\main\java\kik\core\InjectionTst"). 
Основной смысл Рефлексии  - по именам полей класса проиницилизовать его значения пришедшим объектом от DAS сервера,где поле атрибута "code" - имя поля Java класса,
таким  образом, избавляемся от нудного перекладывания данных из одного объекта в другой. 
Сама простая реализация Рефлексии, по опыту, достигается, когда внедряемые данные приходят в как можно простом виде (JSON строка).
Пример:
 AttributeMeta Info:[{code: "inches",type: int},{code:"name", type:varchar}]
		P.S. type - Для привидения типов.
 
public Class Product{
 private int inches;
 private String name;
	
  private void setInches (int _inch){
	this.inches=_inch;
	}
 private void setName (String _nm){
	this.name=_nm;
 	}

}

public Class Injector{
    public Injector(Att_Json, Object cl){
     //Получаем все сеттеры
     Set<Method> setters = ReflectionUtils.getAllMethods(cl.getClass(), ReflectionUtils.withModifier(Modifier.PUBLIC), ReflectionUtils.withPrefix("set"));
      
     //получаем все геттеры
     Set<Method> getters = ReflectionUtils.getAllMethods(cl.getClass(),  ReflectionUtils.withModifier(Modifier.PUBLIC), ReflectionUtils.withPrefix("get"));
        
    //Получаем все изсеры :)
     Set<Method> iss = ReflectionUtils.getAllMethods(cl.getClass(),  ReflectionUtils.withModifier(Modifier.PUBLIC), ReflectionUtils.withPrefix("is"));

       
		
	//По каждому из Set'ов обходим все поля и внедряем ресурсы в соответсвии со значениями атрибутов в поле  'code'
       for (Field field: cl.getClass().getFields()){

 
       
		}

        
	for (Method get :getters){
 
			           //mth.invoke();
  //Вызов метода на исполнение, для получения//вставку значения      

	}
        
	for (Method set :setters){

            System.out.println();
        
	}
        
	for (Method is :iss){


        
	}
}
}   

Все. Добрая часть моделей данных умеет заполняться.

С Любыми вопросами обращайтеся по тел. +7 926 05 888 62 - Александр Митин
	
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.