All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.hotrod.metadata.VORegistry Maven / Gradle / Ivy

package org.hotrod.metadata;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.hotrod.config.AbstractConfigurationTag;
import org.hotrod.metadata.VOMetadata.DuplicatePropertyNameException;
import org.hotrod.metadata.VOMetadata.VOMember;
import org.hotrod.metadata.VORegistry.VOProperty.EnclosingTagType;
import org.hotrod.utils.ClassPackage;

/*
 * 
 * 
 * - table                                        -->  EntityVOClass
 * - view                                         -->  EntityVOClass
 * - select - non-graph vo      ::= solo VO       -->  SelectVOClass
 * - select - columns vo        ::= solo VO       -->  SelectVOClass
 * - select - inner vo          ::= connected VO  -->  SelectVOClass
 * 
 * 
*/ public class VORegistry { // Constants private static final Logger log = LogManager.getLogger(VORegistry.class); // Properties private LinkedHashMap fragmentsByPackage = new LinkedHashMap(); // Behavior // From and public void addVO(final EntityVOClass voClass) throws VOAlreadyExistsException, StructuredVOAlreadyExistsException { log.debug("add"); ClassPackage classPackage = voClass.getClassPackage(); FragmentRegistry f = this.fragmentsByPackage.get(classPackage); if (f == null) { f = new FragmentRegistry(classPackage); this.fragmentsByPackage.put(classPackage, f); } f.addVO(voClass); } // From