<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.4) on Fri Sep 20 12:10:30 CEST 2019 -->
<title>DefaultContact (Apache SIS 1.0 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2019-09-20">
<meta name="keywords" content="org.apache.sis.metadata.iso.citation.DefaultContact class">
<meta name="keywords" content="castOrCopy()">
<meta name="keywords" content="getPhones()">
<meta name="keywords" content="setPhones()">
<meta name="keywords" content="getPhone()">
<meta name="keywords" content="setPhone()">
<meta name="keywords" content="getAddresses()">
<meta name="keywords" content="setAddresses()">
<meta name="keywords" content="getAddress()">
<meta name="keywords" content="setAddress()">
<meta name="keywords" content="getOnlineResources()">
<meta name="keywords" content="setOnlineResources()">
<meta name="keywords" content="getOnlineResource()">
<meta name="keywords" content="setOnlineResource()">
<meta name="keywords" content="getHoursOfService()">
<meta name="keywords" content="setHoursOfService()">
<meta name="keywords" content="getContactInstructions()">
<meta name="keywords" content="setContactInstructions()">
<meta name="keywords" content="getContactType()">
<meta name="keywords" content="setContactType()">
<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="../../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../jquery/jquery-3.3.1.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-migrate-3.0.1.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="DefaultContact (Apache SIS 1.0 API)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":9,"i1":42,"i2":10,"i3":10,"i4":10,"i5":10,"i6":42,"i7":10,"i8":42,"i9":10,"i10":42,"i11":10,"i12":10,"i13":10,"i14":10,"i15":42,"i16":10,"i17":42,"i18":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../../";
var useModuleDirectories = false;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/DefaultContact.html">Use</a></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">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<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>
<a id="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.sis.metadata.iso.citation</a></div>
<h2 title="Class DefaultContact" class="title">Class DefaultContact</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../AbstractMetadata.html" title="class in org.apache.sis.metadata">AbstractMetadata</a></li>
<li>
<ul class="inheritance">
<li><a href="../../ModifiableMetadata.html" title="class in org.apache.sis.metadata">ModifiableMetadata</a></li>
<li>
<ul class="inheritance">
<li><a href="../ISOMetadata.html" title="class in org.apache.sis.metadata.iso">ISOMetadata</a></li>
<li>
<ul class="inheritance">
<li>DefaultContact</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></code>, <code><a href="../../../util/Emptiable.html" title="interface in org.apache.sis.util">Emptiable</a></code>, <code><a href="../../../util/LenientComparable.html" title="interface in org.apache.sis.util">Lenient­Comparable</a></code>, <code><a href="../../../xml/IdentifiedObject.html" title="interface in org.apache.sis.xml">Identified­Object</a></code>, <code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/Contact.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">Contact</a></code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">DefaultContact</span>
extends <a href="../ISOMetadata.html" title="class in org.apache.sis.metadata.iso">ISOMetadata</a>
implements <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/Contact.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">Contact</a></pre>
<div class="block">Information required to enable contact with the responsible person and/or organization.

 <p><b>Limitations:</b></p>
 <ul>
   <li>Instances of this class are not synchronized for multi-threading.
       Synchronization, if needed, is caller's responsibility.</li>
   <li>Serialized objects of this class are not guaranteed to be compatible with future Apache SIS releases.
       Serialization support is appropriate for short term storage or RMI between applications running the
       same version of Apache SIS. For long term storage, use <a href="../../../xml/XML.html" title="class in org.apache.sis.xml"><code>XML</code></a> instead.</li>
 </ul></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.3</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../serialized-form.html#org.apache.sis.metadata.iso.citation.DefaultContact">Serialized Form</a></dd>

<p><font size="-1">Defined in the <code>sis-metadata</code> module</font></p>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!--   -->
</a>
<h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.apache.sis.metadata.ModifiableMetadata">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;<a href="../../ModifiableMetadata.html" title="class in org.apache.sis.metadata">ModifiableMetadata</a></h3>
<code><a href="../../ModifiableMetadata.State.html" title="enum in org.apache.sis.metadata">Modifiable­Metadata​.State</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.ISOMetadata">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;<a href="../ISOMetadata.html" title="class in org.apache.sis.metadata.iso">ISOMetadata</a></h3>
<code><a href="../ISOMetadata.html#identifiers">identifiers</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">DefaultContact</a></span>()</code></th>
<td class="colLast">
<div class="block">Constructs an initially empty contact.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.opengis.metadata.citation.Contact)">DefaultContact</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/Contact.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">Contact</a>&nbsp;object)</code></th>
<td class="colLast">
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.</div>
</td>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.opengis.metadata.citation.OnlineResource)">DefaultContact</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/OnlineResource.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">OnlineResource</a>&nbsp;resource)</code></th>
<td class="colLast">
<div class="block">Constructs a contact initialized to the specified online resource.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static <a href="DefaultContact.html" title="class in org.apache.sis.metadata.iso.citation">DefaultContact</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#castOrCopy(org.opengis.metadata.citation.Contact)">castOrCopy</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/Contact.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">Contact</a>&nbsp;object)</code></th>
<td class="colLast">
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/Address.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">Address</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAddress()">getAddress</a></span>()</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="#getAddresses()"><code>get­Addresses()</code></a>.</div>
</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/Address.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">Address</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAddresses()">getAddresses</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the physical and email addresses at which the organization or individual may be contacted.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/InternationalString.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink">InternationalString</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getContactInstructions()">getContactInstructions</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns supplemental instructions on how or when to contact the individual or organization.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/InternationalString.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink">InternationalString</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getContactType()">getContactType</a></span>()</code></th>
<td class="colLast">
<div class="block">Type of the contact.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/InternationalString.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink">InternationalString</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getHoursOfService()">getHoursOfService</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the time period (including time zone) when individuals can contact the organization or individual.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/OnlineResource.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">OnlineResource</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getOnlineResource()">getOnlineResource</a></span>()</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="#getOnlineResources()"><code>get­Online­Resources()</code></a>.</div>
</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/OnlineResource.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">OnlineResource</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getOnlineResources()">getOnlineResources</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns on-line information that can be used to contact the individual or organization.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/Telephone.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">Telephone</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPhone()">getPhone</a></span>()</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="#getPhones()"><code>get­Phones()</code></a>.</div>
</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/Telephone.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">Telephone</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPhones()">getPhones</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns telephone numbers at which the organization or individual may be contacted.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setAddress(org.opengis.metadata.citation.Address)">setAddress</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/Address.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">Address</a>&nbsp;newValue)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="#setAddresses(java.util.Collection)"><code>set­Addresses(Collection)</code></a>.</div>
</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setAddresses(java.util.Collection)">setAddresses</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;? extends <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/Address.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">Address</a>&gt;&nbsp;newValues)</code></th>
<td class="colLast">
<div class="block">Sets the physical and email addresses at which the organization or individual may be contacted.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setContactInstructions(org.opengis.util.InternationalString)">setContactInstructions</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/InternationalString.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink">InternationalString</a>&nbsp;newValue)</code></th>
<td class="colLast">
<div class="block">Sets supplemental instructions on how or when to contact the individual or organization.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setContactType(org.opengis.util.InternationalString)">setContactType</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/InternationalString.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink">InternationalString</a>&nbsp;newValue)</code></th>
<td class="colLast">
<div class="block">Sets new type of the contact.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setHoursOfService(org.opengis.util.InternationalString)">setHoursOfService</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/InternationalString.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink">InternationalString</a>&nbsp;newValue)</code></th>
<td class="colLast">
<div class="block">Sets time period (including time zone) when individuals can contact the organization or individual.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setOnlineResource(org.opengis.metadata.citation.OnlineResource)">setOnlineResource</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/OnlineResource.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">OnlineResource</a>&nbsp;newValue)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="#setOnlineResources(java.util.Collection)"><code>set­Online­Resources(Collection)</code></a>.</div>
</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setOnlineResources(java.util.Collection)">setOnlineResources</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;? extends <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/OnlineResource.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">OnlineResource</a>&gt;&nbsp;newValues)</code></th>
<td class="colLast">
<div class="block">Sets on-line information that can be used to contact the individual or organization.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPhone(org.opengis.metadata.citation.Telephone)">setPhone</a></span>&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/Telephone.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">Telephone</a>&nbsp;newValue)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="#setPhones(java.util.Collection)"><code>set­Phones(Collection)</code></a>.</div>
</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setPhones(java.util.Collection)">setPhones</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;? extends <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/Telephone.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">Telephone</a>&gt;&nbsp;newValues)</code></th>
<td class="colLast">
<div class="block">Sets telephone numbers at which the organization or individual may be contacted.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.ISOMetadata">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;<a href="../ISOMetadata.html" title="class in org.apache.sis.metadata.iso">ISOMetadata</a></h3>
<code><a href="../ISOMetadata.html#getIdentifier()">get­Identifier</a>, <a href="../ISOMetadata.html#getIdentifierMap()">get­Identifier­Map</a>, <a href="../ISOMetadata.html#getIdentifiers()">get­Identifiers</a>, <a href="../ISOMetadata.html#getStandard()">get­Standard</a>, <a href="../ISOMetadata.html#setIdentifier(org.opengis.metadata.Identifier)">set­Identifier</a>, <a href="../ISOMetadata.html#transitionTo(org.apache.sis.metadata.ModifiableMetadata.State)">transition­To</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.ModifiableMetadata">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;<a href="../../ModifiableMetadata.html" title="class in org.apache.sis.metadata">ModifiableMetadata</a></h3>
<code><a href="../../ModifiableMetadata.html#checkWritePermission()">check­Write­Permission</a>, <a href="../../ModifiableMetadata.html#checkWritePermission(java.lang.Object)">check­Write­Permission</a>, <a href="../../ModifiableMetadata.html#collectionType(java.lang.Class)">collection­Type</a>, <a href="../../ModifiableMetadata.html#copyCollection(java.util.Collection,java.lang.Class)">copy­Collection</a>, <a href="../../ModifiableMetadata.html#copyList(java.util.Collection,java.lang.Class)">copy­List</a>, <a href="../../ModifiableMetadata.html#copyMap(java.util.Map,java.lang.Class)">copy­Map</a>, <a href="../../ModifiableMetadata.html#copySet(java.util.Collection,java.lang.Class)">copy­Set</a>, <a href="../../ModifiableMetadata.html#freeze()">freeze</a>, <a href="../../ModifiableMetadata.html#isModifiable()">is­Modifiable</a>, <a href="../../ModifiableMetadata.html#nonNullCollection(java.util.Collection,java.lang.Class)">non­Null­Collection</a>, <a href="../../ModifiableMetadata.html#nonNullList(java.util.List,java.lang.Class)">non­Null­List</a>, <a href="../../ModifiableMetadata.html#nonNullMap(java.util.Map,java.lang.Class)">non­Null­Map</a>, <a href="../../ModifiableMetadata.html#nonNullSet(java.util.Set,java.lang.Class)">non­Null­Set</a>, <a href="../../ModifiableMetadata.html#singleton(E,java.lang.Class)">singleton</a>, <a href="../../ModifiableMetadata.html#state()">state</a>, <a href="../../ModifiableMetadata.html#unmodifiable()">unmodifiable</a>, <a href="../../ModifiableMetadata.html#writeCollection(java.util.Collection,java.util.Collection,java.lang.Class)">write­Collection</a>, <a href="../../ModifiableMetadata.html#writeList(java.util.Collection,java.util.List,java.lang.Class)">write­List</a>, <a href="../../ModifiableMetadata.html#writeMap(java.util.Map,java.util.Map,java.lang.Class)">write­Map</a>, <a href="../../ModifiableMetadata.html#writeSet(java.util.Collection,java.util.Set,java.lang.Class)">write­Set</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.AbstractMetadata">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;<a href="../../AbstractMetadata.html" title="class in org.apache.sis.metadata">AbstractMetadata</a></h3>
<code><a href="../../AbstractMetadata.html#asMap()">as­Map</a>, <a href="../../AbstractMetadata.html#asTreeTable()">as­Tree­Table</a>, <a href="../../AbstractMetadata.html#equals(java.lang.Object)">equals</a>, <a href="../../AbstractMetadata.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals</a>, <a href="../../AbstractMetadata.html#getInterface()">get­Interface</a>, <a href="../../AbstractMetadata.html#hashCode()">hash­Code</a>, <a href="../../AbstractMetadata.html#isEmpty()">is­Empty</a>, <a href="../../AbstractMetadata.html#prune()">prune</a>, <a href="../../AbstractMetadata.html#toString()">to­String</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">get­Class</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notify­All</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DefaultContact</h4>
<pre>public&nbsp;DefaultContact()</pre>
<div class="block">Constructs an initially empty contact.</div>
</li>
</ul>
<a id="&lt;init&gt;(org.opengis.metadata.citation.OnlineResource)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DefaultContact</h4>
<pre>public&nbsp;DefaultContact&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/OnlineResource.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">OnlineResource</a>&nbsp;resource)</pre>
<div class="block">Constructs a contact initialized to the specified online resource.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>resource</code> - the on-line information that can be used to contact the individual or organization,
                  or <code>null</code> if none.</dd>
