Ignore:
Timestamp:
06/26/13 13:27:31 (11 years ago)
Author:
psniegowski
Message:

HIGHLIGHTS:

  • use java annotations to mark classes and fields to be used when:
    • using java classes with ReflectionAccess? to represent remote objects with FramsClass? description found by "info ..." requests
    • to build up FramsClass? representation of objects not present at remote server
  • allow using primitive types (instead of wraping counterparts) in reflected classes
  • rework FramsClass? creation process (add FramsClassBuilder?)
  • add more tests

CHANGELOG:
Prepare model.World class.

Minor change.

Use primitive types for Genotype and Creature classes.

Use primitive types in model.Neuro* classes.

Use primitive types in model.Joint* classes.

Use primitive types in model.Part* classes.

Fix primitive values.

Extract FramsClassBuilder?.

Add tests of Model classes.

More fixes.

Refactorize out ParamCandidate?.

Several fixes.

Fix all regressions after introducing annotations.

Use annotations throughout the project.

Add exception classes.

Improve creation of FramsClass?.

More changes.

Many changes regarding annotations.

Annotate classes in com.framsticks.model package.

Remove manual FramsClass? constructor.

Construct FramsClass? for Creature. Add test.

Add default values to the ParamAnnotation?.

Add ParamBuilderTest? and ParamAnnotation?.

Add FramsClassAnnotation?.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • java/main/src/main/java/com/framsticks/params/SimpleAbstractAccess.java

    r84 r86  
    6565        @Override
    6666        public Param getParam(int i) {
    67                 return framsClass.getParamEntry(i, Param.class);
     67                return framsClass.getParam(i);
    6868        }
    6969
    7070        @Override
    7171        public Param getParam(String id) {
    72                 return framsClass.getParamEntry(id, Param.class);
     72                return framsClass.getParam(id);
    7373        }
    7474
     
    8080        @Override
    8181        public <T> T get(int i, Class<T> type) {
    82                 Param p = getParam(i);
    83                 assert p instanceof ValueParam;
    84                 return get((ValueParam) p, type);
     82                return get(framsClass.getParamEntry(i, ValueParam.class), type);
    8583        }
    8684
    8785        @Override
    8886        public <T> T get(String id, Class<T> type) {
    89                 Param p = getParam(id);
    90                 assert p instanceof ValueParam;
    91                 return get((ValueParam) p, type);
     87                return get(framsClass.getParamEntry(id, ValueParam.class), type);
     88        }
     89
     90        @Override
     91        public <T> int set(int i, T value) {
     92                return set(framsClass.getParamEntry(i, ValueParam.class), value);
    9293        }
    9394
    9495        @Override
    9596        public <T> int set(String id, T value) {
    96                 Param p = getParam(id);
    97                 assert p instanceof ValueParam;
    98                 return set((ValueParam) p, value);
    99         }
    100 
    101         @Override
    102         public <T> int set(int i, T value) {
    103                 Param p = getParam(i);
    104                 assert p instanceof ValueParam;
    105                 return set((ValueParam) p, value);
     97                return set(framsClass.getParamEntry(id, ValueParam.class), value);
    10698        }
    10799
     
    115107                        ReassignResult<?> result = param.reassign(value, oldValue);
    116108                        Object casted = result.getValue();
    117                         if (casted != oldValue) {
     109                        if (!casted.equals(oldValue)) {
    118110                                internalSet(param, casted);
    119111                        }
Note: See TracChangeset for help on using the changeset viewer.