content: package javax2.sip.header;
  
  import java.text.ParseException;
  import java.util.Calendar;
  import java.util.List;
  import java.util.Locale;
  
  import javax2.sip.InvalidArgumentException;
  import javax2.sip.address.Address;
  import javax2.sip.address.URI;
  
  public interface HeaderFactory {
      void setPrettyEncoding(boolean flag);
  
      AcceptEncodingHeader createAcceptEncodingHeader(String encoding)
              throws ParseException;
  
      AcceptHeader createAcceptHeader(String contentType, String contentSubType)
              throws ParseException;
  
      AcceptLanguageHeader createAcceptLanguageHeader(Locale language);
  
      AlertInfoHeader createAlertInfoHeader(URI alertInfo);
  
      AllowEventsHeader createAllowEventsHeader(String eventType)
              throws ParseException;
  
      AllowHeader createAllowHeader(String method) throws ParseException;
  
      AuthenticationInfoHeader createAuthenticationInfoHeader(String response)
              throws ParseException;
  
      AuthorizationHeader createAuthorizationHeader(String scheme)
              throws ParseException;
  
      CallIdHeader createCallIdHeader(String callId) throws ParseException;
  
      CallInfoHeader createCallInfoHeader(URI callInfo);
  
      ContactHeader createContactHeader();
  
      ContactHeader createContactHeader(Address address);
  
      ContentDispositionHeader createContentDispositionHeader(
              String contentDispositionType) throws ParseException;
  
      ContentEncodingHeader createContentEncodingHeader(String encoding)
              throws ParseException;
  
      ContentLanguageHeader createContentLanguageHeader(Locale contentLanguage);
  
      ContentLengthHeader createContentLengthHeader(int contentLength)
              throws InvalidArgumentException;
  
      ContentTypeHeader createContentTypeHeader(String contentType,
              String contentSubType) throws ParseException;
  
      /**
       * @deprecated
       * @see #createCSeqHeader(long, String)
       */
      CSeqHeader createCSeqHeader(int sequenceNumber, String method)
              throws ParseException, InvalidArgumentException;
  
      CSeqHeader createCSeqHeader(long sequenceNumber, String method)
              throws ParseException, InvalidArgumentException;
  
      DateHeader createDateHeader(Calendar date);
  
      ErrorInfoHeader createErrorInfoHeader(URI errorInfo);
  
      EventHeader createEventHeader(String eventType) throws ParseException;
  
      ExpiresHeader createExpiresHeader(int expires)
              throws InvalidArgumentException;
  
      ExtensionHeader createExtensionHeader(String name, String value)
              throws ParseException;
  
      FromHeader createFromHeader(Address address, String tag)
              throws ParseException;
  
      Header createHeader(String name, String value) throws ParseException;
      Header createHeader(String headerText) throws ParseException;
  
      List createHeaders(String headers) throws ParseException;
  
      InReplyToHeader createInReplyToHeader(String callId) throws ParseException;
  
      MaxForwardsHeader createMaxForwardsHeader(int maxForwards)
              throws InvalidArgumentException;
  
      MimeVersionHeader createMimeVersionHeader(int majorVersion,
              int minorVersion) throws InvalidArgumentException;
  
      MinExpiresHeader createMinExpiresHeader(int minExpires)
              throws InvalidArgumentException;
  
      OrganizationHeader createOrganizationHeader(String organization)
              throws ParseException;
  
      PriorityHeader createPriorityHeader(String priority) throws ParseException;
  
      ProxyAuthenticateHeader createProxyAuthenticateHeader(String scheme)
              throws ParseException;
  
      ProxyAuthorizationHeader createProxyAuthorizationHeader(String scheme)
              throws ParseException;
  
      ProxyRequireHeader createProxyRequireHeader(String optionTag)
              throws ParseException;
  
      RAckHeader createRAckHeader(long rSeqNumber, long cSeqNumber, String method)
              throws InvalidArgumentException, ParseException;
  
      /**
       * @deprecated
       * @see #createRAckHeader(long, long, String)
       */
      RAckHeader createRAckHeader(int rSeqNumber, int cSeqNumber, String method)
              throws InvalidArgumentException, ParseException;
  
      ReasonHeader createReasonHeader(String protocol, int cause, String text)
              throws InvalidArgumentException, ParseException;
  
      RecordRouteHeader createRecordRouteHeader(Address address);
  
      ReferToHeader createReferToHeader(Address address);
  
      ReplyToHeader createReplyToHeader(Address address);
  
      RequireHeader createRequireHeader(String optionTag) throws ParseException;
  
      RetryAfterHeader createRetryAfterHeader(int retryAfter)
              throws InvalidArgumentException;
  
      RouteHeader createRouteHeader(Address address);
  
      RSeqHeader createRSeqHeader(long sequenceNumber)
              throws InvalidArgumentException;
  
      /**
       * @deprecated
       * @see #createRSeqHeader(long)
       */
      RSeqHeader createRSeqHeader(int sequenceNumber)
              throws InvalidArgumentException;
  
      ServerHeader createServerHeader(List product) throws ParseException;
  
      SIPETagHeader createSIPETagHeader(String etag) throws ParseException;
  
      SIPIfMatchHeader createSIPIfMatchHeader(String etag) throws ParseException;
  
      SubjectHeader createSubjectHeader(String subject) throws ParseException;
  
      SubscriptionStateHeader createSubscriptionStateHeader(
              String subscriptionState) throws ParseException;
  
      SupportedHeader createSupportedHeader(String optionTag)
              throws ParseException;
  
      TimeStampHeader createTimeStampHeader(float timeStamp)
              throws InvalidArgumentException;
  
      ToHeader createToHeader(Address address, String tag) throws ParseException;
  
      UnsupportedHeader createUnsupportedHeader(String optionTag)
              throws ParseException;
  
      UserAgentHeader createUserAgentHeader(List product) throws ParseException;
  
      ViaHeader createViaHeader(String host, int port, String transport,
              String branch) throws InvalidArgumentException, ParseException;
  
      WarningHeader createWarningHeader(String agent, int code, String comment)
              throws InvalidArgumentException, ParseException;
  
      WWWAuthenticateHeader createWWWAuthenticateHeader(String scheme)
              throws ParseException;
  }
  