Package org.openrdf.sail.memory

Source Code of org.openrdf.sail.memory.MemoryStoreMetaData

/*
* Copyright Aduna (http://www.aduna-software.com/) (c) 2008.
*
* Licensed under the Aduna BSD-style license.
*/
package org.openrdf.sail.memory;

import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Set;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import org.openrdf.query.algebra.evaluation.function.FunctionRegistry;
import org.openrdf.sail.helpers.SailMetaDataImpl;
import org.openrdf.sail.memory.config.MemoryStoreFactory;
import org.openrdf.store.Isolation;

/**
* @author James Leigh
*/
class MemoryStoreMetaData extends SailMetaDataImpl {

  private MemoryStore store;

  private Logger logger = LoggerFactory.getLogger(MemoryStoreMetaData.class);

  MemoryStoreMetaData(MemoryStore store) {
    super();
    this.store = store;
  }

  @Override
  public String getStoreName() {
    return MemoryStoreFactory.SAIL_TYPE;
  }

  @Override
  public URL getLocation() {
    File dataDir = store.getDataDir();
    if (dataDir == null) {
      return null;
    }
    try {
      return dataDir.toURI().toURL();
    }
    catch (MalformedURLException e) {
      logger.warn(e.toString(), e);
      return null;
    }
  }

  @Override
  public boolean isReadOnly() {
    return !store.isWritable();
  }

  @Override
  public Isolation getDefaultIsolation() {
    return Isolation.SERIALIZABLE;
  }

  @Override
  public String[] getQueryFunctions() {
    Set<String> functions = FunctionRegistry.getInstance().getKeys();
    return functions.toArray(new String[functions.size()]);
  }

  @Override
  public int getStoreMajorVersion() {
    return getSesameMajorVersion();
  }

  @Override
  public int getStoreMinorVersion() {
    return getSesameMinorVersion();
  }

  @Override
  public String getStoreVersion() {
    return getSesameVersion();
  }

  @Override
  public boolean isContextBNodesSupported() {
    return true;
  }

  @Override
  public boolean isContextSupported() {
    return true;
  }

  @Override
  public boolean isEmbedded() {
    return true;
  }

  @Override
  public boolean isMatchingOnlySameTerm() {
    return true;
  }

  @Override
  public boolean isLiteralDatatypePreserved() {
    return true;
  }

  @Override
  public boolean isLiteralLabelPreserved() {
    return true;
  }

}
TOP

Related Classes of org.openrdf.sail.memory.MemoryStoreMetaData

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.