attachment.java

### File Source: attachment.java

             /*
        P/P   *  Method: net.sourceforge.pebble.domain.Attachment__static_init
              */
         1  /*
         2   * Copyright (c) 2003-2006, Simon Brown
         3   * All rights reserved.
         4   *
         5   * Redistribution and use in source and binary forms, with or without
         6   * modification, are permitted provided that the following conditions are met:
         7   *
         8   *   - Redistributions of source code must retain the above copyright
         9   *     notice, this list of conditions and the following disclaimer.
        10   *
        11   *   - Redistributions in binary form must reproduce the above copyright
        12   *     notice, this list of conditions and the following disclaimer in
        13   *     the documentation and/or other materials provided with the
        14   *     distribution.
        15   *
        16   *   - Neither the name of Pebble nor the names of its contributors may
        17   *     be used to endorse or promote products derived from this software
        18   *     without specific prior written permission.
        19   *
        20   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
        21   * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        22   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
        23   * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
        24   * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
        25   * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
        26   * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
        27   * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
        28   * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
        29   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
        30   * POSSIBILITY OF SUCH DAMAGE.
        31   */
        32  package net.sourceforge.pebble.domain;
        33
        34
        35  /**
        36   * Represents a blog entry attachment (such as that used within an RSS
        37   * enclosure).
        38   *
        39   * @author Simon Brown
        40   */
        41  public class Attachment implements Cloneable {
        42
        43    /** the URL of the attachment */
        44    private String url;
        45
        46    /** the content size (length in bytes) */
        47    private long size;
        48
        49    /** the content type */
        50    private String type;
        51
        52    /**
        53     * Default, no args constructor.
        54     */
               /*
        P/P     *  Method: void net.sourceforge.pebble.domain.Attachment()
                */
        55    public Attachment() {
        56    }
        57
        58    /**
        59     * Creates an instance with the specified properties.
        60     *
        61     * @param url   a URL as a String
        62     * @param size    the size in bytes
        63     * @param type    a content type as a String
        64     */
               /*
        P/P     *  Method: void net.sourceforge.pebble.domain.Attachment(String, long, String)
                *
                *  Postconditions:
                *    this.size == size
                *    init'ed(this.size)
                *    this.type == type
                *    init'ed(this.type)
                *    this.url == url
                *    init'ed(this.url)
                */
        65    public Attachment(String url, long size, String type) {
        66      setUrl(url);
        67      setSize(size);
        68      setType(type);
        69    }
        70
        71    /**
        72     * Gets the URL.
        73     *
        74     * @return  the URL as a String
        75     */
        76    public String getUrl() {
                 /*
        P/P       *  Method: String getUrl()
                  *
                  *  Preconditions:
                  *    init'ed(this.url)
                  *
                  *  Postconditions:
                  *    return_value == this.url
                  *    init'ed(return_value)
                  */
        77      return url;
        78    }
        79
        80    /**
        81     * Sets the URL.
        82     *
        83     * @param url   a URL as a String
        84     */
        85    public void setUrl(String url) {
                 /*
        P/P       *  Method: void setUrl(String)
                  *
                  *  Postconditions:
                  *    this.url == url
                  *    init'ed(this.url)
                  */
        86      this.url = url;
        87    }
        88
        89    /**
        90     * Gets the size in bytes.
        91     *
        92     * @return  the size of the attachement in bytes
        93     */
        94    public long getSize() {
                 /*
        P/P       *  Method: long getSize()
                  *
                  *  Preconditions:
                  *    init'ed(this.size)
                  *
                  *  Postconditions:
                  *    return_value == this.size
                  *    init'ed(return_value)
                  */
        95      return size;
        96    }
        97
        98    /**
        99     * Sets the size of the attachement in bytes.
       100     *
       101     * @param size    the size in bytes
       102     */
       103    public void setSize(long size) {
                 /*
        P/P       *  Method: void setSize(long)
                  *
                  *  Postconditions:
                  *    this.size == size
                  *    init'ed(this.size)
                  */
       104      this.size = size;
       105    }
       106
       107    /**
       108     * Gets the content type.
       109     *
       110     * @return  a MIME type as a String
       111     */
       112    public String getType() {
                 /*
        P/P       *  Method: String getType()
                  *
                  *  Preconditions:
                  *    init'ed(this.type)
                  *
                  *  Postconditions:
                  *    return_value == this.type
                  *    init'ed(return_value)
                  */
       113      return type;
       114    }
       115
       116    /**
       117     * Sets the content type.
       118     *
       119     * @param type    a content type as a String
       120     */
       121    public void setType(String type) {
                 /*
        P/P       *  Method: void setType(String)
                  *
                  *  Postconditions:
                  *    this.type == type
                  *    init'ed(this.type)
                  */
       122      this.type = type;
       123    }
       124
       125    public boolean equals(Object o) {
                 /*
        P/P       *  Method: bool equals(Object)
                  *
                  *  Preconditions:
                  *    (soft) init'ed(o.url)
                  *    (soft) init'ed(this.url)
                  *
                  *  Postconditions:
                  *    init'ed(return_value)
                  *
                  *  Test Vectors:
                  *    o.url: Addr_Set{null}, Inverse{null}
                  *    this == o: {0}, {1}
                  *    this.url: Addr_Set{null}, Inverse{null}
                  *    java.lang.String:length(...)@135: {1..232-1}, {0}
                  *    java.lang.String:length(...)@136: {0}, {1..232-1}
                  */
       126      if (this == o) {
       127        return true;
       128      }
       129
       130      if (!(o instanceof Attachment)) {
       131        return false;
       132      }
       133
       134      final Attachment attachment = (Attachment) o;
       135      if (url == null || url.length() == 0) {
       136        return attachment.url == null || attachment.url.length() == 0;
       137      } else {
       138        return url.equals(attachment.url);
       139      }
       140    }
       141
       142    public int hashCode() {
                 /*
        P/P       *  Method: int hashCode()
                  *
                  *  Preconditions:
                  *    this.url != null
                  *
                  *  Postconditions:
                  *    init'ed(return_value)
                  */
       143      return url.hashCode();
       144    }
       145
       146    /**
       147     * Creates and returns a copy of this object.
       148     *
       149     * @return a clone of this instance.
       150     * @see Cloneable
       151     */
       152    public Object clone() {
                 /*
        P/P       *  Method: Object clone()
                  *
                  *  Preconditions:
                  *    init'ed(this.size)
                  *    init'ed(this.type)
                  *    init'ed(this.url)
                  *
                  *  Postconditions:
                  *    return_value == &new Attachment(clone#1)
                  *    new Attachment(clone#1) num objects == 1
                  *    return_value.size == this.size
                  *    init'ed(return_value.size)
                  *    return_value.type == this.type
                  *    init'ed(return_value.type)
                  *    return_value.url == this.url
                  *    init'ed(return_value.url)
                  */
       153      Attachment attachment = new Attachment();
       154      attachment.setUrl(url);
       155      attachment.setSize(size);
       156      attachment.setType(type);
       157
       158      return attachment;
       159    }
       160
       161  }

SofCheck Inspector Build Version : 2.22510

attachment.java | 2010-Jun-25 19:40:32
attachment.class | 2010-Jul-19 20:23:40