blob: 62bd19551f37a98c6b5c99659db8004f758d9baa [file] [log] [blame]
/********************************************************************************
* Copyright (c) 2015-2019 Contributors to the Eclipse Foundation
*
* See the NOTICE file(s) distributed with this work for additional
* information regarding copyright ownership.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* SPDX-License-Identifier: EPL-2.0
*
********************************************************************************/
package org.eclipse.mdm.api.base;
import java.util.Collection;
import java.util.Map;
import org.eclipse.mdm.api.base.adapter.ChildrenStore;
import org.eclipse.mdm.api.base.adapter.Core;
import org.eclipse.mdm.api.base.adapter.EntityStore;
import org.eclipse.mdm.api.base.adapter.RelationStore;
import org.eclipse.mdm.api.base.model.Value;
/**
*
* Very basic implementation of the Core class. The contents is initialized via
* a given map (instead of using a database or some other method)
*
* @author Florian Schmitt
*/
public class CoreImpl implements Core {
private Map<String, Value> values;
private EntityStore mutableStore;
public CoreImpl(Map<String, Value> values) {
super();
this.values = values;
this.mutableStore = new EntityStore();
}
@Override
public String getSourceName() {
return "UnitTestSource";
}
@Override
public String getTypeName() {
return "UnitTestType";
}
@Override
public String getID() {
return "4711l";
}
@Override
public void setID(String instanceID) {
}
@Override
public Map<String, Value> getValues() {
return values;
}
@Override
public void hideValues(Collection<String> names) {
}
@Override
public Map<String, Value> getAllValues() {
return values;
}
@Override
public EntityStore getMutableStore() {
return mutableStore;
}
@Override
public EntityStore getPermanentStore() {
return new EntityStore();
}
@Override
public ChildrenStore getChildrenStore() {
return new ChildrenStore();
}
@Override
public RelationStore getNtoMStore() {
return new RelationStore();
}
}