co.paralleluniverse.data.record.package-info Maven / Gradle / Ivy
/*
* Copyright (c) 2013-2014, Parallel Universe Software Co. All rights reserved.
*
* This program and the accompanying materials are dual-licensed under
* either the terms of the Eclipse Public License v1.0 as published by
* the Eclipse Foundation
*
* or (per the licensee's choosing)
*
* under the terms of the GNU Lesser General Public License version 3.0
* as published by the Free Software Foundation.
*/
/**
* Records - managed shared mutable state
*
* Here's an example record type definition:
*
* {@code
* class A {
* public static final RecordType aType = RecordType.newType(A.class);
* public static final IntField $id = stateType.intField("id");
* public static final DoubleField $foo = stateType.doubleField("id", Field.TRANSIENT);
* public static final ObjectField $name = stateType.objectField("name", String.class);
* public static final ObjectField> $emails = stateType.objectField("emails", new TypeToken() {});
* }
* }
*
* {@code A} is the type's identifier class. The fields are instances of {@link co.paralleluniverse.data.record.Field Field} and are, by convention,
* given identifiers that begin with a {@code $} to make it clear that they identify fields rather than values.
*
* A new record is instantiated by calling one of {@link co.paralleluniverse.data.record.RecordType RecordType}'s {@code newInstance} methods.
*
*/
package co.paralleluniverse.data.record;
© 2015 - 2025 Weber Informatics LLC | Privacy Policy