package org.jboss.windup.rules.apps.javaee.model; import com.tinkerpop.blueprints.Direction; import com.tinkerpop.frames.Adjacency; import com.tinkerpop.frames.Property; import com.tinkerpop.frames.modules.typedgraph.TypeValue; /** * Contains metadata associated with a JPA Entity * * @author <a href="mailto:bradsdavis@gmail.com">Brad Davis</a> * @author <a href="mailto:zizka@seznam.cz">Ondrej Zizka</a> */ @TypeValue(JPAEntityModel.TYPE) public interface JPAEntityModel extends PersistenceEntityModel { String TYPE = "JPAEntity"; String CATALOG_NAME = TYPE + "-catalogName"; String SCHEMA_NAME = TYPE + "-schemaName"; String NAMED_QUERY = TYPE + "-namedQuery"; String SPECIFICATION_VERSION = TYPE + "-specificationVersion"; /** * Contains the specification version */ @Property(SPECIFICATION_VERSION) String getSpecificationVersion(); /** * Contains the specification version */ @Property(SPECIFICATION_VERSION) void setSpecificationVersion(String version); /** * Contains the schema name */ @Property(SCHEMA_NAME) String getSchemaName(); /** * Contains the schema name */ @Property(SCHEMA_NAME) void setSchemaName(String schemaName); /** * Contains the catalog name */ @Property(CATALOG_NAME) String getCatalogName(); /** * Contains the catalog name */ @Property(CATALOG_NAME) void setCatalogName(String catalogName); /** * Contains the jpa named query */ @Adjacency(label = NAMED_QUERY, direction = Direction.OUT) void addNamedQuery(JPANamedQueryModel model); /** * Contains the jpa named query */ @Adjacency(label = NAMED_QUERY, direction = Direction.OUT) Iterable<JPANamedQueryModel> getNamedQueries(); }