📄 directorydatastore.html
字号:
</p> <p> Helper classes for implementing a FeatureReader (in order): </p> <ul> <li> DefaultFeatureReader - basic support for creating a FeatureReader for an AttributeReader </li> <li> FilteringFeatureReader - filtering support </li> <li> DiffFeatureReader - In-Process Transaction Support (see TransactionStateDiff) </li> <li> ReTypeFeatureReader - Feature Type schema manipulation of namesspace and attribute type subsets </li> <li> EmptyFeatureReader - provides no content for Filter.ALL optimizations </li> </ul> <p> Sample use (not optimized): </p> <pre><code> if (filter == Filter.ALL) { return new EmptyFeatureReader(featureType); } String typeName = featureType.getTypeName(); FeatureType schema = getSchema( typeName ); FeatureReader reader = new DefaultFeatureReader( getAttributeReaders(), schema ); if (filter != Filter.NONE) { reader = new FilteringFeatureReader(reader, filter); } if (transaction != Transaction.AUTO_COMMIT) { Map diff = state(transaction).diff(typeName); reader = new DiffFeatureReader(reader, diff); } if (!featureType.equals(reader.getFeatureType())) { reader = new ReTypeFeatureReader(reader, featureType); } return reader </code></pre> <p> Locking support does not need to be provided for FeatureReaders. </p><P><DD><DL><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/geotools/data/DataStore.html#getFeatureReader(org.geotools.data.Query, org.geotools.data.Transaction)">getFeatureReader</A></CODE> in interface <CODE><A HREF="../../../../org/geotools/data/DataStore.html" title="interface in org.geotools.data">DataStore</A></CODE></DL></DD><DD><DL><DT><B>Parameters:</B><DD><CODE>query</CODE> - Requested form of the returned Features and the filter used to constraints the results<DD><CODE>transaction</CODE> - Transaction this query opperates against<DT><B>Returns:</B><DD>FeatureReader Allows Sequential Processing of featureType<DT><B>Throws:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE><DT><B>See Also:</B><DD><A HREF="../../../../org/geotools/data/DataStore.html#getFeatureReader(org.geotools.data.Query, org.geotools.data.Transaction)"><CODE>DataStore.getFeatureReader(org.geotools.data.Query, org.geotools.data.Transaction)</CODE></A></DL></DD></DL><HR><A NAME="getFeatureWriter(java.lang.String, org.geotools.filter.Filter, org.geotools.data.Transaction)"><!-- --></A><H3>getFeatureWriter</H3><PRE>public <A HREF="../../../../org/geotools/data/FeatureWriter.html" title="interface in org.geotools.data">FeatureWriter</A> <B>getFeatureWriter</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> typeName, <A HREF="../../../../org/geotools/filter/Filter.html" title="interface in org.geotools.filter">Filter</A> filter, <A HREF="../../../../org/geotools/data/Transaction.html" title="interface in org.geotools.data">Transaction</A> transaction) throws <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE><DL><DD><B>Description copied from interface: <CODE><A HREF="../../../../org/geotools/data/DataStore.html" title="interface in org.geotools.data">DataStore</A></CODE></B></DD><DD>Access FeatureWriter for modification of existing DataStore contents. <p> To limit FeatureWriter to the FeatureTypes defined by this DataStore, typeName is used to indicate FeatureType. The resulting feature writer will allow modifications against the same FeatureType provided by getSchema( typeName ) </p> <p> The FeatureWriter will provide access to the existing contents of the FeatureType referenced by typeName. The provided filter will be used to skip over Features as required. </p> <b>Notes For Implementing DataStore</b> </p> <p> The returned FeatureWriter <b>does not</b> support the addition of new Features to FeatureType (it would need to police your modifications to agree with <code>filer</code>). As such it will return <code>false</code> for getNext() when it reaches the end of the Query and NoSuchElementException when next() is called. </p> <p> Helper classes for implementing a FeatureWriter (in order): </p> <li> InProcessLockingManager.checkedWriter( writer ) - provides a check against locks before allowing modification <li> FilteringFeatureWriter - filtering support for FeatureWriter (does not allow new content) </li> <li> DiffFeatureWriter - In-Process Transaction Support (see TransactionStateDiff) </li> <li> EmptyFeatureWriter - provides no content for Filter.ALL optimizations </li> </ul><P><DD><DL><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/geotools/data/DataStore.html#getFeatureWriter(java.lang.String, org.geotools.filter.Filter, org.geotools.data.Transaction)">getFeatureWriter</A></CODE> in interface <CODE><A HREF="../../../../org/geotools/data/DataStore.html" title="interface in org.geotools.data">DataStore</A></CODE></DL></DD><DD><DL><DT><B>Parameters:</B><DD><CODE>typeName</CODE> - Indicates featureType to be modified<DD><CODE>filter</CODE> - constraints used to limit the modification<DD><CODE>transaction</CODE> - Transaction this query opperates against<DT><B>Returns:</B><DD>FeatureWriter Allows Sequential Modification of featureType<DT><B>Throws:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE><DT><B>See Also:</B><DD><A HREF="../../../../org/geotools/data/DataStore.html#getFeatureWriter(java.lang.String, org.geotools.filter.Filter, org.geotools.data.Transaction)"><CODE>DataStore.getFeatureWriter(java.lang.String, org.geotools.filter.Filter, org.geotools.data.Transaction)</CODE></A></DL></DD></DL><HR><A NAME="getFeatureWriter(java.lang.String, org.geotools.data.Transaction)"><!-- --></A><H3>getFeatureWriter</H3><PRE>public <A HREF="../../../../org/geotools/data/FeatureWriter.html" title="interface in org.geotools.data">FeatureWriter</A> <B>getFeatureWriter</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> typeName, <A HREF="../../../../org/geotools/data/Transaction.html" title="interface in org.geotools.data">Transaction</A> transaction) throws <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE><DL><DD><B>Description copied from interface: <CODE><A HREF="../../../../org/geotools/data/DataStore.html" title="interface in org.geotools.data">DataStore</A></CODE></B></DD><DD>Access FeatureWriter for modification of the DataStore typeName. <p> FeatureWriters will need to be limited to the FeatureTypes defined by the DataStore, the easiest way to express this limitation is to the FeatureType by a provided typeName. </p> <p> The returned FeatureWriter will return <code>false</code> for getNext() when it reaches the end of the Query. </p><P><DD><DL><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/geotools/data/DataStore.html#getFeatureWriter(java.lang.String, org.geotools.data.Transaction)">getFeatureWriter</A></CODE> in interface <CODE><A HREF="../../../../org/geotools/data/DataStore.html" title="interface in org.geotools.data">DataStore</A></CODE></DL></DD><DD><DL><DT><B>Parameters:</B><DD><CODE>typeName</CODE> - Indicates featureType to be modified<DD><CODE>transaction</CODE> - Transaction to opperates against<DT><B>Returns:</B><DD>FeatureReader Allows Sequential Processing of featureType<DT><B>Throws:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE><DT><B>See Also:</B><DD><A HREF="../../../../org/geotools/data/DataStore.html#getFeatureWriter(java.lang.String, org.geotools.data.Transaction)"><CODE>DataStore.getFeatureWriter(java.lang.String, org.geotools.data.Transaction)</CODE></A></DL></DD></DL><HR><A NAME="getFeatureWriterAppend(java.lang.String, org.geotools.data.Transaction)"><!-- --></A><H3>getFeatureWriterAppend</H3><PRE>public <A HREF="../../../../org/geotools/data/FeatureWriter.html" title="interface in org.geotools.data">FeatureWriter</A> <B>getFeatureWriterAppend</B>(<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/lang/String.html" title="class or interface in java.lang">String</A> typeName, <A HREF="../../../../org/geotools/data/Transaction.html" title="interface in org.geotools.data">Transaction</A> transaction) throws <A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></PRE><DL><DD><B>Description copied from interface: <CODE><A HREF="../../../../org/geotools/data/DataStore.html" title="interface in org.geotools.data">DataStore</A></CODE></B></DD><DD>Aquire a FeatureWriter for adding new content to a FeatureType. <p> This FeatureWriter will return <code>false</code> for hasNext(), however next() may be used to aquire new Features that may be writen out to add new content. </p><P><DD><DL><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/geotools/data/DataStore.html#getFeatureWriterAppend(java.lang.String, org.geotools.data.Transaction)">getFeatureWriterAppend</A></CODE> in interface <CODE><A HREF="../../../../org/geotools/data/DataStore.html" title="interface in org.geotools.data">DataStore</A></CODE></DL></DD><DD><DL><DT><B>Parameters:</B><DD><CODE>typeName</CODE> - Indicates featureType to be modified<DD><CODE>transaction</CODE> - Transaction to opperates against<DT><B>Returns:</B><DD>FeatureWriter that may only be used to append new content<DT><B>Throws:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.4/docs/api/java/io/IOException.html" title="class or interface in java.io">IOException</A></CODE><DT><B>See Also:</B><DD><A HREF="../../../../org/geotools/data/DataStore.html#getFeatureWriterAppend(java.lang.String, org.geotools.data.Transaction)"><CODE>DataStore.getFeatureWriterAppend(java.lang.String, org.geotools.data.Transaction)</CODE></A></DL></DD></DL><HR><A NAME="getLockingManager()"><!-- --></A><H3>getLockingManager</H3><PRE>public <A HREF="../../../../org/geotools/data/LockingManager.html" title="interface in org.geotools.data">LockingManager</A> <B>getLockingManager</B>()</PRE><DL><DD><B>Description copied from interface: <CODE><A HREF="../../../../org/geotools/data/DataStore.html" title="interface in org.geotools.data">DataStore</A></CODE></B></DD><DD>Retrieve a per featureID based locking service from this DataStore. <p> It is common to return an instanceof InProcessLockingManager for DataStores that do not provide native locking.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -