|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.devexperts.qd.kit.DefaultScheme
public class DefaultScheme
The DefaultScheme
is a basic implementation of data scheme.
It uses record identifier and CompactInt
format for
record identity serialization.
Field Summary | |
---|---|
protected SymbolCodec |
codec
|
protected DataRecord[] |
records
|
Constructor Summary | |
---|---|
DefaultScheme(SymbolCodec codec,
DataRecord[] records)
|
Method Summary | ||
---|---|---|
static DataScheme |
createFromProperties(java.util.Map properties,
java.lang.String prefix)
Deprecated. This method shall be moved to PropertyConfigurator or equivalent. |
|
DataIntField |
findIntFieldByName(java.lang.String name)
Returns Int-field by its name. |
|
DataObjField |
findObjFieldByName(java.lang.String name)
Returns Obj-field by its name. |
|
DataRecord |
findRecordByName(java.lang.String name)
Returns data record by its name. |
|
SymbolCodec |
getCodec()
Returns symbol codec used in this scheme. |
|
DataRecord |
getRecord(int index)
Returns data record by its index within this scheme. |
|
int |
getRecordCount()
Returns number of records in this scheme. |
|
|
getService(java.lang.Class<T> service_class)
Extension point for additional scheme-specific services. |
|
DataRecord |
readRecordIdentity(java.io.DataInput in)
Reads data record identity from specified data intput and returns it to the caller. |
|
static void |
setParentReferences(DataScheme scheme)
Sets references to corresponding parent entities in the specified scheme. |
|
static void |
verifyScheme(DataScheme scheme)
Verifies that specified scheme is correct from the QD standpoint. |
|
void |
writeRecordIdentity(java.io.DataOutput out,
DataRecord record)
Writes specified data record identity into specified data output. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected final SymbolCodec codec
protected final DataRecord[] records
Constructor Detail |
---|
public DefaultScheme(SymbolCodec codec, DataRecord[] records)
Method Detail |
---|
public SymbolCodec getCodec()
DataScheme
getCodec
in interface DataScheme
public int getRecordCount()
DataScheme
getRecordCount
in interface DataScheme
public DataRecord getRecord(int index)
DataScheme
getRecord
in interface DataScheme
public DataRecord findRecordByName(java.lang.String name)
DataScheme
findRecordByName
in interface DataScheme
public DataIntField findIntFieldByName(java.lang.String name)
DataScheme
findIntFieldByName
in interface DataScheme
public DataObjField findObjFieldByName(java.lang.String name)
DataScheme
findObjFieldByName
in interface DataScheme
public void writeRecordIdentity(java.io.DataOutput out, DataRecord record) throws java.io.IOException
DataScheme
writeRecordIdentity
in interface DataScheme
java.io.IOException
- as specified data output does.public DataRecord readRecordIdentity(java.io.DataInput in) throws java.io.IOException
DataScheme
readRecordIdentity
in interface DataScheme
java.io.InvalidObjectException
- if required data record is not found in this data scheme.
java.io.IOException
- as specified data input does.public <T> T getService(java.lang.Class<T> service_class)
DataScheme
com.devexperts.qd.qtp.SubscriptionFilterFactory
com.devexperts.qd.HistorySubscriptionFilter
com.devexperts.qd.QDErrorHandler
null
if no scheme-specific override for the corresponding service is found.
Default implementation in DefaultScheme
is to use
Services.createService(java.lang.Class
with this scheme's class loader.
getService
in interface DataScheme
public static void setParentReferences(DataScheme scheme)
DefaultRecord
, all Int-fields
are PlainIntField
and all Obj-fields are PlainObjField
.
java.lang.ClassCastException
- if some record or field does not extend expected class.
java.lang.IllegalStateException
- if some parent reference already set to different instance.public static void verifyScheme(DataScheme scheme)
java.lang.RuntimeException
- if specified scheme is incorrect.public static DataScheme createFromProperties(java.util.Map properties, java.lang.String prefix)
myscheme.codec.class=com.devexperts.qd.kit.PentaCodec myscheme.10.id=1 myscheme.10.name=Fundamental myscheme.10.0.class=com.devexperts.qd.kit.CompactIntField myscheme.10.0.name=Fundamental.High myscheme.10.1.class=com.devexperts.qd.kit.CompactIntField myscheme.10.1.name=Fundamental.Low myscheme.22.id=6 myscheme.22.name=Quote&A myscheme.22.time=true myscheme.22.0.class=com.devexperts.qd.kit.CompactIntField myscheme.22.0.name=Quote&A.Bid.Price myscheme.22.1.class=com.devexperts.qd.kit.CompactIntField myscheme.22.1.name=Quote&A.Bid.SizeThe numbers in the property key define relative index of record (first number) and field within the record (second number). These numbers must be small non-negative numbers, but they need not be consecutive.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |