001/** 002 * Copyright 2015 DuraSpace, Inc. 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016package org.modeshape.jcr.value.binary.infinispan; 017 018import org.modeshape.jcr.value.BinaryKey; 019 020/** 021 * Utilities for gaining access to InfinispanBinaryStore internals 022 * @author cabeer 023 */ 024public final class InfinispanUtils { 025 026 private InfinispanUtils() { 027 } 028 029 /** 030 * Get the data key for the given binary key 031 * @param binaryStore the binary store 032 * @param key the binary key 033 * @return the data key for the given binary key 034 */ 035 public static String dataKeyFrom(final InfinispanBinaryStore binaryStore, final BinaryKey key) { 036 return binaryStore.dataKeyFrom(key); 037 } 038 039 /** 040 * Get the Metadata for the given key 041 * @param binaryStore the given binary store 042 * @param key the binary key 043 * @return the metadata for the given key 044 */ 045 public static ChunkBinaryMetadata getMetadata(final InfinispanBinaryStore binaryStore, final BinaryKey key) { 046 final String metadataKey = binaryStore.metadataKeyFrom(key); 047 return new ChunkBinaryMetadata(binaryStore.metadataCache.get(metadataKey)); 048 } 049}