</dl>
</li>
</ul>
<a id="&lt;init&gt;(org.opengis.metadata.citation.Contact)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DefaultContact</h4>
<pre>public&nbsp;DefaultContact&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/Contact.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">Contact</a>&nbsp;object)</pre>
<div class="block">Constructs a new instance initialized with the values from the specified metadata object.
 This is a <cite>shallow</cite> copy constructor, since the other metadata contained in the
 given object are not recursively copied.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>object</code> - the metadata to copy values from, or <code>null</code> if none.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#castOrCopy(org.opengis.metadata.citation.Contact)"><code>cast­Or­Copy(Contact)</code></a></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a id="castOrCopy(org.opengis.metadata.citation.Contact)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>castOrCopy</h4>
<pre class="methodSignature">public static&nbsp;<a href="DefaultContact.html" title="class in org.apache.sis.metadata.iso.citation">DefaultContact</a>&nbsp;castOrCopy&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/Contact.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">Contact</a>&nbsp;object)</pre>
<div class="block">Returns a SIS metadata implementation with the values of the given arbitrary implementation.
 This method performs the first applicable action in the following choices:

 <ul>
   <li>If the given object is <code>null</code>, then this method returns <code>null</code>.</li>
   <li>Otherwise if the given object is already an instance of
       <code>Default­Contact</code>, then it is returned unchanged.</li>
   <li>Otherwise a new <code>Default­Contact</code> instance is created using the
       <a href="#%3Cinit%3E(org.opengis.metadata.citation.Contact)">copy constructor</a>
       and returned. Note that this is a <cite>shallow</cite> copy operation, since the other
       metadata contained in the given object are not recursively copied.</li>
 </ul></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>object</code> - the object to get as a SIS implementation, or <code>null</code> if none.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a SIS implementation containing the values of the given object (may be the
         given object itself), or <code>null</code> if the argument was null.</dd>
