]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.databoard/src/org/simantics/databoard/accessor/impl/AccessorParams.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.databoard / src / org / simantics / databoard / accessor / impl / AccessorParams.java
1 /*******************************************************************************\r
2  * Copyright (c) 2010- Association for Decentralized Information Management in\r
3  * Industry THTH ry.\r
4  * All rights reserved. This program and the accompanying materials\r
5  * are made available under the terms of the Eclipse Public License v1.0\r
6  * which accompanies this distribution, and is available at\r
7  * http://www.eclipse.org/legal/epl-v10.html\r
8  * \r
9  * Contributors:\r
10  *    VTT Technical Research Centre of Finland - initial API and implementation\r
11  *******************************************************************************/\r
12 package org.simantics.databoard.accessor.impl;\r
13 \r
14 import java.util.concurrent.locks.Lock;\r
15 \r
16 import org.simantics.databoard.Bindings;\r
17 import org.simantics.databoard.adapter.AdapterFactory;\r
18 import org.simantics.databoard.binding.factory.BindingScheme;\r
19 import org.simantics.databoard.serialization.SerializerScheme;\r
20 \r
21 /**\r
22  * This class carries implementation specific accessor parameters.\r
23  * The object is typically propagated to sub-accessors.\r
24  *\r
25  * @author Toni Kalajainen <toni.kalajainen@vtt.fi>\r
26  */\r
27 public class AccessorParams {\r
28         \r
29         public static final AccessorParams DEFAULT = new AccessorParams(null, null, Bindings.defaultBindingFactory, Bindings.adapterFactory, Bindings.serializationFactory);\r
30         \r
31         /*\r
32          * With locks there are three use scenarios:\r
33          * \r
34          *  a) No locks\r
35          *  b) One lock, mutual exclusion\r
36          *  c) Read and write lock, See ReentrantReadWriteLock\r
37          * \r
38          */\r
39         \r
40         /** Read Lock, optional */\r
41         public Lock readLock;\r
42         /** Write Lock, optional */\r
43         public Lock writeLock;\r
44 \r
45         /** Binding Scheme */\r
46         public BindingScheme bindingScheme;\r
47         \r
48         /** Adapter Scheme */\r
49         public AdapterFactory adapterScheme;\r
50         \r
51         /** Serializer Scheme */\r
52         public SerializerScheme serializerScheme;\r
53 \r
54         public AccessorParams(Lock readLock, Lock writeLock, BindingScheme bindingScheme, AdapterFactory adapterScheme, SerializerScheme serializerScheme) {\r
55                 this.readLock = readLock;\r
56                 this.writeLock = writeLock;\r
57                 this.bindingScheme = bindingScheme;\r
58                 this.adapterScheme = adapterScheme;\r
59                 this.serializerScheme = serializerScheme;\r
60         }\r
61         \r
62 }\r
63 \r