EMMA Coverage Report (generated Wed Jun 22 19:47:49 EDT 2011)
[all classes][org.jclouds.blobstore.util.internal]

COVERAGE SUMMARY FOR SOURCE FILE [BlobUtilsImpl.java]

nameclass, %method, %block, %line, %
BlobUtilsImpl.java100% (1/1)38%  (3/8)60%  (50/84)56%  (10/18)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class BlobUtilsImpl100% (1/1)38%  (3/8)60%  (50/84)56%  (10/18)
clearContainer (String, ListContainerOptions): void 0%   (0/1)0%   (0/6)0%   (0/2)
createDirectory (String, String): void 0%   (0/1)0%   (0/6)0%   (0/2)
deleteDirectory (String, String): void 0%   (0/1)0%   (0/6)0%   (0/2)
directoryExists (String, String): boolean 0%   (0/1)0%   (0/10)0%   (0/1)
newBlob (String): Blob 0%   (0/1)0%   (0/6)0%   (0/1)
BlobUtilsImpl (Provider, ClearListStrategy, GetDirectoryStrategy, MkdirStrate... 100% (1/1)100% (39/39)100% (8/8)
blobBuilder (): BlobBuilder 100% (1/1)100% (5/5)100% (1/1)
countBlobs (String, ListContainerOptions): long 100% (1/1)100% (6/6)100% (1/1)

1/**
2 *
3 * Copyright (C) 2011 Cloud Conscious, LLC. <info@cloudconscious.com>
4 *
5 * ====================================================================
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * 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, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 * ====================================================================
18 */
19package org.jclouds.blobstore.util.internal;
20 
21import static com.google.common.base.Preconditions.checkNotNull;
22 
23import javax.inject.Inject;
24import javax.inject.Provider;
25import javax.inject.Singleton;
26 
27import org.jclouds.blobstore.domain.Blob;
28import org.jclouds.blobstore.domain.BlobBuilder;
29import org.jclouds.blobstore.options.ListContainerOptions;
30import org.jclouds.blobstore.strategy.ClearListStrategy;
31import org.jclouds.blobstore.strategy.CountListStrategy;
32import org.jclouds.blobstore.strategy.DeleteDirectoryStrategy;
33import org.jclouds.blobstore.strategy.GetDirectoryStrategy;
34import org.jclouds.blobstore.strategy.MkdirStrategy;
35import org.jclouds.blobstore.util.BlobUtils;
36 
37/**
38 * Encryption, Hashing, and IO Utilities needed to sign and verify blobstore requests and responses.
39 * 
40 * @author Adrian Cole
41 */
42@Singleton
43public class BlobUtilsImpl implements BlobUtils {
44 
45   protected final Provider<BlobBuilder> blobBuilders;
46   protected final ClearListStrategy clearContainerStrategy;
47   protected final GetDirectoryStrategy getDirectoryStrategy;
48   protected final MkdirStrategy mkdirStrategy;
49   protected final DeleteDirectoryStrategy rmDirStrategy;
50   protected final CountListStrategy countBlobsStrategy;
51 
52   @Inject
53   protected BlobUtilsImpl(Provider<BlobBuilder> blobBuilders, ClearListStrategy clearContainerStrategy,
54         GetDirectoryStrategy getDirectoryStrategy, MkdirStrategy mkdirStrategy, CountListStrategy countBlobsStrategy,
55         DeleteDirectoryStrategy rmDirStrategy) {
56      this.blobBuilders = checkNotNull(blobBuilders, "blobBuilders");
57      this.clearContainerStrategy = checkNotNull(clearContainerStrategy, "clearContainerStrategy");
58      this.getDirectoryStrategy = checkNotNull(getDirectoryStrategy, "getDirectoryStrategy");
59      this.mkdirStrategy = checkNotNull(mkdirStrategy, "mkdirStrategy");
60      this.rmDirStrategy = checkNotNull(rmDirStrategy, "rmDirStrategy");
61      this.countBlobsStrategy = checkNotNull(countBlobsStrategy, "countBlobsStrategy");
62   }
63 
64   @Override
65   public Blob newBlob(String name) {
66      return blobBuilder().name(name).build();
67   }
68 
69   @Override
70   public BlobBuilder blobBuilder() {
71      return blobBuilders.get();
72   }
73 
74   public boolean directoryExists(String containerName, String directory) {
75      return getDirectoryStrategy.execute(containerName, directory) != null;
76   }
77 
78   public void createDirectory(String containerName, String directory) {
79      mkdirStrategy.execute(containerName, directory);
80   }
81 
82   public long countBlobs(String container, ListContainerOptions options) {
83      return countBlobsStrategy.execute(container, options);
84   }
85 
86   public void clearContainer(String container, ListContainerOptions options) {
87      clearContainerStrategy.execute(container, options);
88   }
89 
90   public void deleteDirectory(String container, String directory) {
91      rmDirStrategy.execute(container, directory);
92   }
93 
94}

[all classes][org.jclouds.blobstore.util.internal]
EMMA 2.0.5312 (C) Vladimir Roubtsov