EMMA Coverage Report (generated Mon Oct 17 05:41:20 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 * 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.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