vendor/swiftmailer/lib/classes/Swift/Mime/HeaderSet.php
author ymh <ymh.work@gmail.com>
Sat, 24 Sep 2011 15:40:41 +0200
changeset 0 7f95f8617b0b
permissions -rwxr-xr-x
first commit
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
<?php
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
/*
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
 * This file is part of SwiftMailer.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
 * (c) 2004-2009 Chris Corbyn
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
 *
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
 * For the full copyright and license information, please view the LICENSE
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
 * file that was distributed with this source code.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
 */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
/**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
 * A collection of MIME headers.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
 * 
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
 * @package Swift
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
 * @subpackage Mime
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
 * 
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
 * @author Chris Corbyn
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
 */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
interface Swift_Mime_HeaderSet extends Swift_Mime_CharsetObserver
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
{
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
  
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
  /**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
   * Add a new Mailbox Header with a list of $addresses.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
   * 
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
   * @param string $name
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
   * @param array|string $addresses
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
   */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
  public function addMailboxHeader($name, $addresses = null);
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
  
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
  /**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
   * Add a new Date header using $timestamp (UNIX time).
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
   * 
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
   * @param string $name
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
   * @param int $timestamp
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
   */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
  public function addDateHeader($name, $timestamp = null);
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
  
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
  /**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
   * Add a new basic text header with $name and $value.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
   * 
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
   * @param string $name
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
   * @param string $value
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
   */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
  public function addTextHeader($name, $value = null);
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
  
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
  /**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
   * Add a new ParameterizedHeader with $name, $value and $params.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
   * 
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
   * @param string $name
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
   * @param string $value
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
   * @param array $params
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
   */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
  public function addParameterizedHeader($name, $value = null,
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
    $params = array());
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
  
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
  /**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
   * Add a new ID header for Message-ID or Content-ID.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
   * 
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
   * @param string $name
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
   * @param string|array $ids
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
   */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
  public function addIdHeader($name, $ids = null);
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
  
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
  /**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
   * Add a new Path header with an address (path) in it.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
   * 
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
   * @param string $name
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
   * @param string $path
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
   */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
  public function addPathHeader($name, $path = null);
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
  
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
  /**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
   * Returns true if at least one header with the given $name exists.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
   * 
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
   * If multiple headers match, the actual one may be specified by $index.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
   * 
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
   * @param string $name
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
   * @param int $index
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
   * 
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
   * @return boolean
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
   */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
  public function has($name, $index = 0);
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
  
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
  /**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
   * Set a header in the HeaderSet.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
   * 
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
   * The header may be a previously fetched header via {@link get()} or it may
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
   * be one that has been created separately.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
   * 
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
   * If $index is specified, the header will be inserted into the set at this
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
   * offset.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
   * 
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
   * @param Swift_Mime_Header $header
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
   * @param int $index
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
   */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
  public function set(Swift_Mime_Header $header, $index = 0);
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
  
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
  /**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
   * Get the header with the given $name.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
   * If multiple headers match, the actual one may be specified by $index.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
   * Returns NULL if none present.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
   * 
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
   * @param string $name
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
   * @param int $index
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
   * 
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   107
   * @return Swift_Mime_Header
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   108
   */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   109
  public function get($name, $index = 0);
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   110
  
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   111
  /**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   112
   * Get all headers with the given $name.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   113
   * 
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   114
   * @param string $name
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
   * 
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
   * @return array
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
   */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
  public function getAll($name = null);
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
  
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
  /**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   121
   * Remove the header with the given $name if it's set.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
   * 
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   123
   * If multiple headers match, the actual one may be specified by $index.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   124
   * 
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   125
   * @param string $name
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   126
   * @param int $index
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   127
   */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   128
  public function remove($name, $index = 0);
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   129
  
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   130
  /**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   131
   * Remove all headers with the given $name.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   132
   * 
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   133
   * @param string $name
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   134
   */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   135
  public function removeAll($name);
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   136
  
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   137
  /**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   138
   * Create a new instance of this HeaderSet.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   139
   * 
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   140
   * @return Swift_Mime_HeaderSet
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   141
   */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   142
  public function newInstance();
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   143
  
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   144
  /**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   145
   * Define a list of Header names as an array in the correct order.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   146
   * 
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   147
   * These Headers will be output in the given order where present.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   148
   * 
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   149
   * @param array $sequence
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   150
   */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   151
  public function defineOrdering(array $sequence);
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   152
  
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   153
  /**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   154
   * Set a list of header names which must always be displayed when set.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   155
   * 
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   156
   * Usually headers without a field value won't be output unless set here.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   157
   * 
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   158
   * @param array $names
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   159
   */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   160
  public function setAlwaysDisplayed(array $names);
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   161
  
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   162
  /**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   163
   * Returns a string with a representation of all headers.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   164
   * 
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   165
   * @return string
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   166
   */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   167
  public function toString();
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   168
  
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   169
}