]> git.argeo.org Git - gpl/argeo-slc.git/blob - org.argeo.slc.core/src/org/argeo/slc/core/build/ResourceDistribution.java
Move SLC Core
[gpl/argeo-slc.git] / org.argeo.slc.core / src / org / argeo / slc / core / build / ResourceDistribution.java
1 /*
2 * Copyright (C) 2007-2012 Argeo GmbH
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16 package org.argeo.slc.core.build;
17
18 import java.io.IOException;
19 import java.io.InputStream;
20
21 import org.argeo.slc.SlcException;
22 import org.argeo.slc.StreamReadable;
23 import org.argeo.slc.build.Distribution;
24 import org.springframework.core.io.Resource;
25
26 /** A software distribution archive accessible via a {@link Resource}. */
27 public class ResourceDistribution implements Distribution, StreamReadable {
28 private Resource resource;
29
30 public ResourceDistribution() {
31 }
32
33 public ResourceDistribution(Resource location) {
34 this.resource = location;
35 }
36
37 public String getDistributionId() {
38 return resource.toString();
39 }
40
41 public Resource getResource() {
42 return resource;
43 }
44
45 public void setResource(Resource resource) {
46 this.resource = resource;
47 }
48
49 public InputStream getInputStream() {
50 try {
51 return resource.getInputStream();
52 } catch (IOException e) {
53 throw new SlcException("Cannot get input stream", e);
54 }
55 }
56
57 @Override
58 public String toString() {
59 return resource.toString();
60 }
61
62 }