EMMA Coverage Report (generated Wed Oct 26 13:47:17 EDT 2011)
[all classes][org.jclouds.compute.domain]

COVERAGE SUMMARY FOR SOURCE FILE [Volume.java]

nameclass, %method, %block, %line, %
Volume.java0%   (0/1)0%   (0/4)0%   (0/48)0%   (0/4)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class Volume$Type0%   (0/1)0%   (0/4)0%   (0/48)0%   (0/4)
<static initializer> 0%   (0/1)0%   (0/34)0%   (0/4)
Volume$Type (String, int): void 0%   (0/1)0%   (0/5)0%   (0/1)
valueOf (String): Volume$Type 0%   (0/1)0%   (0/5)0%   (0/1)
values (): Volume$Type [] 0%   (0/1)0%   (0/4)0%   (0/1)

1/**
2 * Licensed to jclouds, Inc. (jclouds) under one or more
3 * contributor license agreements.  See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership.  jclouds licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License.  You may obtain a copy of the License at
9 *
10 *   http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied.  See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
19package org.jclouds.compute.domain;
20 
21import org.jclouds.javax.annotation.Nullable;
22 
23import org.jclouds.compute.domain.internal.VolumeImpl;
24 
25import com.google.inject.ImplementedBy;
26 
27/**
28 * Describes what appears as a disk to an {@link OperatingSystem}
29 * 
30 * @author Adrian Cole
31 */
32@ImplementedBy(VolumeImpl.class)
33public interface Volume {
34 
35   /**
36    * Describes the cardinal type of a volume; used to determine scope and exclusivity.
37    */
38   public enum Type {
39      /**
40       * scoped to a node cannot be remounted onto another node.
41       */
42      LOCAL,
43 
44      /**
45       * shared mount, non-exclusive by nature, although may happen to be exclusive.
46       */
47      NAS,
48      /**
49       * network storage; exclusive by nature, remountable onto other machines.
50       */
51      SAN;
52   }
53 
54   /**
55    * Unique identifier. If set, can be used to reference the volume for reorganizing within
56    * {@link Hardware} or external commands such as backups.
57    * 
58    */
59   @Nullable
60   String getId();
61 
62   /**
63    * Describes the cardinal type of a volume; used to determine scope and exclusivity.
64    */
65   Type getType();
66 
67   /**
68    * @return capacity in gigabytes, if available
69    * 
70    */
71   @Nullable
72   Float getSize();
73 
74   /**
75    * 
76    * @return device this volume relates to on an operating system, if available
77    */
78   @Nullable
79   String getDevice();
80 
81   /**
82    * 
83    * @return true if this survives restarts
84    */
85   boolean isDurable();
86 
87   /**
88    * 
89    * @return true if this is the boot device
90    */
91   boolean isBootDevice();
92 
93}

[all classes][org.jclouds.compute.domain]
EMMA 2.0.5312 (C) Vladimir Roubtsov