EntityMeta.java 1.34 KB
/*
 * Copyright Codecrew Ry
 * 
 * All rights reserved.
 * 
 * This license applies to any software containing a notice placed by the 
 * copyright holder. Such software is herein referred to as the Software. 
 * This license covers modification, distribution and use of the Software. 
 * 
 * Any distribution and use in source and binary forms, with or without 
 * modification is not permitted without explicit written permission from the 
 * copyright owner. 
 * 
 * A non-exclusive royalty-free right is granted to the copyright owner of the 
 * Software to use, modify and distribute all modifications to the Software in 
 * future versions of the Software. 
 * 
 */
package fi.codecrew.moya.model;

import javax.json.JsonObject;

/**
 * Entities that have a JSON meta data column implement this interface.
 * 
 * Meta data can be just about anything that is not deemed to be essential
 * enough to have it's own column. Including people's shirt sizes etc.
 * 
 * @author jkj
 */
public interface EntityMeta {

    /**
     * Get JSON metadata associated with the entity.
     * 
     * @return JsonObject from meta column in DB.
     */
    public JsonObject getMeta();

    /**
     * Associate JSON metadata to entity.
     * 
     * @param meta
     *            JsonObject that goes into meta column in DB.
     */
    public void setMeta(JsonObject meta);
}