/** * Copyright 2014 Sunny Gleason and original author or authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package io.kazuki.v0.store; /** * Putting the "Key" in Key-Value storage. A Key instance consists of a "type" part, an "id" part, * and a full "identifier". */ public interface Key { /** * A String representing the "type" of entity. This is used in Kazuki to associate Schema instances with * entities of a given type. */ String getTypePart(); /** * A String representing the "id" of the entity. This corresponds to an opaque sequence for the type. * However, the "id" must only be used together with the "type" to fully identify an entity. */ String getIdPart(); /** * A String representing the "full identity" of an entity, including its type and id. This is the only * String suitable for external references, unless the application has a convention/scheme for reconstructing * the identifier implicitly. */ String getIdentifier(); }