Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.compat.cdc / org.gvsig.fmap.dal / org.gvsig.fmap.dal.api / src / main / java / org / gvsig / fmap / dal / DataManager.java @ 47436

History | View | Annotate | Download (24.5 KB)

1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
5
 *
6
 * This program is free software; you can redistribute it and/or modify it under
7
 * the terms of the GNU General Public License as published by the Free Software
8
 * Foundation; either version 3 of the License, or (at your option) any later
9
 * version.
10
 *
11
 * This program is distributed in the hope that it will be useful, but WITHOUT
12
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
13
 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
14
 * details.
15
 *
16
 * You should have received a copy of the GNU General Public License along with
17
 * this program; if not, write to the Free Software Foundation, Inc., 51
18
 * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19
 *
20
 * For any additional information, do not hesitate to contact us at info AT
21
 * gvsig.com, or visit our website www.gvsig.com.
22
 */
23
package org.gvsig.fmap.dal;
24

    
25
import java.io.File;
26
import java.util.Collections;
27
import java.util.List;
28
import java.util.Locale;
29
import java.util.Map;
30
import java.util.Set;
31
import java.util.function.Predicate;
32
import javax.json.JsonObject;
33
import org.gvsig.expressionevaluator.Expression;
34
import org.gvsig.expressionevaluator.ExpressionBuilder;
35

    
36
import org.gvsig.fmap.dal.exception.DataException;
37
import org.gvsig.fmap.dal.exception.InitializeException;
38
import org.gvsig.fmap.dal.exception.ProviderNotRegisteredException;
39
import org.gvsig.fmap.dal.exception.ValidateDataParametersException;
40
import org.gvsig.fmap.dal.expressionevaluator.DALExpressionBuilder;
41
import org.gvsig.fmap.dal.expressionevaluator.FeatureSymbolTable;
42
import org.gvsig.fmap.dal.feature.EditableFeatureType;
43
import org.gvsig.fmap.dal.feature.Feature;
44
import org.gvsig.fmap.dal.feature.FeatureIndex;
45
import org.gvsig.fmap.dal.feature.FeatureQuery;
46
import org.gvsig.fmap.dal.feature.FeatureStore;
47
import org.gvsig.fmap.dal.feature.FeatureType;
48
import org.gvsig.fmap.dal.feature.paging.FeaturePagingHelper;
49
import org.gvsig.fmap.dal.resource.ResourceManager;
50
import org.gvsig.tools.dataTypes.DataType;
51
import org.gvsig.tools.dynobject.DynObject;
52
import org.gvsig.tools.dynobject.DynStruct;
53
import org.gvsig.tools.dynobject.Tags;
54
import org.gvsig.tools.evaluator.Evaluator;
55
import org.gvsig.tools.exception.BaseException;
56
import org.gvsig.tools.service.spi.Services;
57
import org.gvsig.fmap.dal.expressionevaluator.FeatureAttributeEmulatorExpression;
58
import org.gvsig.fmap.dal.feature.DataProfile;
59
import org.gvsig.fmap.dal.feature.DataTypeDetector;
60
import org.gvsig.fmap.dal.feature.EditableFeature;
61
import org.gvsig.fmap.dal.feature.EditableFeatureAttributeDescriptor;
62
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor;
63
import org.gvsig.fmap.dal.feature.FeatureRuleExpression;
64
import org.gvsig.fmap.dal.feature.FeatureSet;
65
import org.gvsig.fmap.dal.feature.LabelsCacheForFieldValues;
66
import org.gvsig.tools.observer.Observer;
67
import org.gvsig.tools.resourcesstorage.BytesResource;
68
import org.gvsig.tools.resourcesstorage.ResourcesStorage;
69
import org.gvsig.tools.task.SimpleTaskStatus;
70
import org.gvsig.tools.util.Factory;
71
import org.gvsig.tools.util.Invocable;
72
import org.gvsig.tools.util.PropertiesSupport;
73

    
74
/**
75
 * There are two top level management roles within DAL: data access and resource
76
 * management.
77
 *
78
 * This class is responsible of the data access management role. It provides
79
 * ways for registering and instantiating {@link DataServerExplorer}(s),
80
 * {@link DataStore}(s), {@link Evaluator}(s) and {@link FeatureIndex}(es).
81
 *
82
 * @see ResourceManager
83
 *
84
 */
