| /* |
| * 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.*; |
| /** |
| * Connection Address of the SDP header (appears as part of the Connection field) |
| * |
| *@version JSR141-PUBLIC-REVIEW (subject to change) |
| * |
| *@author Olivier Deruelle <deruelle@antd.nist.gov> |
| *@author M. Ranganathan <br/> |
| * |
| * |
| * |
| */ |
| public class ConnectionAddress extends SDPObject { |
| protected Host address; |
| protected int ttl; |
| protected int port; |
| |
| public Host getAddress() { |
| return address; |
| } |
| public int getTtl() { |
| return ttl; |
| } |
| public int getPort() { |
| return port; |
| } |
| /** |
| * Set the address member |
| */ |
| public void setAddress(Host a) { |
| address = a; |
| } |
| /** |
| * Set the ttl member |
| */ |
| public void setTtl(int ttl) { |
| this.ttl = ttl; |
| } |
| /** |
| * Set the port member |
| */ |
| public void setPort(int p) { |
| port = p; |
| } |
| /** |
| * Get the string encoded version of this object |
| * @since v1.0 |
| */ |
| public String encode() { |
| String encoded_string = ""; |
| |
| if (address != null){ |
| encoded_string = address.encode(); |
| |
| //it appears that SDP does not allow square brackets |
| //in the connection address (see RFC4566) so make sure |
| //we lose them |
| if(Host.isIPv6Reference(encoded_string)) |
| { |
| //the isIPv6Reference == true means we have a minimum |
| //of 2 symbols, so substring bravely |
| encoded_string = encoded_string |
| .substring(1, encoded_string.length()-1); |
| } |
| } |
| if (ttl != 0 && port != 0) { |
| encoded_string += Separators.SLASH + ttl + Separators.SLASH + port; |
| } else if (ttl != 0) { |
| encoded_string += Separators.SLASH + ttl; |
| } |
| return encoded_string; |
| } |
| |
| public Object clone() { |
| ConnectionAddress retval = (ConnectionAddress) super.clone(); |
| if (this.address != null) |
| retval.address = (Host) this.address.clone(); |
| return retval; |
| } |
| |
| } |
| |