</dl>
</li>
</ul>
<a id="getPhones()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPhones</h4>
<pre class="methodSignature"><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/annotation/UML.html?is-external=true" title="class or interface in org.opengis.annotation" class="externalLink">@UML</a>(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/annotation/UML.html?is-external=true#identifier()" title="class or interface in org.opengis.annotation" class="externalLink">identifier</a>="phone",
     <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/annotation/UML.html?is-external=true#obligation()" title="class or interface in org.opengis.annotation" class="externalLink">obligation</a>=<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/annotation/Obligation.html?is-external=true#OPTIONAL" title="class or interface in org.opengis.annotation" class="externalLink">OPTIONAL</a>,
     <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/annotation/UML.html?is-external=true#specification()" title="class or interface in org.opengis.annotation" class="externalLink">specification</a>=<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/annotation/Specification.html?is-external=true#ISO_19115" title="class or interface in org.opengis.annotation" class="externalLink">ISO_19115</a>)
public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/Telephone.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">Telephone</a>&gt;&nbsp;getPhones()</pre>
<div class="block">Returns telephone numbers at which the organization or individual may be contacted.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>telephone numbers at which the organization or individual may be contacted.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.5</dd>
</dl>
</li>
</ul>
<a id="setPhones(java.util.Collection)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPhones</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setPhones&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;? extends <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/Telephone.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">Telephone</a>&gt;&nbsp;newValues)</pre>
<div class="block">Sets telephone numbers at which the organization or individual may be contacted.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>new­Values</code> - the new telephones.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.5</dd>
</dl>
</li>
</ul>
<a id="getPhone()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPhone</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang" class="externalLink">@Deprecated</a>
public&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/Telephone.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">Telephone</a>&nbsp;getPhone()</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="#getPhones()"><code>get­Phones()</code></a>.</div>
</div>
<div class="block">Returns telephone numbers at which the organization or individual may be contacted.
 This method returns the first telephone number associated to <code>Telephone­Type​.VOICE</code>
 or <code>Telephone­Type​.FACSIMILE FACSIMILE</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/Contact.html?is-external=true#getPhone()" title="class or interface in org.opengis.metadata.citation" class="externalLink">get­Phone</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/Contact.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">Contact</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>telephone numbers at which the organization or individual may be contacted, or <code>null</code>.</dd>