85
public interface DataManager extends Services, PropertiesSupport {
86

    
87
    public static final int RECOMENDED_SIZE_FOR_CLOB = 4096;
88
    
89
    public static final String CREATE_STORE_AUTHORIZATION = "dal-create-store";
90
    public static final String READ_STORE_AUTHORIZATION = "dal-read-store";
91
    public static final String WRITE_STORE_AUTHORIZATION = "dal-write-store";
92

    
93
    public static final String DAL_SYMBOL_TABLE = "DAL.SymbolTable.Global";
94
//    public static final String DAL_SYMBOL_TABLE_FEATURE = "DAL.SymbolTable.Feature";
95

    
96
    public static final String FUNCTION_FOREING_VALUE = "FOREING_VALUE";
97
    public static final String FUNCTION_FOREIGN_VALUE = "FOREIGN_VALUE";
98
    public static final String FUNCTION_SELECT = "SELECT";
99
    public static final String FUNCTION_UPDATE = "UPDATE";
100
    public static final String FUNCTION_SELECT_COUNT = "SELECT_COUNT";
101
    public static final String FUNCTION_EXISTS = "EXISTS";
102
    public static final String FUNCTION_EXISTS_TABLE = "EXISTS_TABLE";
103
    public static final String FUNCTION_ROW_TAG = "ROW_TAG";
104
    public static final String FUNCTION_SET_ROW_TAG = "SET_ROW_TAG";
105
    public static final String FUNCTION_CURRENT_ROW = "CURRENT_ROW";
106
    public static final String FUNCTION_CURRENT_STORE = "CURRENT_STORE";
107
    public static final String FUNCTION_ISSELECTED_CURRENT_ROW = "ISSELECTED_CURRENT_ROW";
108
    public static final String FUNCTION_GEOMETRY = "GEOMETRY";
109
    public static final String FUNCTION_CREATE_IN_MEMORY_TABLE = "CREATE_IN_MEMORY_TABLE";
110
    public static final String FUNCTION_INSERT_INTO_TABLE = "INSERT_INTO_TABLE";
111
    public static final String FUNCTION_CREATE_TABLE = "CREATE_TABLE";
112
    public static final String FUNCTION_CREATE_TABLE_STRUCTURE = "CREATE_TABLE_STRUCTURE";
113
    public static final String FUNCTION_SELECT_FROM_SELECTION = "SELECTFROMSELECTION";
114
    public static final String FUNCTION_SELECT_COUNT_FROM_SELECTION = "SELECTCOUNTFROMSELECTION";
115
    public static final String FUNCTION_EXECUTESQL = "EXECUTESQL";
116
    
117
    public static final String DAL_PREFERRED_COLUMNS = "DAL.Preferred.Columns";
118
    
119
    public static final String DAL_USE_LABELS = "DAL.useLabels";
120
    
121
    public static final String DAL_USE_LARGE_SELECTION = "DAL.useLargeSelection";
122
    public static final String DAL_STORE_ENVELOPE = "DAL.forcedEnvelope";
123
    public static final String DAL_FEATURETYPE_MODE_EDIT = "DAL.featureTypeEditMode";
124
    public static final String DAL_FEATURETYPE_MODE_EDIT_MSG = "DAL.featureTypeEditMode.msg";
125

    
126
    public static final int USE_LABELS_YES = 0;
127
    public static final int USE_LABELS_NO = 1;
128
    public static final int USE_LABELS_BOTH = 2;
129
    
130
    /**
131
     * 
132
     * Returns the default DAL's temporary directory
133
     *
134
     * @return Temporary directory name
135
     * @deprecated use FoldersManager of org.gvsig.tools
136
     */
137
    public String getTemporaryDirectory();
138

    
139
    /*
140
     * ====================================================================
141
     *
142
     * Store related services
143
     */
144
    /**
145
     * Creates, initializes and returns an instance of DataStoreParameters given
146
     * the name with which their provider is registered.
147
     *
148
     * @param name provider name
149
     * @param arguments
150
     * @return the data store parameters
151
     *
152
     * @throws ProviderNotRegisteredException if the memory provider is not
153
     * registered
154
     * @throws InitializeException if there is an error initializing the
155
     * parameters for the memory provider
156
     *
157
     */
158
    public DataStoreParameters createStoreParameters(String name, Object... arguments)
159
            throws InitializeException, ProviderNotRegisteredException;
160
    
161
    public DataStoreParameters createStoreParameters(String name)
162
            throws InitializeException, ProviderNotRegisteredException;
163

    
164
    public DataStoreParameters createStoreParameters(byte[] data);
165

    
166
    /**
167
     * Creates, initializes and fill an instance of DataStoreParameters from the
168
     * tags of the DynStruct passed as parameter.
169
     *
170
     * @param struct structure from which tags were created ths parameters.
171
     * @return the data store parameters
172
     *
173
     * @throws ProviderNotRegisteredException if the memory provider is not
174
     * registered
175
     * @throws InitializeException if there is an error initializing the
176
     * parameters for the memory provider
177
     *
178
     */
179
    public DataStoreParameters createStoreParameters(DynStruct struct)
180
            throws InitializeException, ProviderNotRegisteredException;
181

    
182
    public DataStoreParameters createStoreParameters(Tags tags) throws InitializeException, ProviderNotRegisteredException;
183

    
184
    /**
185
     * Creates, initializes and returns an instance of NewDataStoreParameters
186
     * given the name with which their provider is registered.
187
     *
188
     * @param explorer
189
     * @param provider
190
     * @return
191
     *
192
     * @throws InitializeException
193
     * @throws ProviderNotRegisteredException
194
     */
195
    public NewDataStoreParameters createNewStoreParameters(String explorer, String provider)
196
            throws InitializeException, ProviderNotRegisteredException;
197

    
198
    public NewDataStoreParameters createNewStoreParameters(String provider)
199
            throws InitializeException, ProviderNotRegisteredException;
200

    
201
    /**
202
     *
203
     * Creates, initializes and returns an instance of DataStore given the
204
     * DataStoreParameters.
205
     *
206
     * @param provider
207
     * @param parameters parameters used to instantiate and initialize the
208
     * DataStore
209
     * @return
210
     *
211
     * @throws ProviderNotRegisteredException if the memory provider is not
212
     * registered
213
     * @throws InitializeException if there is an error initializing the
214
     * parameters for the memory provider
215
     * @throws ValidateDataParametersException if the parameters to open the
216
     * memory based store are not valid
217
     */
218
    public DataStore openStore(String provider, DynObject parameters)
219
            throws InitializeException, ProviderNotRegisteredException,
220
            ValidateDataParametersException;
221

    
222
    public DataStore openStore(String provider, DataStoreParameters parameters)
223
            throws InitializeException, ProviderNotRegisteredException,
224
            ValidateDataParametersException;
225

    
226
    public DataStore openStore(String providerName, DataStoreParameters 
227
            parameters, boolean ignoreDALResource) 
228
            throws InitializeException, ProviderNotRegisteredException, 
229
            ValidateDataParametersException;
230

    
231
    public DataStore openStore(
232
            String providerName,
233
            Object... arguments)
234
        throws
235
            InitializeException,
236
            ProviderNotRegisteredException,
237
            ValidateDataParametersException;
238

    
239
    public DataStore openStore(DynStruct struct)
240
            throws InitializeException, ProviderNotRegisteredException, ValidateDataParametersException;
241

    
242
    /**
243
     * Create a new physical store
244
     *
245
     * @param explorer
246
     * @param provider
247
     * @param parameters
248
     * @param overwrite
249
     *
250
     * @throws InitializeException
251
     * @throws ProviderNotRegisteredException
252
     * @throws ValidateDataParametersException
253
     */
254
    public void newStore(String explorer, String provider, NewDataStoreParameters parameters, boolean overwrite)
255
            throws InitializeException, ProviderNotRegisteredException,
256
            ValidateDataParametersException;
257

    
258
    public void newStore(String provider, NewDataStoreParameters parameters, boolean overwrite)
259
            throws InitializeException, ProviderNotRegisteredException,
260
            ValidateDataParametersException;
261

    
262
    /**
263
     * Returns a list of Strings containing the names of all available DataStore
264
     * providers.
265
     *
266
     * @return list of String containing available DataStore provider names
267
     */
268
    public List getStoreProviders();
269

    
270
    /**
271
     * Returns a list of Strings containing the names of all available DataStore
272
     * providers for an explorer.
273
     *
274
     * @param name
275
     * @return
276
     */
277
    public List<String> getStoreProviders(String name);
278

    
279
    /*
280
     * ====================================================================
281
     *
282
     * Explorer related services
283
     */
284
    /**
285
     * Returns an instance of {@link DataServerExplorerParameters} corresponding
286
     * to the given name.
287
     *
288
     * @param name name of a registered server explorer provider
289
     * @return
290
     *
291
     * @throws InitializeException if parameter initialization causes an error.
292
     *
293
     * @throws ProviderNotRegisteredException if could not find a provider by
294
     * the given name.
295
     *
296
     *
297
     */
298
    public DataServerExplorerParameters createServerExplorerParameters(
299
            String name)
300
            throws InitializeException, ProviderNotRegisteredException;
301

    
302
    /**
303
     * Returns an instance of {@link DataServerExplorer} given its parameters.
304
     *
305
     * @param name
306
     * @param parameters parameters used to instantiate and initialize the
307
     * {@link DataServerExplorer}.
308
     *
309
     * @return an instance of {@link DataServerExplorer}.
310
     *
311
     * @throws InitializeException
312
     *
313
     * @throws ProviderNotRegisteredException
314
     * @throws ValidateDataParametersException
315
     */
316
    public DataServerExplorer openServerExplorer(
317
            String name,
318
            DataServerExplorerParameters parameters)
319
            throws InitializeException, ProviderNotRegisteredException,
320
            ValidateDataParametersException;
321

    
322
    public DataServerExplorer openServerExplorer(
323
            String explorerName,
324
            Object... arguments)
325
        throws
326
            InitializeException,
327
            ProviderNotRegisteredException,
328
            ValidateDataParametersException;
329
    /**
330
     * @param parameters
331
     * @return
332
     * @throws org.gvsig.fmap.dal.exception.InitializeException
333
     * @throws org.gvsig.fmap.dal.exception.ProviderNotRegisteredException
334
     * @throws org.gvsig.fmap.dal.exception.ValidateDataParametersException
335
     * @deprecated see openServerExplorer
336
     */
337
    public DataServerExplorer createServerExplorer(
338
            DataServerExplorerParameters parameters)
339
            throws InitializeException, ProviderNotRegisteredException,
340
            ValidateDataParametersException;
341

    
342
    /**
343
     * @param parameters
344
     * @return
345
     * @throws org.gvsig.fmap.dal.exception.InitializeException
346
     * @throws org.gvsig.fmap.dal.exception.ProviderNotRegisteredException
347
     * @throws org.gvsig.fmap.dal.exception.ValidateDataParametersException
348
     * @deprecated see openStore
349
     */
350
    public DataStore createStore(DataStoreParameters parameters)
351
            throws InitializeException, ProviderNotRegisteredException,
352
            ValidateDataParametersException;
353

    
354
    /**
355
     * Returns a list of String containing the names of the available
356
     * DataServerExplorer providers.
357
     *
358
     * @return list of String containing the names of the available
359
     * DataServerExplorer providers.
360
     */
361
    public List<String> getExplorerProviders();
362

    
363
    /**
364
     * Creates an instance of Evaluator that represents the given expression.
365
     *
366
     * @param expression String containing a CQL expression.
367
     * @return instance of Evaluator representing the given expression.
368
     * @throws InitializeException
369
     * @deprecated use createFilter
370
     */
371
    public Evaluator createExpresion(String expression)
372
            throws InitializeException;
373

    
374
    /**
375
     * Creates an instance of Evaluator that represents the given expression.
376
     *
377
     * @param expression a Expression with the filter
378
     * @return instance of Evaluator representing the given expression.
379
     * @throws InitializeException
380
     * @deprecated use createFilter
381
     */
382
    public Evaluator createExpresion(Expression expression)
383
            throws InitializeException;
384

    
385
    /**
386
     * Creates an instance of Evaluator that represents the given expression.
387
     *
388
     * @param expression String containing a CQL expression.
389
     * @return instance of Evaluator representing the given expression.
390
     * @throws InitializeException
391
     */
392
    public Evaluator createFilter(String expression)
393
            throws InitializeException;
394

    
395
    /**
396
     * Creates an instance of Evaluator that represents the given expression.
397
     *
398
     * @param expression a Expression with the filter
399
     * @return instance of Evaluator representing the given expression.
400
     * @throws InitializeException
401
     */
402
    public Evaluator createFilter(Expression expression)
403
            throws InitializeException;
404

    
405
    /*
406
     * ====================================================================
407
     *
408
     * Index related services
409
     */
410
    /**
411
     * Returns a list of String containing the names of the available index
412
     * providers.
413
     *
414
     * @return list of strings with the names of the available index providers
415
     */
416
    public List<String> getFeatureIndexProviders();
417

    
418
    /**
419
     * Sets the default DataIndexProvider for the given data type.
420
     *
421
     * @param dataType one of the data types defined in {@link DataTypes}.
422
     * @param name Provider's name
423
     */
424
    public void setDefaultFeatureIndexProviderName(int dataType, String name);
425

    
426
    /**
427
     * Returns the default DataIndexProvider name, given a data type. Data types
428
     * are defined in {@link DataTypes}.
429
     *
430
     * @param dataType one of the constants in {@link DataTypes}.
431
     *
432
     * @return the name of the default {@link FeatureIndexProvider} if there is
433
     * anyone available for the given data type.
434
     */
435
    public String getDefaultFeatureIndexProviderName(int dataType);
436

    
437
    /**
438
     * Utility method to create the {@link DataStoreParameters} to create a
439
     * {@link FeatureStore} based on the {@link MemoryStoreProvider}.
440
     *
441
     * @param autoOrderAttributeName the name of the {@link Feature} attribute
442
     * to be used to order the store {@link Feature}s by default. Set to null if
443
     * you don't want any order by default
444
     * @return the parameters for the memory based store
445
     * @throws InitializeException if there is an error initializing the
446
     * parameters for the memory provider
447
     */
448
    public DataStoreParameters createMemoryStoreParameters(
449
            String autoOrderAttributeName) throws InitializeException;
450

    
451
    /**
452
     * Utility method to create the a {@link FeatureStore} based on the
453
     * {@link MemoryStoreProvider}.
454
     *
455
     * @param autoOrderAttributeName the name of the {@link Feature} attribute
456
     * to be used to order the store {@link Feature}s by default. Set to null if
457
     * you don't want any order by default
458
     * @return the the memory based store
459
     * @throws InitializeException if there is an error initializing the
460
     * parameters for the memory provider
461
     */
462
    public FeatureStore createMemoryStore(String autoOrderAttributeName)
463
            throws InitializeException;
464

    
465
    /**
466
     * Creates a {@link FeaturePagingHelper} to paginate data from a
467
     * {@link FeatureStore}.
468
     *
469
     * @param featureStore to get the {@link Feature}s from
470
     * @param pageSize the page size
471
     * @return a {@link FeaturePagingHelper}
472
     * @throws BaseException if there is an error creating the helper
473
     */
474
    public FeaturePagingHelper createFeaturePagingHelper(
475
            FeatureStore featureStore, int pageSize) throws BaseException;
476

    
477
    /**
478
     * Creates a {@link FeaturePagingHelper} to paginate data from a
479
     * {@link FeatureStore}.
480
     *
481
     * @param featureStore to get the {@link Feature}s from
482
     * @param featureQuery to filter and/or order the data
483
     * @param pageSize the page size
484
     * @return a {@link FeaturePagingHelper}
485
     * @throws BaseException if there is an error creating the helper
486
     */
487
    public FeaturePagingHelper createFeaturePagingHelper(
488
            FeatureStore featureStore, FeatureQuery featureQuery, int pageSize)
489
            throws BaseException;
490

    
491
    public void setOpenErrorHandler(OpenErrorHandler handler);
492

    
493
    public OpenErrorHandler getOpenErrorHandler();
494

    
495
    public DataStoreProviderFactory getStoreProviderFactory(String name);
496

    
497
    public EditableFeatureType createFeatureType();
498
    
499
    public EditableFeatureType createFeatureType(JsonObject json);
500

    
501
    public DataServerExplorerPool getDataServerExplorerPool();
502

    
503
    public void setDataServerExplorerPool(DataServerExplorerPool pool);
504

    
505
    public void setResourcesLoader(ClassLoader loader);
506

    
507
    public void setResourcesLoader(File folder);
508

    
509
    /**
510
     * Return a list of the DataTypes supported for the type of the feature
511
     * attributes. The list is only informative.
512
     *
513
     * @return
514
     */
515
    public List<DataType> getDataTypes();
516

    
517
    public Register getStoreRegister();
518

    
519
    public Register getStoreProviderRegister();
520

    
521
    public Register getServerExplorerRegister();
522

    
523
    public Register getFeatureIndexRegister();
524

    
525
    /**
526
     * Creates a default ExpressionBuilder.
527
     *
528
     * This ExpressionBuilder is not dependent on a data source,
529
     * and is not advisable to use it.
530
     *
531
     * @return the ExpressionBuilder
532
     * @deprecated use ExpressionEvaluatorManager.createExpressionBuilder()
533
     */
534
    public ExpressionBuilder createExpressionBuilder();
535

    
536
    /**
537
         * Returns a list of String containing the names of the available cache providers.
538
         *
539
         * @return
540
         *                 list of strings with the names of the available cache providers
541
         */
542
    public List getFeatureCacheProviders();
543

    
544
        /**
545
         * Returns an instance of {@link DataServerExplorerParameters} corresponding
546
         * to the given name used by the cache to create a store to save the
547
         * retrieved data.
548
         *
549
         * @param name
550
         *            name of a registered feature cache provider
551
     * @return 
552
         *
553
         * @throws InitializeException
554
         *             if parameter initialization causes an error.
555
         *
556
         * @throws ProviderNotRegisteredException
557
         *             if could not find a cache provider by the given name.
558
         *
559
         */
560
        public DynObject createCacheParameters(String name)
561
                        throws InitializeException, ProviderNotRegisteredException;
562

    
563
    /**
564
     * @param providerName
565
     * @param params
566
     * @param overwrite
567
     * @throws DataException
568
     */
569
    public void createFileStore(String providerName, NewDataStoreParameters params, boolean overwrite) throws DataException;
570

    
571
    public FeatureSymbolTable createFeatureSymbolTable();
572
    
573
    public FeatureSymbolTable createFeatureSymbolTable(String name);
574

    
575
    public EditableFeatureAttributeDescriptor createFeatureAttributeDescriptor(String name, int type);
576
    
577
    public FeatureAttributeEmulatorExpression createFeatureAttributeEmulatorExpression(FeatureType type, Expression expression);
578

    
579
    public void registerDataProfile(DataProfile profile);
580

    
581
    public List<DataProfile> getDataProfiles();
582

    
583
    public DataProfile getDataProfile(String name);
584
    
585
    public StoresRepository getStoresRepository();
586
    
587
    public DatabaseWorkspaceManager createDatabaseWorkspaceManager(DataServerExplorerParameters connection);
588
    
589
    public void addDatabaseWorkspace(DatabaseWorkspaceManager DatabaseWorkspace);
590

    
591
    public void removeDatabaseWorkspace(DatabaseWorkspaceManager DatabaseWorkspace);
592

    
593
    public void addDatabaseWorkspaceListener(DatabaseWorkspaceManager.DatabaseWorkspaceListener listener);
594
    
595
    public DatabaseWorkspaceManager getDatabaseWorkspace(String name);
596
    
597
    public DatabaseWorkspaceManager getDatabaseWorkspace(DataStoreParameters params);
598
    
599
    public DatabaseWorkspaceManager getDatabaseWorkspace(DataServerExplorerParameters params);
600

    
601
    public void writeDALResource(ResourcesStorage resources, DataStore store);
602
    
603
    public void writeDALResource(ResourcesStorage resources, FeatureType featureType);
604

    
605
    /**
606
     * Return a 35-40 characters unique identifier.
607
     * 
608
     * @return the unique identifier
609
     */
610
    public String createUniqueID();
611

    
612
    public void clearAvailableValuesCache();
613

    
614
    public DALExpressionBuilder createDALExpressionBuilder();
615
    
616
    public boolean isTheOldRasterRegistered();
617
    
618
    public void addStoreObserver(Observer observer);
619
    
620
    public void removeStoreObserver(Observer observer);
621

    
622
    public String getServerExplorerFromStore(String name);
623
    
624
    public void setMaxSizeForSmallFeatureSelection(long size);
625

    
626
    public long getMaxSizeForSmallFeatureSelection();
627
    
628
    public void registerLargeMap(Factory factory);
629
    
630
    public void registerLargeSet(Factory factory);
631
    
632
    public Map createLargeMap();
633
    
634
    public Set createLargeSet();
635
    
636
    public DataTransaction createTransaction();
637
    
638
    public void putFeaturesInClipboard(FeatureSet set);
639
    
640
    public List<EditableFeature> getFeaturesFromClipboard(
641
            FeatureStore store, 
642
            Predicate<FeatureAttributeDescriptor> attrFilter
643
    ) throws DataException;
644

    
645
    public FeatureRuleExpression createFeatureRuleExpression();
646
    
647
    public DataFactory getStoreFactory(DataStoreParameters parameters);    
648
    
649
    public File getCacheResourcesFolder();
650
    
651
    public void clearAllCachedResources();
652
    
653
    public LabelsCacheForFieldValues createLabelsCacheForFieldValues(Invocable labelFormulaProvider, SimpleTaskStatus status);
654
    
655
    public List<FeatureType> getFeatureTypesFromDAL(byte[] daldata);
656
    
657
    public byte[] getDALBytesFromFeatureType(FeatureType ftype);
658
    
659
    public DataTypeDetector createDataTypeDetector(Locale locale);
660
}