Class DataMap

    • Field Detail

      • CLIENT_SUPPORTED_PROPERTY

        public static final String CLIENT_SUPPORTED_PROPERTY
        Defines whether a DataMap supports client entities.
        Since:
        1.2
        See Also:
        Constant Field Values
      • DEFAULT_CLIENT_PACKAGE_PROPERTY

        public static final String DEFAULT_CLIENT_PACKAGE_PROPERTY
        Defines the name of the property for default client Java class package.
        Since:
        1.2
        See Also:
        Constant Field Values
      • DEFAULT_CLIENT_SUPERCLASS_PROPERTY

        public static final String DEFAULT_CLIENT_SUPERCLASS_PROPERTY
        Defines the name of the property for default client Java superclass.
        Since:
        3.0
        See Also:
        Constant Field Values
      • DEFAULT_CATALOG_PROPERTY

        public static final String DEFAULT_CATALOG_PROPERTY
        Defines the name of the property for default DB catalog.
        Since:
        4.0
        See Also:
        Constant Field Values
      • DEFAULT_SCHEMA_PROPERTY

        public static final String DEFAULT_SCHEMA_PROPERTY
        Defines the name of the property for default DB schema.
        Since:
        1.1
        See Also:
        Constant Field Values
      • DEFAULT_PACKAGE_PROPERTY

        public static final String DEFAULT_PACKAGE_PROPERTY
        Defines the name of the property for default Java class package.
        Since:
        1.1
        See Also:
        Constant Field Values
      • DEFAULT_SUPERCLASS_PROPERTY

        public static final String DEFAULT_SUPERCLASS_PROPERTY
        Defines the name of the property for default Java superclass.
        Since:
        1.1
        See Also:
        Constant Field Values
      • DEFAULT_LOCK_TYPE_PROPERTY

        public static final String DEFAULT_LOCK_TYPE_PROPERTY
        Defines the name of the property for default DB schema.
        Since:
        1.1
        See Also:
        Constant Field Values
      • DEFAULT_QUOTE_SQL_IDENTIFIERS_PROPERTY

        public static final String DEFAULT_QUOTE_SQL_IDENTIFIERS_PROPERTY
        See Also:
        Constant Field Values
      • SCHEMA_XSD

        public static final String SCHEMA_XSD
        The namespace in which the data map XML file will be created. This is also the URI to locate a copy of the schema document.
        See Also:
        Constant Field Values
      • location

        protected String location
      • quotingSQLIdentifiers

        protected Boolean quotingSQLIdentifiers
      • defaultCatalog

        protected String defaultCatalog
      • defaultSchema

        protected String defaultSchema
      • defaultPackage

        protected String defaultPackage
      • defaultSuperclass

        protected String defaultSuperclass
      • defaultLockType

        protected int defaultLockType
      • clientSupported

        protected boolean clientSupported
      • defaultClientPackage

        protected String defaultClientPackage
      • defaultClientSuperclass

        protected String defaultClientSuperclass
      • configurationSource

        protected transient Resource configurationSource
        Since:
        3.1
    • Constructor Detail

      • DataMap

        public DataMap()
        Creates a new unnamed DataMap.
      • DataMap

        public DataMap​(String mapName)
        Creates a new named DataMap.
    • Method Detail

      • setDataChannelDescriptor

        public void setDataChannelDescriptor​(DataChannelDescriptor dataChannelDescriptor)
        Since:
        3.1
      • isQuotingSQLIdentifiers

        public boolean isQuotingSQLIdentifiers()
        Since:
        3.0
      • setQuotingSQLIdentifiers

        public void setQuotingSQLIdentifiers​(boolean quotingSqlIdentifiers)
        Since:
        3.0
      • initWithProperties

        public void initWithProperties​(Map<String,​Object> properties)
        Performs DataMap initialization from a set of properties, using defaults for the missing properties.
        Since:
        1.1
      • getClientDataMap

        public DataMap getClientDataMap​(EntityResolver serverResolver)
        Returns a DataMap stripped of any server-side information, such as DbEntity mapping, or ObjEntities that are not allowed in the client tier. Returns null if this DataMap as a whole does not support client tier persistence.
        Since:
        1.2
      • getName

        public String getName()
        Returns the name of this DataMap.
      • setName

        public void setName​(String name)
        Set the name of this DataMap.
      • mergeWithDataMap

        public void mergeWithDataMap​(DataMap map)
        Adds all Object and DB entities and Queries from another map to this map. Overwrites all existing entities and queries with the new ones.

        TODO: will need to implement advanced merge that allows different policies for overwriting entities / queries.

      • getLocation

        public String getLocation()
        Returns "location" property value. Location is abstract and can depend on how the DataMap was loaded. E.g. location can be a File on the filesystem or a location within a JAR.
      • setLocation

        public void setLocation​(String location)
        Sets "location" property.
      • getObjEntityMap

        public Map<String,​ObjEntity> getObjEntityMap()
        Returns a unmodifiable map of ObjEntities contained in this DataMap, keyed by ObjEntity name.
      • getDbEntityMap

        public Map<String,​DbEntity> getDbEntityMap()
        Returns a unmodifiable map of DbEntities contained in this DataMap, keyed by DbEntity name.
      • addQueryDescriptor

        public void addQueryDescriptor​(QueryDescriptor queryDescriptor)
        Stores a query descriptor under its name.
        Since:
        1.1
      • removeQueryDescriptor

        public void removeQueryDescriptor​(String queryName)
        Removes a named query from the DataMap.
        Since:
        4.0
      • clearEmbeddables

        public void clearEmbeddables()
        Removes all stored embeddable objects from the map.
        Since:
        3.0
      • clearResultSets

        public void clearResultSets()
        Since:
        3.0
      • clearQueries

        public void clearQueries()
        Since:
        1.1
      • clearObjEntities

        public void clearObjEntities()
        Since:
        1.2
      • clearDbEntities

        public void clearDbEntities()
        Since:
        1.2
      • clearProcedures

        public void clearProcedures()
        Since:
        1.2
      • addEmbeddable

        public void addEmbeddable​(Embeddable embeddable)
        Adds an embeddable object to the DataMap.
        Since:
        3.0
      • addResult

        public void addResult​(SQLResult result)
        Adds a named SQLResultSet to the DataMap.
        Since:
        3.0
      • addObjEntity

        public void addObjEntity​(ObjEntity entity)
        Adds a new ObjEntity to this DataMap.
      • addDbEntity

        public void addDbEntity​(DbEntity entity)
        Adds a new DbEntity to this DataMap.
      • getDbEntity

        public DbEntity getDbEntity​(String dbEntityName)
        Returns DbEntity matching the name parameter. No dependencies will be searched.
        Specified by:
        getDbEntity in interface MappingNamespace
      • getObjEntityForJavaClass

        public ObjEntity getObjEntityForJavaClass​(String javaClassName)
        Returns an ObjEntity for a DataObject class name.
        Since:
        1.1
      • getObjEntity

        public ObjEntity getObjEntity​(String objEntityName)
        Returns an ObjEntity for a given name. If it is not found in this DataMap, it will search a parent EntityNamespace.
        Specified by:
        getObjEntity in interface MappingNamespace
      • getMappedEntities

        public Collection<ObjEntity> getMappedEntities​(DbEntity dbEntity)
        Returns all ObjEntities mapped to the given DbEntity.
      • removeEmbeddable

        public void removeEmbeddable​(String className)
        Removes an Embeddable descriptor with matching class name.
        Since:
        3.0
      • removeResult

        public void removeResult​(String name)
        Since:
        3.0
      • removeDbEntity

        public void removeDbEntity​(String dbEntityName)
        "Dirty" remove of the DbEntity from the data map.
      • removeDbEntity

        public void removeDbEntity​(String dbEntityName,
                                   boolean clearDependencies)
        Removes DbEntity from the DataMap. If clearDependencies is true, all DbRelationships that reference this entity are also removed. ObjEntities that rely on this entity are cleaned up.
        Since:
        1.1
      • removeObjEntity

        public void removeObjEntity​(String objEntityName)
        "Dirty" remove of the ObjEntity from the data map.
      • removeObjEntity

        public void removeObjEntity​(String objEntityName,
                                    boolean clearDependencies)
        Removes ObjEntity from the DataMap. If clearDependencies is true, all ObjRelationships that reference this entity are also removed.
        Since:
        1.1
      • getProcedure

        public Procedure getProcedure​(String procedureName)
        Returns a Procedure for a given name or null if no such procedure exists. If Procedure is not found in this DataMap, a parent EntityNamcespace is searched.
        Specified by:
        getProcedure in interface MappingNamespace
      • addProcedure

        public void addProcedure​(Procedure procedure)
        Adds stored procedure to the list of procedures. If there is another procedure registered under the same name, throws an IllegalArgumentException.
      • removeProcedure

        public void removeProcedure​(String name)
      • getProcedureMap

        public Map<String,​Procedure> getProcedureMap()
        Returns a sorted unmodifiable map of Procedures in this DataMap keyed by name.
      • getNamespace

        public MappingNamespace getNamespace()
        Returns a parent namespace where this DataMap resides. Parent EntityNamespace is used to establish relationships with entities in other DataMaps.
        Since:
        1.1
      • setNamespace

        public void setNamespace​(MappingNamespace namespace)
        Sets a parent namespace where this DataMap resides. Parent EntityNamespace is used to establish relationships with entities in other DataMaps.
        Since:
        1.1
      • getDefaultLockType

        public int getDefaultLockType()
        Since:
        1.1
      • setDefaultLockType

        public void setDefaultLockType​(int defaultLockType)
        Since:
        1.1
      • isClientSupported

        public boolean isClientSupported()
        Since:
        1.2
      • setClientSupported

        public void setClientSupported​(boolean clientSupport)
        Since:
        1.2
      • getDefaultClientPackage

        public String getDefaultClientPackage()
        Returns default client package.
        Since:
        1.2
      • setDefaultClientPackage

        public void setDefaultClientPackage​(String defaultClientPackage)
        Since:
        1.2
      • getDefaultClientSuperclass

        public String getDefaultClientSuperclass()
        Returns default client superclass.
        Since:
        3.0
      • setDefaultClientSuperclass

        public void setDefaultClientSuperclass​(String defaultClientSuperclass)
        Since:
        3.0
      • getDefaultPackage

        public String getDefaultPackage()
        Since:
        1.1
      • setDefaultPackage

        public void setDefaultPackage​(String defaultPackage)
        Since:
        1.1
      • getDefaultSchema

        public String getDefaultSchema()
        Since:
        1.1
      • setDefaultSchema

        public void setDefaultSchema​(String defaultSchema)
        Since:
        1.1
      • getDefaultSuperclass

        public String getDefaultSuperclass()
        Since:
        1.1
      • setDefaultSuperclass

        public void setDefaultSuperclass​(String defaultSuperclass)
        Since:
        1.1
      • dbEntityChanged

        public void dbEntityChanged​(EntityEvent e)
        DbEntity property changed. May be name, attribute or relationship added or removed, etc. Attribute and relationship property changes are handled in respective listeners.
        Specified by:
        dbEntityChanged in interface DbEntityListener
        Since:
        1.2
      • objEntityChanged

        public void objEntityChanged​(EntityEvent e)
        ObjEntity property changed. May be name, attribute or relationship added or removed, etc. Attribute and relationship property changes are handled in respective listeners.
        Specified by:
        objEntityChanged in interface ObjEntityListener
        Since:
        1.2
      • getConfigurationSource

        public Resource getConfigurationSource()
        Since:
        3.1
      • setConfigurationSource

        public void setConfigurationSource​(Resource configurationSource)
        Since:
        3.1
      • getDefaultCatalog

        public String getDefaultCatalog()
        Since:
        4.0
      • setDefaultCatalog

        public void setDefaultCatalog​(String defaultCatalog)
        Since:
        4.0
      • clear

        public void clear()
      • getNameWithDefaultPackage

        public String getNameWithDefaultPackage​(String name)
        Returns:
        package + "." + name when it is possible otherwise just name
        Since:
        4.0
      • getNameWithPackage

        public static String getNameWithPackage​(String pack,
                                                String name)
        Returns:
        package + "." + name when it is possible otherwise just name
        Since:
        4.0
      • getNameWithDefaultClientPackage

        public String getNameWithDefaultClientPackage​(String name)
        Returns:
        package + "." + name when it is possible otherwise just name
        Since:
        4.0