</dl>
</li>
</ul>
<a id="setPhone(org.opengis.metadata.citation.Telephone)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPhone</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang" class="externalLink">@Deprecated</a>
public&nbsp;void&nbsp;setPhone&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/Telephone.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">Telephone</a>&nbsp;newValue)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="#setPhones(java.util.Collection)"><code>set­Phones(Collection)</code></a>.</div>
</div>
<div class="block">Sets telephone numbers at which the organization or individual may be contacted.
 This method delegates to <a href="#setPhones(java.util.Collection)"><code>set­Phones(Collection)</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>new­Value</code> - the new telephone, or <code>null</code> if none.</dd>
</dl>
</li>
</ul>
<a id="getAddresses()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAddresses</h4>
<pre class="methodSignature"><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/annotation/UML.html?is-external=true" title="class or interface in org.opengis.annotation" class="externalLink">@UML</a>(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/annotation/UML.html?is-external=true#identifier()" title="class or interface in org.opengis.annotation" class="externalLink">identifier</a>="address",
     <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/annotation/UML.html?is-external=true#obligation()" title="class or interface in org.opengis.annotation" class="externalLink">obligation</a>=<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/annotation/Obligation.html?is-external=true#OPTIONAL" title="class or interface in org.opengis.annotation" class="externalLink">OPTIONAL</a>,
     <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/annotation/UML.html?is-external=true#specification()" title="class or interface in org.opengis.annotation" class="externalLink">specification</a>=<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/annotation/Specification.html?is-external=true#ISO_19115" title="class or interface in org.opengis.annotation" class="externalLink">ISO_19115</a>)
public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/Address.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">Address</a>&gt;&nbsp;getAddresses()</pre>
<div class="block">Returns the physical and email addresses at which the organization or individual may be contacted.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>physical and email addresses at which the organization or individual may be contacted, or <code>null</code>.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.5</dd>
</dl>
</li>
</ul>
<a id="setAddresses(java.util.Collection)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAddresses</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setAddresses&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;? extends <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/Address.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">Address</a>&gt;&nbsp;newValues)</pre>
<div class="block">Sets the physical and email addresses at which the organization or individual may be contacted.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>new­Values</code> - the new addresses.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.5</dd>
</dl>
</li>
</ul>
<a id="getAddress()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAddress</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang" class="externalLink">@Deprecated</a>
public&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/Address.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">Address</a>&nbsp;getAddress()</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="#getAddresses()"><code>get­Addresses()</code></a>.</div>
</div>
<div class="block">Returns the physical and email address at which the organization or individual may be contacted.
 This method returns the first <a href="#getAddresses()"><code>adress</code></a> element, or null if none.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/Contact.html?is-external=true#getAddress()" title="class or interface in org.opengis.metadata.citation" class="externalLink">get­Address</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/Contact.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">Contact</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>physical and email address at which the organization or individual may be contacted, or <code>null</code>.</dd>
