📄 abstractdatastore.html
字号:
</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></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></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></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>Locking manager used for this DataStore. <p> By default AbstractDataStore makes use of InProcessLockingManager. </p><P><DD><DL><DT><B>Specified by:</B><DD><CODE><A HREF="../../../org/geotools/data/DataStore.html#getLockingManager()">getLockingManager</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>Returns:</B><DD>DataStores may return <code>null</code>, if the handling locking in another fashion.<DT><B>See Also:</B><DD><A HREF="../../../org/geotools/data/DataStore.html#getLockingManager()"><CODE>DataStore.getLockingManager()</CODE></A></DL></DD></DL><HR><A NAME="getBounds(org.geotools.data.Query)"><!-- --></A><H3>getBounds</H3><PRE>protected <A HREF="http://www.jump-project.org/docs/jts/1.7/api/com/vividsolutions/jts/geom/Envelope.html" title="class or interface in com.vividsolutions.jts.geom">Envelope</A> <B>getBounds</B>(<A HREF="../../../org/geotools/data/Query.html" title="interface in org.geotools.data">Query</A> query) 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>Computes the bounds of the features for the specified feature type that satisfy the query provided that there is a fast way to get that result. <p> Will return null if there is not fast way to compute the bounds. Since it's based on some kind of header/cached information, it's not guaranteed to be real bound of the features </p><P><DD><DL></DL></DD><DD><DL><DT><B>Parameters:</B><DD><CODE>query</CODE> - <DT><B>Returns:</B><DD>the bounds, or null if too expensive<DT><B>Throws:</B><DD><CODE><A HREF="../../../org/geotools/data/SchemaNotFoundException.html" title="class in org.geotools.data">SchemaNotFoundException</A></CODE><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></DL></DD></DL><HR><A NAME="getCount(org.geotools.data.Query)"><!-- --></A><H3>getCount</H3><PRE>protected int <B>getCount</B>(<A HREF="../../../org/geotools/data/Query.html" title="interface in org.geotools.data">Query</A> query) 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>Gets the number of the features that would be returned by this query for the specified feature type. <p> If getBounds(Query) returns <code>-1</code> due to expense consider using <code>getFeatures(Query).getCount()</code> as a an alternative. </p><P><DD><DL></DL></DD><DD><DL><DT><B>Parameters:</B><DD><CODE>query</CODE> - Contains the Filter and MaxFeatures to find the bounds for.<DT><B>Returns:</B><DD>The number of Features provided by the Query or <code>-1</code> if count is too expensive to calculate or any errors or occur.<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><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> - if there are errors getting the count</DL></DD></DL><!-- ========= END OF CLASS DATA ========= --><HR><!-- ======= START OF BOTTOM NAVBAR ====== --><A NAME="navbar_bottom"><!-- --></A><A HREF="#skip-navbar_bottom" title="Skip navigation links"></A><TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""><TR><TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"><A NAME="navbar_bottom_firstrow"><!-- --></A><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AbstractDataStore.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR></TABLE></TD><TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM></EM></TD></TR><TR><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../org/geotools/data/AbstractAttributeIO.html" title="class in org.geotools.data"><B>PREV CLASS</B></A> <A HREF="../../../org/geotools/data/AbstractDataStoreFactory.html" title="class in org.geotools.data"><B>NEXT CLASS</B></A></FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A> <A HREF="AbstractDataStore.html" target="_top"><B>NO FRAMES</B></A> <SCRIPT type="text/javascript"> <!-- if(window==top) { document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>'); } //--></SCRIPT><NOSCRIPT> <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A></NOSCRIPT></FONT></TD></TR><TR><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD></TR></TABLE><A NAME="skip-navbar_bottom"></A><!-- ======== END OF BOTTOM NAVBAR ======= --><HR>Copyright © 1996-2007 <a href="http://www.geotools.org">Geotools</a>. All Rights Reserved.</BODY></
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -