===0.6.5=== * DataParser does not parse 1.0E+14 ([https://www.simantics.org/redmine/issues/3798|#3798]) ===0.6.2=== * Bindings for "generics" types can be constructed dynamically with BindingFactory2 ** Java collection bindings are in JavaBaseClassFactory * Fixed binding cache bug. Bindings were acquired from cache and thus reinstantiated * FileAccessor#reset(), flushes internal cache * Removed org.simantics.databoard.datasource and org.simantics.databoard.history packages * Variant#readFrom * PriorityQueueBinding * StreamAccessor, has no header, no array size, component type is fixed size, can be opened for read in another file handle * More example code ===0.6.1=== * Accessor: ** AccessorParam has Configurable Serializer-, Binding- and Adapter-Factories ** Accessor always type adapts ** ArrayAccessor#get(index, binding, value) ** MapAccessorIterator ** EventEmitter removed ** Listener events are handled in user's executor ** FileArrayAccessor#..noFlush methods ** RecordAccessor#getSetField( FIELD_NAME, ... ) ** bug fixed in RandomAccessBinary affects FileAccessor ** MapAccessor#count, MapAccessor#getEntries * Binding: ** MapBinding#count, MapBinding#getEntries ===0.6.0=== * Datatype: ** Datatype#getComponentType( ChildReference ) ** Rename: DataType -> Datatype, DataTypes -> Datatypes ** Moved Default Datatypes under Datatypes class, e.g. Datatypes.STRING * Binding: ** Reading to existing objects, e.g. rectBinding.readFrom(b, rect, rect2); ** New default binding scheme, e.g. Bindings#getDefaultBinding. Bindings.getDefaultBinding( Datatypes.BYTE_ARRAY ) -> byte[] ** New reflection binding factory ** New generic binding scheme ** Moved Default bindings under Bindings class, e.g. StringBindingDefault.Instance --> Bindings.String ** Generics support for reflection binding, eg. Binding binding = Bindings.getBinding(Map.class, String.class, Integer.class); ** Removed unbound & single binding scheme * Serialization: ** Deserializing to exiting object, e.g. Serializer#deserialize(byte[], Object readTo); ** New serializer factory ** DataInput & DataOutput instead of BinaryReadable & BinaryWritable ** ByteOrder removed from BinaryReadable & BinaryWritable. ** ByteOrder is now Network Order (Big Endian). ** Strings Modified-UTF-8 (used to be UTF-8) ** Exceptions unified (now IOException, was SerializationException, IOException, BindingException) ** Removed FileReadable, FileWriteable - they were redundant with BinaryFile. ** Deserializer protected from malformed data (no more out of memory) * Accessor: ** Reading to exsiting object, e.g. Accessor#getValue(Binding binding, Object readTo); ** MapAccessor: Count(range), getEntries(range) ** ArrayAccessor: setSize ** AccessorReference -> ChildReference; FieldIndexReference ->IndexReference, FieldNameReference ->NameReference, TagReference -> ComponentReference, TagNameReference -> NameReference, TagIndexReference -> IndexReference, VariantValueReference -> ComponentReference * Unsigned primitives: int, byte, long, short + mutable versions * Fixed a bunch of small bugs, fixed documentation, fixed comments 0.5.2 - 20.7.2010 * BinaryAccessor fixed bugs * Simplified events, redundancy is removed * Accessor Reference String Format * Variant String Format * Files Facade Class - Do not use Wire / History, They are not ready in this release ===0.5.1=== * Fixed BinaryObject#close() now actually closes the file handle. * Fixed Methods#createProxy several bugs fixed * Fixed Range, the pattern * Fixed BinarySerializer, size error in primitive array * Fixed ReflectionEnumBinding and ReflectionUnionClassBinding #getTag, now throws BindingException on invalid input * Added Label Reference to accessor references * Updated Accessor / InterestSet comments * Updated documents * Updated standard type library ===0.5.0=== Release Date: 1.4.2010 * DataTypes: ** VariantType ** MapType ** public fields are privatized * Binding: ** public fields are privatized ** iterators removed ** unchecked methods that throw runtime exceptions ** separation of abstract classes and implementing classes ** modifications to existing instances (in addition to create new) ** setters & getters & partial setters ** hashValue, equals, compareTo ** createDefault, createRandom ** clone value * Generic Binding ** Completely mutable objects ** MutableInteger, MutableBoolean, ..., MutableString, VariantContainer, Variant * Reflection Binding ** Array, ArrayList, LinkedList ** Map, HashMap, TreeMap ** Set, HashSet, TreeSet ** Enums ** Object as variant ** void * Serializer ** Value as InputStream ** Convenient methods that figure out if identifiers are needed ** Binary Serializer is now the default serializer * Ascii ** File extensions defined (.vle, .tpe) ** Uses DataTypeRepository, DataValueRepository * Binary Data Handling ** File - .dat , always Variant ** RandomAccessBinary -interface, variable sized blob with insert & remove ** BinaryFile - File implementation with high performance cache ** BinaryMemory - byte[], ByteBuffer implementation ** Blob - A sub-container of a RandomAccessBinary ** FileList - flushes after write * Adapters ** Type Adapter (e.g. adapt subtype to a supertype) ** Clone * Accessors ** Accessor - unified interface to access, monitor and modify data models ** Listener system ( monitor objects ) ** InterestSet system ( what to monitor? ) ** Tree reference system ( where has the change occured? ) ** Event system ( what is the change? ) ** Binary File implementation ** Memory implementation * Facades ** Accessors - create and open accessors ** Units - annexed from org.simantics.units (Hannu's) ** Separated DataTypes to DataTypes, Bindings and Methods * Testing ** Thorough Binding test ** Very thorough Binding test based on random types & values ** Very thorough Accessor test case based on randon types & values * Specifications ** Binary File format changed, array & map length is uint32 ** Ascii file format changed * Bug fixes ** MethodInterface void return type fixed ** Dosens of bugs in serializer ** Dosens of bugs in Bindings ** Methods - void as return argument fixed ** Million fixes to everything else * C++ Library ** DataValues and DataTypes ** Ascii parser * Other ** Library is now "org.simantics.DataBoard" ** Website changed ** Contracts ** Standard Type Library ** Standard Unit Library ===0.4.0=== Release Date: 5.11.2009 * Added: OptionalBinding hasValue(), getValue(), createNoValue() and createWithValue() * Exception Rework: RuntimeExceptions converted to normal Exceptions * Added: String to DataType parser * Added: Regular Expression Pattern to StringType * Added: Binding.assertInstanceIsValid() * Fixed: Construction of OptionalBinding, now refers to correct OptionalType instance * Added: Binding.getDataType() returns down casted type * Modified: Binding always throws BindingException insteadof RuntimeException(e.g. ClassCastException) * Fixed: ArrayBindings threw IllegalArgumentException with corred argument * Added: ArrayBindings .create( Boxed[] array ) * Modified: MethodType requestType is always RecordType, and errorType is always UnionType * Added: new concepts InterfaceType, InterfaceTypeDefinition * Modified: Min&Max,MinLength&MaxLength -> Range,Length * Added: Instance validator Binding.assertInstaceIsValid( instance ) * Fixed: Annotations now reach elements of array fields. * Added: Default serializer format, see Binding.serializer() * Renamed: Adapters -> AdapterRepository MethodInterface -> InterfaceBinding MethodDescription -> MethodTypeDefinition MethodBinding -> MethodTypeBinding MethodInterfaceClient -> Client MethodInterfaceServer -> Server MethodInterfaceConnection -> Connection MethodInterfaceExample -> RemoteInterfaceExample / InterfaceBindingExample IntType -> IntegerType IntBinding -> IntegerBinding ===0.3.5=== Release Date: 1.9.2009 * *fixed hashing bug in reflection binding cache * *fixed DataType.toString * *fixed RecordArray.skip() ===0.3.4=== Release Date: 2.9.2009 * +Unit adapter * +Primitive type adapter * +MethodInterface * +NumberBinding constructors * -PhysicalBinding * *Fixed bugs related to reflection bindings&datatypes with annotations * + (Optional) ASM dependency ===0.3.3=== Release Date: 26.8.2009 * Improved Adapter performance * Remove name String * Deep hash-equals to RecordType and UnionType (recursion was problematic) * Added MethodType, MethodDescription, MethodBinding * ReflectionBinding, (1) supports all-arguments-constructor, (2) Bean-style getter/setter classes, (3) get/set primitives in a record type * Fixed BooleanArraySerializer, Ticket [2] ===0.3.2=== Release Date: 4.8.2009 * Fixed ArrayBinding. ===0.3.1=== Release Date: 1.7.2009 * Enumerations to ReflectionBinding * PhysicalType -> field in NumberType * DataTypes Facade-class ===0.3=== Release Date: 17.6.2009 * GenericBinding * DummyBinding * ReflectionBinding * FileList * Adapter * Buffered Reader & Writer, File Reader & Writer * RecordType name (NOTE TO BE REMOVED) * Serialization size * Serialization skip * byte[] optimization * DataType visitor * Byte Type * Specific exceptions instead of generic * Byte data validator * Test Cases * Multi-Dimension array restrictions ===0.2=== Release Date: 26.5.2009 * Documentation * Examples * Better Performance * Binding+Serialization Recursion * StringFormat * Mime Type * Removed Redundant code ===0.1=== Release Date: 25.5.2009 * Initial Release