</dl>
</li>
</ul>
<a id="setAddress(org.opengis.metadata.citation.Address)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAddress</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang" class="externalLink">@Deprecated</a>
public&nbsp;void&nbsp;setAddress&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/Address.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">Address</a>&nbsp;newValue)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="#setAddresses(java.util.Collection)"><code>set­Addresses(Collection)</code></a>.</div>
</div>
<div class="block">Sets the physical and email address at which the organization or individual may be contacted.
 This method delegates to <a href="#setAddresses(java.util.Collection)"><code>set­Addresses(Collection)</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>new­Value</code> - the new address, or <code>null</code> if none.</dd>
</dl>
</li>
</ul>
<a id="getOnlineResources()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOnlineResources</h4>
<pre class="methodSignature"><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/annotation/UML.html?is-external=true" title="class or interface in org.opengis.annotation" class="externalLink">@UML</a>(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/annotation/UML.html?is-external=true#identifier()" title="class or interface in org.opengis.annotation" class="externalLink">identifier</a>="onlineResource",
     <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/annotation/UML.html?is-external=true#obligation()" title="class or interface in org.opengis.annotation" class="externalLink">obligation</a>=<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/annotation/Obligation.html?is-external=true#OPTIONAL" title="class or interface in org.opengis.annotation" class="externalLink">OPTIONAL</a>,
     <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/annotation/UML.html?is-external=true#specification()" title="class or interface in org.opengis.annotation" class="externalLink">specification</a>=<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/annotation/Specification.html?is-external=true#ISO_19115" title="class or interface in org.opengis.annotation" class="externalLink">ISO_19115</a>)
public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/OnlineResource.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">OnlineResource</a>&gt;&nbsp;getOnlineResources()</pre>
<div class="block">Returns on-line information that can be used to contact the individual or organization.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>on-line information that can be used to contact the individual or organization.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.5</dd>
</dl>
</li>
</ul>
<a id="setOnlineResources(java.util.Collection)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOnlineResources</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setOnlineResources&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;? extends <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/OnlineResource.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">OnlineResource</a>&gt;&nbsp;newValues)</pre>
<div class="block">Sets on-line information that can be used to contact the individual or organization.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>new­Values</code> - the new online resources.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.5</dd>
</dl>
</li>
</ul>
<a id="getOnlineResource()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOnlineResource</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang" class="externalLink">@Deprecated</a>
public&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/OnlineResource.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">OnlineResource</a>&nbsp;getOnlineResource()</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="#getOnlineResources()"><code>get­Online­Resources()</code></a>.</div>
</div>
<div class="block">Returns on-line information that can be used to contact the individual or organization.
 This method returns the first <a href="#getOnlineResources()"><code>online resource</code></a> element, or null if none.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/Contact.html?is-external=true#getOnlineResource()" title="class or interface in org.opengis.metadata.citation" class="externalLink">get­Online­Resource</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/Contact.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">Contact</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>on-line information that can be used to contact the individual or organization, or <code>null</code>.</dd>
</dl>
</li>
</ul>
<a id="setOnlineResource(org.opengis.metadata.citation.OnlineResource)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOnlineResource</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang" class="externalLink">@Deprecated</a>
public&nbsp;void&nbsp;setOnlineResource&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/OnlineResource.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">OnlineResource</a>&nbsp;newValue)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">As of ISO 19115:2014, replaced by <a href="#setOnlineResources(java.util.Collection)"><code>set­Online­Resources(Collection)</code></a>.</div>
</div>
<div class="block">Sets on-line information that can be used to contact the individual or organization.
 This method delegates to <a href="#setOnlineResources(java.util.Collection)"><code>set­Online­Resources(Collection)</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>new­Value</code> - the new online resource, or <code>null</code> if none.</dd>
