blob: d50932956d63d000c58c6b271eda2496f513b419 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (21) on Thu Oct 05 19:54:57 CEST 2023 -->
<title>AbstractAssociation (Apache SIS 1.4 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2023-10-05">
<meta name="description" content="declaration: module: org.apache.sis.feature, package: org.apache.sis.feature, class: AbstractAssociation">
<meta name="generator" content="javadoc/ClassWriterImpl">
<meta name="keywords" content="org.apache.sis.feature.AbstractAssociation class">
<meta name="keywords" content="create()">
<meta name="keywords" content="getName()">
<meta name="keywords" content="getRole()">
<meta name="keywords" content="getValue()">
<meta name="keywords" content="getValues()">
<meta name="keywords" content="setValue()">
<meta name="keywords" content="setValues()">
<meta name="keywords" content="quality()">
<meta name="keywords" content="toString()">
<meta name="keywords" content="clone()">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../sis.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../script-dir/jquery-ui.min.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html#class">Help</a></li>
</ul>
<ul class="sub-nav-list-small">
<li>
<p>Summary:</p>
<ul>
<li>Nested</li>
<li>Field</li>
<li><a href="#constructor-summary">Constr</a></li>
<li><a href="#method-summary">Method</a></li>
</ul>
</li>
<li>
<p>Detail:</p>
<ul>
<li>Field</li>
<li><a href="#constructor-detail">Constr</a></li>
<li><a href="#method-detail">Method</a></li>
</ul>
</li>
</ul>
</div>
<div class="sub-nav">
<div id="navbar-sub-list">
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><a href="../../../../../search.html">SEARCH</a>
<input type="text" id="search-input" disabled placeholder="Search">
<input type="reset" id="reset-button" disabled value="reset">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../module-summary.html">org.apache.sis.feature</a></div>
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.sis.feature</a></div>
<h1 title="Class AbstractAssociation" class="title">Class AbstractAssociation</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>
<div class="inheritance">AbstractAssociation</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code>, <code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Cloneable.html" title="class or interface in java.lang" class="external-link">Cloneable</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public abstract class </span><span class="element-name type-name-label">AbstractAssociation</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>
implements <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Cloneable.html" title="class or interface in java.lang" class="external-link">Cloneable</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></span></div>
<div class="block">An instance of an <a href="DefaultAssociationRole.html" title="class in org.apache.sis.feature">feature association role</a> containing the associated feature.
<code>Abstract­Association</code> can be instantiated by calls to <a href="DefaultAssociationRole.html#newInstance()"><code>Default­Association­Role​.new­Instance()</code></a>.
<h2 id="limitations-heading">Limitations</h2>
<ul>
<li><b>Multi-threading:</b> <code>Abstract­Association</code> instances are <strong>not</strong> thread-safe.
Synchronization, if needed, shall be done externally by the caller.</li>
<li><b>Serialization:</b> serialized objects of this class are not guaranteed to be compatible with future
versions. Serialization should be used only for short term storage or RMI between applications running
the same SIS version.</li>
</ul></div>
<dl class="notes">
<dt>Since:</dt>
<dd>0.5</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list">
<li><a href="AbstractFeature.html" title="class in org.apache.sis.feature"><code>Abstract­Feature</code></a></li>
<li><a href="DefaultAssociationRole.html" title="class in org.apache.sis.feature"><code>Default­Association­Role</code></a></li>
<li><a href="../../../../../serialized-form.html#org.apache.sis.feature.AbstractAssociation">Serialized Form</a></li>
</ul>
</dd>
</dl>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier</div>
<div class="table-header col-second">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>protected </code></div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(org.apache.sis.feature.DefaultAssociationRole)" class="member-name-link">Abstract­Association</a><wbr>(<a href="DefaultAssociationRole.html" title="class in org.apache.sis.feature">Default­Association­Role</a>&nbsp;role)</code></div>
<div class="col-last even-row-color">
<div class="block">Creates a new association of the given role.</div>
</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="AbstractAssociation.html" title="class in org.apache.sis.feature">Abstract­Association</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#clone()" class="member-name-link">clone</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns a copy of this association.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="AbstractAssociation.html" title="class in org.apache.sis.feature">Abstract­Association</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#create(org.apache.sis.feature.DefaultAssociationRole)" class="member-name-link">create</a><wbr>(<a href="DefaultAssociationRole.html" title="class in org.apache.sis.feature">Default­Association­Role</a>&nbsp;role)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Creates a new association of the given role.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html" title="class or interface in org.opengis.util" class="external-link">Generic­Name</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getName()" class="member-name-link">get­Name</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the name of this association as defined by its <a href="#getRole()">role</a>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="DefaultAssociationRole.html" title="class in org.apache.sis.feature">Default­Association­Role</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getRole()" class="member-name-link">get­Role</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns information about the association.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>abstract <a href="AbstractFeature.html" title="class in org.apache.sis.feature">Abstract­Feature</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getValue()" class="member-name-link">get­Value</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns the associated feature, or <code>null</code> if none.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a><wbr>&lt;<a href="AbstractFeature.html" title="class in org.apache.sis.feature">Abstract­Feature</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getValues()" class="member-name-link">get­Values</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns all features, or an empty collection if none.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/metadata/quality/DataQuality.html" title="class or interface in org.opengis.metadata.quality" class="external-link">Data­Quality</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#quality()" class="member-name-link">quality</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Verifies if the current association value mets the constraints defined by the association role.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>abstract void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#setValue(org.apache.sis.feature.AbstractFeature)" class="member-name-link">set­Value</a><wbr>(<a href="AbstractFeature.html" title="class in org.apache.sis.feature">Abstract­Feature</a>&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Sets the associated feature.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setValues(java.util.Collection)" class="member-name-link">set­Values</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;? extends <a href="AbstractFeature.html" title="class in org.apache.sis.feature">Abstract­Feature</a>&gt;&nbsp;values)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the features.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#toString()" class="member-name-link">to­String</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns a string representation of this association.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-Object">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">get­Class</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hash­Code</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notify­All</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(org.apache.sis.feature.DefaultAssociationRole)">
<h3>AbstractAssociation</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="element-name">AbstractAssociation</span><wbr><span class="parameters">(<a href="DefaultAssociationRole.html" title="class in org.apache.sis.feature">DefaultAssociationRole</a>&nbsp;role)</span></div>
<div class="block">Creates a new association of the given role.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>role</code> - information about the association.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list">
<li><a href="#create(org.apache.sis.feature.DefaultAssociationRole)"><code>create(Default­Association­Role)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="create(org.apache.sis.feature.DefaultAssociationRole)">
<h3>create</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="AbstractAssociation.html" title="class in org.apache.sis.feature">AbstractAssociation</a></span>&nbsp;<span class="element-name">create</span><wbr><span class="parameters">(<a href="DefaultAssociationRole.html" title="class in org.apache.sis.feature">DefaultAssociationRole</a>&nbsp;role)</span></div>
<div class="block">Creates a new association of the given role.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>role</code> - information about the association.</dd>
<dt>Returns:</dt>
<dd>the new association.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list-long">
<li><a href="DefaultAssociationRole.html#newInstance()"><code>Default­Association­Role​.new­Instance()</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getName()">
<h3>getName</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/util/GenericName.html" title="class or interface in org.opengis.util" class="external-link">GenericName</a></span>&nbsp;<span class="element-name">getName</span>()</div>
<div class="block">Returns the name of this association as defined by its <a href="#getRole()">role</a>.
This convenience method delegates to <a href="AbstractIdentifiedType.html#getName()"><code>Abstract­Identified­Type​.get­Name()</code></a>.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the association name specified by its role.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getRole()">
<h3>getRole</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="DefaultAssociationRole.html" title="class in org.apache.sis.feature">DefaultAssociationRole</a></span>&nbsp;<span class="element-name">getRole</span>()</div>
<div class="block">Returns information about the association.
<div class="warning"><b>Warning:</b> In a future SIS version, the return type may be changed
to <code>org​.opengis​.feature​.Association­Role</code>. This change is pending GeoAPI revision.</div></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>information about the association.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getValue()">
<h3>getValue</h3>
<div class="member-signature"><span class="modifiers">public abstract</span>&nbsp;<span class="return-type"><a href="AbstractFeature.html" title="class in org.apache.sis.feature">AbstractFeature</a></span>&nbsp;<span class="element-name">getValue</span>()
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></span></div>
<div class="block">Returns the associated feature, or <code>null</code> if none. This convenience method can be invoked in
the common case where the <a href="DefaultAssociationRole.html#getMaximumOccurs()">maximum number</a> of
features is restricted to 1 or 0.
<div class="warning"><b>Warning:</b> In a future SIS version, the return type may be changed
to <code>org​.opengis​.feature​.Feature</code>. This change is pending GeoAPI revision.</div></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the associated feature (may be <code>null</code>).</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">Illegal­State­Exception</a></code> - if this association contains more than one value.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list-long">
<li><a href="AbstractFeature.html#getPropertyValue(java.lang.String)"><code>Abstract­Feature​.get­Property­Value(String)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getValues()">
<h3>getValues</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="AbstractFeature.html" title="class in org.apache.sis.feature">AbstractFeature</a>&gt;</span>&nbsp;<span class="element-name">getValues</span>()</div>
<div class="block">Returns all features, or an empty collection if none.
The returned collection is <em>live</em>: changes in the returned collection
will be reflected immediately in this <code>Association</code> instance, and conversely.
<p>The default implementation returns a collection which will delegate its work to
<a href="#getValue()"><code>get­Value()</code></a> and <a href="#setValue(V)"><code>set­Value(Object)</code></a>.</p></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the features in a <em>live</em> collection.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setValue(org.apache.sis.feature.AbstractFeature)">
<h3>setValue</h3>
<div class="member-signature"><span class="modifiers">public abstract</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setValue</span><wbr><span class="parameters">(<a href="AbstractFeature.html" title="class in org.apache.sis.feature">AbstractFeature</a>&nbsp;value)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></span></div>
<div class="block">Sets the associated feature.
<div class="warning"><b>Warning:</b> In a future SIS version, the argument type may be changed
to <code>org​.opengis​.feature​.Feature</code>. This change is pending GeoAPI revision.</div>
<h4 id="validation-heading">Validation</h4>
The amount of validation performed by this method is implementation dependent.
Usually, only the most basic constraints are verified. This is so for performance reasons
and also because some rules may be temporarily broken while constructing a feature.
A more exhaustive verification can be performed by invoking the <a href="#quality()"><code>quality()</code></a> method.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - the new value, or <code>null</code>.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">Illegal­Argument­Exception</a></code> - if the given feature is not valid for this association.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list-long">
<li><a href="AbstractFeature.html#setPropertyValue(java.lang.String,java.lang.Object)"><code>Abstract­Feature​.set­Property­Value(String, Object)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setValues(java.util.Collection)">
<h3>setValues</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setValues</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;? extends <a href="AbstractFeature.html" title="class in org.apache.sis.feature">AbstractFeature</a>&gt;&nbsp;values)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></span></div>
<div class="block">Sets the features. All previous values are replaced by the given collection.
<p>The default implementation ensures that the given collection contains at most one element,
then delegates to <a href="#setValue(org.apache.sis.feature.AbstractFeature)"><code>set­Value(Abstract­Feature)</code></a>.</p></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>values</code> - the new values.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">Illegal­Argument­Exception</a></code> - if the given collection contains too many elements.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="quality()">
<h3>quality</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/metadata/quality/DataQuality.html" title="class or interface in org.opengis.metadata.quality" class="external-link">DataQuality</a></span>&nbsp;<span class="element-name">quality</span>()</div>
<div class="block">Verifies if the current association value mets the constraints defined by the association role.
This method returns at most one <a href="../../../../../org.apache.sis.metadata/org/apache/sis/metadata/iso/quality/DefaultDataQuality.html#getReports()">report</a> with a <a href="../../../../../org.apache.sis.metadata/org/apache/sis/metadata/iso/quality/AbstractElement.html#getResults()">result</a> for
each constraint violations found, if any.
See <a href="AbstractAttribute.html#quality()"><code>Abstract­Attribute​.quality()</code></a> for an example.
<p>This association is valid if this method does not report any
<a href="../../../../../org.apache.sis.metadata/org/apache/sis/metadata/iso/quality/DefaultConformanceResult.html" title="class in org.apache.sis.metadata.iso.quality">conformance result</a> having a
<a href="../../../../../org.apache.sis.metadata/org/apache/sis/metadata/iso/quality/DefaultConformanceResult.html#pass()">pass</a> value of <code>false</code>.</p></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>reports on all constraint violations found.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list">
<li><a href="AbstractFeature.html#quality()"><code>Abstract­Feature​.quality()</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="toString()">
<h3>toString</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">toString</span>()</div>
<div class="block">Returns a string representation of this association.
The returned string is for debugging purpose and may change in any future SIS version.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">to­String</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd>
<dt>Returns:</dt>
<dd>a string representation of this association for debugging purpose.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="clone()">
<h3>clone</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="AbstractAssociation.html" title="class in org.apache.sis.feature">AbstractAssociation</a></span>&nbsp;<span class="element-name">clone</span>()
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/CloneNotSupportedException.html" title="class or interface in java.lang" class="external-link">CloneNotSupportedException</a></span></div>
<div class="block">Returns a copy of this association.
The default implementation returns a <em>shallow</em> copy:
the association <a href="#getValue()">value</a> is <strong>not</strong> cloned.
However, subclasses may choose to do otherwise.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd>
<dt>Returns:</dt>
<dd>a clone of this association.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/CloneNotSupportedException.html" title="class or interface in java.lang" class="external-link">Clone­Not­Supported­Exception</a></code> - if this association cannot be cloned.
The default implementation never throw this exception. However, subclasses may throw it.</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</div>
</body>
</html>