| /* |
| * Conditions Of Use |
| * |
| * This software was developed by employees of the National Institute of |
| * Standards and Technology (NIST), an agency of the Federal Government. |
| * Pursuant to title 15 Untied States Code Section 105, works of NIST |
| * employees are not subject to copyright protection in the United States |
| * and are considered to be in the public domain. As a result, a formal |
| * license is not needed to use the software. |
| * |
| * This software is provided by NIST as a service and is expressly |
| * provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED |
| * OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF |
| * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT |
| * AND DATA ACCURACY. NIST does not warrant or make any representations |
| * regarding the use of the software or the results thereof, including but |
| * not limited to the correctness, accuracy, reliability or usefulness of |
| * the software. |
| * |
| * Permission to use this software is contingent upon your acceptance |
| * of the terms of this agreement |
| * |
| * . |
| * |
| */ |
| /******************************************************************************* |
| * Product of NIST/ITL Advanced Networking Technologies Division (ANTD). * |
| *******************************************************************************/ |
| package gov.nist.javax.sdp.fields; |
| import gov.nist.core.*; |
| import javax.sdp.*; |
| /** |
| * Connectin Field of the SDP request. |
| * |
| *@version JSR141-PUBLIC-REVIEW (subject to change). |
| * |
| *@author Olivier Deruelle <deruelle@antd.nist.gov> |
| *@author M. Ranganathan <br/> |
| * |
| * |
| * |
| */ |
| public class ConnectionField extends SDPField implements javax.sdp.Connection { |
| protected String nettype; |
| protected String addrtype; |
| protected ConnectionAddress address; |
| |
| public ConnectionField() { |
| super(SDPFieldNames.CONNECTION_FIELD); |
| } |
| public String getNettype() { |
| return nettype; |
| } |
| public String getAddrtype() { |
| return addrtype; |
| } |
| public ConnectionAddress getConnectionAddress() { |
| return address; |
| } |
| /** |
| * Set the nettype member |
| */ |
| public void setNettype(String n) { |
| nettype = n; |
| } |
| /** |
| * Set the addrtype member |
| */ |
| public void setAddrType(String a) { |
| addrtype = a; |
| } |
| /** |
| * Set the address member |
| */ |
| public void setAddress(ConnectionAddress a) { |
| address = a; |
| } |
| /** |
| * Get the string encoded version of this object |
| * @since v1.0 |
| */ |
| public String encode() { |
| String encoded_string = CONNECTION_FIELD; |
| if (nettype != null) |
| encoded_string += nettype; |
| if (addrtype != null) |
| encoded_string += Separators.SP + addrtype; |
| if (address != null) |
| encoded_string += Separators.SP + address.encode(); |
| return encoded_string += Separators.NEWLINE; |
| } |
| |
| public String toString() { |
| return this.encode(); |
| } |
| /** Returns the type of the network for this Connection. |
| * @throws SdpParseException |
| * @return the type of the network |
| */ |
| public String getAddress() throws SdpParseException { |
| ConnectionAddress connectionAddress = getConnectionAddress(); |
| if (connectionAddress == null) |
| return null; |
| else { |
| Host host = connectionAddress.getAddress(); |
| if (host == null) |
| return null; |
| else |
| return host.getAddress(); |
| } |
| } |
| |
| /** Returns the type of the address for this Connection. |
| * @throws SdpParseException |
| * @return the type of the address |
| */ |
| public String getAddressType() throws SdpParseException { |
| return getAddrtype(); |
| } |
| |
| /** Returns the type of the network for this Connection. |
| * @throws SdpParseException |
| * @return the type of the network |
| */ |
| public String getNetworkType() throws SdpParseException { |
| return getNettype(); |
| } |
| |
| /** Sets the type of the address for this Connection. |
| * @param addr to set |
| * @throws SdpException if the type is null |
| */ |
| public void setAddress(String addr) throws SdpException { |
| if (addr == null) |
| throw new SdpException("the addr is null"); |
| else { |
| if (address == null) { |
| address = new ConnectionAddress(); |
| Host host = new Host(addr); |
| address.setAddress(host); |
| } else { |
| Host host = address.getAddress(); |
| if (host == null) { |
| host = new Host(addr); |
| address.setAddress(host); |
| } else |
| host.setAddress(addr); |
| } |
| setAddress(address); |
| } |
| } |
| |
| /** Returns the type of the network for this Connection. |
| * @param type to set |
| * @throws SdpException if the type is null |
| */ |
| public void setAddressType(String type) throws SdpException { |
| if (type == null) |
| throw new SdpException("the type is null"); |
| this.addrtype = type; |
| } |
| |
| /** Sets the type of the network for this Connection. |
| * @param type to set |
| * @throws SdpException if the type is null |
| */ |
| public void setNetworkType(String type) throws SdpException { |
| if (type == null) |
| throw new SdpException("the type is null"); |
| else |
| setNettype(type); |
| } |
| public Object clone() { |
| ConnectionField retval = (ConnectionField) super.clone(); |
| if (this.address != null) |
| retval.address = (ConnectionAddress) this.address.clone(); |
| return retval; |
| } |
| |
| } |