</dl>
</li>
</ul>
<a id="getHoursOfService()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHoursOfService</h4>
<pre class="methodSignature">public&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/InternationalString.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink">InternationalString</a>&nbsp;getHoursOfService()</pre>
<div class="block">Returns the time period (including time zone) when individuals can contact the organization or individual.

 <div class="warning"><b>Upcoming API change — multiplicity</b><br>
 As of ISO 19115:2014, this singleton has been replaced by a collection.
 This change will tentatively be applied in GeoAPI 4.0.
 </div></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/Contact.html?is-external=true#getHoursOfService()" title="class or interface in org.opengis.metadata.citation" class="externalLink">get­Hours­Of­Service</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/Contact.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">Contact</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>time period when individuals can contact the organization or individual.</dd>
</dl>
</li>
</ul>
<a id="setHoursOfService(org.opengis.util.InternationalString)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setHoursOfService</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setHoursOfService&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/InternationalString.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink">InternationalString</a>&nbsp;newValue)</pre>
<div class="block">Sets time period (including time zone) when individuals can contact the organization or individual.

 <div class="warning"><b>Upcoming API change — multiplicity</b><br>
 As of ISO 19115:2014, this singleton has been replaced by a collection.
 This change will tentatively be applied in GeoAPI 4.0.
 </div></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>new­Value</code> - the new hours of service.</dd>
</dl>
</li>
</ul>
<a id="getContactInstructions()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getContactInstructions</h4>
<pre class="methodSignature">public&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/InternationalString.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink">InternationalString</a>&nbsp;getContactInstructions()</pre>
<div class="block">Returns supplemental instructions on how or when to contact the individual or organization.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/Contact.html?is-external=true#getContactInstructions()" title="class or interface in org.opengis.metadata.citation" class="externalLink">get­Contact­Instructions</a></code>&nbsp;in interface&nbsp;<code><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/metadata/citation/Contact.html?is-external=true" title="class or interface in org.opengis.metadata.citation" class="externalLink">Contact</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>supplemental instructions on how or when to contact the individual or organization, or <code>null</code>.</dd>
</dl>
</li>
</ul>
<a id="setContactInstructions(org.opengis.util.InternationalString)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setContactInstructions</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setContactInstructions&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/InternationalString.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink">InternationalString</a>&nbsp;newValue)</pre>
<div class="block">Sets supplemental instructions on how or when to contact the individual or organization.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>new­Value</code> - the new contact instructions, or <code>null</code> if none.</dd>
</dl>
</li>
</ul>
<a id="getContactType()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getContactType</h4>
<pre class="methodSignature"><a href="http://www.geoapi.org/3.0/javadoc/org/opengis/annotation/UML.html?is-external=true" title="class or interface in org.opengis.annotation" class="externalLink">@UML</a>(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/annotation/UML.html?is-external=true#identifier()" title="class or interface in org.opengis.annotation" class="externalLink">identifier</a>="contactType",
     <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/annotation/UML.html?is-external=true#obligation()" title="class or interface in org.opengis.annotation" class="externalLink">obligation</a>=<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/annotation/Obligation.html?is-external=true#OPTIONAL" title="class or interface in org.opengis.annotation" class="externalLink">OPTIONAL</a>,
     <a href="http://www.geoapi.org/3.0/javadoc/org/opengis/annotation/UML.html?is-external=true#specification()" title="class or interface in org.opengis.annotation" class="externalLink">specification</a>=<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/annotation/Specification.html?is-external=true#ISO_19115" title="class or interface in org.opengis.annotation" class="externalLink">ISO_19115</a>)
public&nbsp;<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/InternationalString.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink">InternationalString</a>&nbsp;getContactType()</pre>
<div class="block">Type of the contact.
 Returns <code>null</code> if none.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>type of the contact, or <code>null</code> if none.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.5</dd>
</dl>
</li>
</ul>
<a id="setContactType(org.opengis.util.InternationalString)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setContactType</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setContactType&#8203;(<a href="http://www.geoapi.org/3.0/javadoc/org/opengis/util/InternationalString.html?is-external=true" title="class or interface in org.opengis.util" class="externalLink">InternationalString</a>&nbsp;newValue)</pre>
<div class="block">Sets new type of the contact.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>new­Value</code> - the new type of the contact.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.5</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/DefaultContact.html">Use</a></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">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<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>
<a id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2010&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>
