001: /*
002: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
003: *
004: * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
005: *
006: * The contents of this file are subject to the terms of either the GNU General
007: * Public License Version 2 only ("GPL") or the Common Development and Distribution
008: * License("CDDL") (collectively, the "License"). You may not use this file except in
009: * compliance with the License. You can obtain a copy of the License at
010: * http://www.netbeans.org/cddl-gplv2.html or nbbuild/licenses/CDDL-GPL-2-CP. See the
011: * License for the specific language governing permissions and limitations under the
012: * License. When distributing the software, include this License Header Notice in
013: * each file and include the License file at nbbuild/licenses/CDDL-GPL-2-CP. Sun
014: * designates this particular file as subject to the "Classpath" exception as
015: * provided by Sun in the GPL Version 2 section of the License file that
016: * accompanied this code. If applicable, add the following below the License Header,
017: * with the fields enclosed by brackets [] replaced by your own identifying
018: * information: "Portions Copyrighted [year] [name of copyright owner]"
019: *
020: * Contributor(s):
021: *
022: * The Original Software is NetBeans. The Initial Developer of the Original Software
023: * is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun Microsystems, Inc. All
024: * Rights Reserved.
025: *
026: * If you wish your version of this file to be governed by only the CDDL or only the
027: * GPL Version 2, indicate your decision by adding "[Contributor] elects to include
028: * this software in this distribution under the [CDDL or GPL Version 2] license." If
029: * you do not indicate a single choice of license, a recipient has the option to
030: * distribute your version of this file under either the CDDL, the GPL Version 2 or
031: * to extend the choice of license to its licensees as provided above. However, if
032: * you add GPL Version 2 code and therefore, elected the GPL Version 2 license, then
033: * the option applies only if the new code is made subject to such option by the
034: * copyright holder.
035: */
036:
037: package org.netbeans.installer.utils.helper;
038:
039: import java.net.URI;
040: import java.util.LinkedList;
041: import java.util.List;
042:
043: /**
044: *
045: * @author Kirill Sorokin
046: */
047: public class ExtendedUri {
048: /////////////////////////////////////////////////////////////////////////////////
049: // Instance
050: private URI remote;
051: private List<URI> alternates;
052: private URI local;
053: private long size;
054: private String md5;
055:
056: public ExtendedUri(final URI remote, final long size,
057: final String md5) {
058: this .remote = remote;
059: this .size = size;
060: this .md5 = md5;
061:
062: this .alternates = new LinkedList<URI>();
063: }
064:
065: public ExtendedUri(final URI remote, final List<URI> alternates,
066: final long size, final String md5) {
067: this (remote, size, md5);
068:
069: this .alternates.addAll(alternates);
070: }
071:
072: public ExtendedUri(final URI remote, final URI local,
073: final long size, final String md5) {
074: this (remote, size, md5);
075:
076: this .local = local;
077: }
078:
079: public ExtendedUri(final URI remote, final List<URI> alternates,
080: final URI local, final long size, final String md5) {
081: this (remote, alternates, size, md5);
082:
083: this .local = local;
084: }
085:
086: public URI getRemote() {
087: return remote;
088: }
089:
090: public void setRemote(final URI remote) {
091: this .remote = remote;
092: }
093:
094: public List<URI> getAlternates() {
095: return new LinkedList<URI>(alternates);
096: }
097:
098: public URI getLocal() {
099: return local;
100: }
101:
102: public void setLocal(final URI local) {
103: this .local = local;
104: }
105:
106: public long getSize() {
107: return size;
108: }
109:
110: public String getMd5() {
111: return md5;
112: }
113:
114: /////////////////////////////////////////////////////////////////////////////////
115: // Constants
116: public static final String RESOURCE_SCHEME = "resource"; // NOI18N
117:
118: public static final String HTTP_SCHEME = "http"; // NOI18N
119:
120: public static final String FILE_SCHEME = "file"; // NOI18N
121: }
|