1 /* 2 * Conditions Of Use 3 * 4 * This software was developed by employees of the National Institute of 5 * Standards and Technology (NIST), an agency of the Federal Government. 6 * Pursuant to title 15 Untied States Code Section 105, works of NIST 7 * employees are not subject to copyright protection in the United States 8 * and are considered to be in the public domain. As a result, a formal 9 * license is not needed to use the software. 10 * 11 * This software is provided by NIST as a service and is expressly 12 * provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED 13 * OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF 14 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT 15 * AND DATA ACCURACY. NIST does not warrant or make any representations 16 * regarding the use of the software or the results thereof, including but 17 * not limited to the correctness, accuracy, reliability or usefulness of 18 * the software. 19 * 20 * Permission to use this software is contingent upon your acceptance 21 * of the terms of this agreement. 22 * 23 */ 24 package gov.nist.javax.sip.header; 25 26 import javax.sip.address.*; 27 import javax.sip.header.FromHeader; 28 import javax.sip.header.HeaderAddress; 29 import javax.sip.header.Parameters; 30 31 import gov.nist.javax.sip.address.*; 32 33 /** An abstract class for headers that take an address and parameters. 34 * 35 * @version 1.2 $Revision: 1.11 $ $Date: 2009/07/17 18:57:25 $ 36 * 37 * @since 1.1 38 * 39 * @author M. Ranganathan <br/> 40 * 41 * 42 * 43 * 44 */ 45 public abstract class AddressParametersHeader extends ParametersHeader implements Parameters { 46 47 protected AddressImpl address; 48 49 /* (non-Javadoc) 50 * @see gov.nist.javax.sip.header.AddressParameters#getAddress() 51 */ getAddress()52 public Address getAddress() { 53 return address; 54 } 55 56 /* (non-Javadoc) 57 * @see gov.nist.javax.sip.header.AddressParameters#setAddress(javax.sip.address.Address) 58 */ setAddress(Address address)59 public void setAddress(Address address) { 60 this.address = (AddressImpl) address; 61 } 62 63 /** 64 * Constructor given the name of the header. 65 */ AddressParametersHeader(String name)66 protected AddressParametersHeader(String name) { 67 super(name); 68 } 69 70 /** 71 * Constructor given a synch flag. 72 * 73 * @param name 74 * @param sync 75 */ 76 AddressParametersHeader(String name, boolean sync)77 protected AddressParametersHeader(String name, boolean sync) { 78 super(name,sync); 79 } 80 81 /* (non-Javadoc) 82 * @see gov.nist.javax.sip.header.AddressParameters#clone() 83 */ clone()84 public Object clone() { 85 AddressParametersHeader retval = (AddressParametersHeader) super.clone(); 86 if (this.address != null) 87 retval.address = (AddressImpl) this.address.clone(); 88 return retval; 89 } 90 91 /* (non-Javadoc) 92 * @see gov.nist.javax.sip.header.AddressParameters#equals(java.lang.Object) 93 */ equals(Object other)94 public boolean equals(Object other) { 95 if (this==other) return true; 96 97 98 99 if (other instanceof HeaderAddress && other instanceof Parameters) { 100 final HeaderAddress o = (HeaderAddress) other; 101 return this.getAddress().equals( o.getAddress() ) && this.equalParameters( (Parameters) o ); 102 } 103 return false; 104 } 105 106 } 107