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* and others.
7* Pursuant to title 15 Untied States Code Section 105, works of NIST
8* employees are not subject to copyright protection in the United States
9* and are considered to be in the public domain.  As a result, a formal
10* license is not needed to use the software.
11*
12* This software is provided by NIST as a service and is expressly
13* provided "AS IS."  NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
14* OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
15* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
16* AND DATA ACCURACY.  NIST does not warrant or make any representations
17* regarding the use of the software or the results thereof, including but
18* not limited to the correctness, accuracy, reliability or usefulness of
19* the software.
20*
21* Permission to use this software is contingent upon your acceptance
22* of the terms of this agreement
23*
24* .
25*
26*/
27/*******************************************
28 * PRODUCT OF PT INOVAO - EST DEPARTMENT   *
29 *******************************************/
30
31package gov.nist.javax.sip.header.ims;
32
33import javax.sip.address.Address;
34
35import gov.nist.javax.sip.address.AddressImpl;
36import gov.nist.javax.sip.header.SIPHeader;
37
38/**
39 * AddressHeader base class.
40 * @author ALEXANDRE MIGUEL SILVA SANTOS (PT Innovacau)
41 */
42
43public abstract class AddressHeaderIms extends SIPHeader {
44
45    protected AddressImpl address;
46
47    /**
48     * get the Address field
49     * @return the imbedded  Address
50     */
51    public Address getAddress() {
52        return address;
53    }
54
55    /**
56     * set the Address field
57     * @param address Address to set
58     */
59    public void setAddress(Address address) {
60        this.address = (AddressImpl) address;
61    }
62
63    public abstract String encodeBody();
64    //protected abstract String encodeBody();
65
66
67    /**
68     * Constructor given the name of the header.
69     */
70    public AddressHeaderIms(String name) {
71    //protected AddressHeader(String name) {
72        super(name);
73    }
74
75    public Object clone() {
76        AddressHeaderIms retval = (AddressHeaderIms) super.clone();
77        if (this.address != null)
78            retval.address = (AddressImpl) this.address.clone();
79        return retval;
80    }
81
82
83}
84
85