|
Oracle Fusion Middleware Java API Reference for Oracle TopLink 11g Release 1 (11.1.1) E28847-01 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object
org.eclipse.persistence.jpa.internal.jpql.DefaultContentAssistProposals
public final class DefaultContentAssistProposals
The default implementation of ContentAssistProposals
which stores the valid proposals.
Nested Class Summary | |
---|---|
private class |
DefaultContentAssistProposals.Result This contains the result of inserting a proposal into a JPQL query at a given position. |
Field Summary | |
---|---|
private java.util.Set<IEntity> |
abstractSchemaTypes The set of possible abstract schema types. |
private java.util.Set<java.lang.String> |
identificationVariables The set of possible identification variables. |
private java.util.Set<java.lang.String> |
identifiers The set of possible JPQL identifiers. |
private static java.util.Map<java.lang.String,java.lang.String> |
LONGUEST_IDENTIFIERS A JPQL identifier that is mapped to its longest counterpart. |
private java.util.Set<IMapping> |
mappings The set of possible mappings , which can be state fields, association fields and/or collection fields. |
private static java.util.Map<java.lang.String,java.util.List<java.lang.String>> |
ORDERED_IDENTIFIERS A JPQL identifier that is mapped to the list of counterparts used to find them in the query. |
private java.util.Map<java.lang.String,IEntity> |
rangeIdentificationVariables The identification variables mapped to their abstract schema types. |
Constructor Summary | |
---|---|
DefaultContentAssistProposals() Creates a new DefaultContentAssistProposals . |
Method Summary | |
---|---|
java.lang.Iterable<IEntity> |
abstractSchemaTypes() Returns the collection of possible abstract schema types. |
void |
addAbstractSchemaType(IEntity abstractSchemaType) Adds the given IEntity as a possible abstract schema type. |
void |
addIdentificationVariable(java.lang.String identificationVariable) Adds the given identification variable as a proposal. |
void |
addIdentifier(java.lang.String identifier) Adds the given JPQL identifier as a proposal. |
void |
addMapping(IMapping mapping) Adds the given mapping (state field, association field or collection field) as a valid proposal. |
void |
addMappings(java.util.Collection<IMapping> mappings) Adds the given mappings (state fields, association fields or collection fields) as valid proposals. |
void |
addRangeIdentificationVariable(java.lang.String identificationVariable, IEntity abstractSchemaType) Adds the given range identification variable that is mapping the given abstract schema type. |
DefaultContentAssistProposals.Result |
buildEscapedQuery(java.lang.String jpqlQuery, java.lang.String proposal, int position, boolean insert) Creates a new JPQL query by inserting the given proposal at the given position. |
private static java.util.Map<java.lang.String,java.lang.String> |
buildLonguestIdentifiers() |
private static java.util.Map<java.lang.String,java.util.List<java.lang.String>> |
buildOrderedIdentifiers() |
private int[] |
buildPositions(WordParser wordParser, java.lang.String proposal, boolean insert) Calculates the start and end position for correctly inserting the proposal into the query. |
DefaultContentAssistProposals.Result |
buildQuery(java.lang.String jpqlQuery, java.lang.String proposal, int position, boolean insert) Creates a new JPQL query by inserting the given proposal at the given position. |
IEntity |
getAbstractSchemaType(java.lang.String identificationVariable) Retrieves the abstract schema type that is mapped with the given identification variable. |
boolean |
hasProposals() Determines whether there is at least one proposals. |
java.lang.Iterable<java.lang.String> |
identificationVariables() Returns the collection of possible identification variables. |
java.lang.Iterable<java.lang.String> |
identifiers() Returns the collection of possible JPQL identifiers. |
private void |
initialize() |
private java.lang.String |
longuestIdentifier(java.lang.String proposal) |
java.lang.Iterable<IMapping> |
mappings() Returns the collection of possible mappings , which can be state fields, association fields and/or collection fields depending on the location used to retrieve the possible proposals. |
boolean |
remove(java.lang.String proposal) This is only used by the unit-tests, it removes the given proposal from one of the collection of possible proposals. |
private int |
startPositionImp(WordParser wordParser, java.lang.String proposal) |
java.lang.String |
toString() |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private java.util.Set<IEntity> abstractSchemaTypes
private java.util.Set<java.lang.String> identificationVariables
private java.util.Set<java.lang.String> identifiers
private java.util.Set<IMapping> mappings
mappings
, which can be state fields, association fields and/or collection fields.private java.util.Map<java.lang.String,IEntity> rangeIdentificationVariables
private static final java.util.Map<java.lang.String,java.lang.String> LONGUEST_IDENTIFIERS
private static final java.util.Map<java.lang.String,java.util.List<java.lang.String>> ORDERED_IDENTIFIERS
Constructor Detail |
---|
public DefaultContentAssistProposals()
DefaultContentAssistProposals
.Method Detail |
---|
private static java.util.Map<java.lang.String,java.lang.String> buildLonguestIdentifiers()
private static java.util.Map<java.lang.String,java.util.List<java.lang.String>> buildOrderedIdentifiers()
public java.lang.Iterable<IEntity> abstractSchemaTypes()
abstractSchemaTypes
in interface ContentAssistProposals
entities
defined in the persistence contextpublic void addAbstractSchemaType(IEntity abstractSchemaType)
IEntity
as a possible abstract schema type.abstractSchemaType
- The abstract schema type that is a valid proposalpublic void addIdentificationVariable(java.lang.String identificationVariable)
identificationVariable
- The identification variable that is a valid proposalpublic void addIdentifier(java.lang.String identifier)
identifier
- The JPQL identifier that is a valid proposalpublic void addMapping(IMapping mapping)
mapping
(state field, association field or collection field) as a valid proposal.mapping
- The IMapping
of the state field, association field or collection fieldpublic void addMappings(java.util.Collection<IMapping> mappings)
mappings
(state fields, association fields or collection fields) as valid proposals.mappings
- The mappings
of the state fields, association fields or collection fieldspublic void addRangeIdentificationVariable(java.lang.String identificationVariable, IEntity abstractSchemaType)
identificationVariable
- The range identification variable mapping the abstract schema nameabstractSchemaType
- The abstract type name that identifies the type of the variablepublic DefaultContentAssistProposals.Result buildEscapedQuery(java.lang.String jpqlQuery, java.lang.String proposal, int position, boolean insert)
TODO: TO REWORD: If the proposal is has more than one identifier, for instance, IS NOT NULL
, then the replacement will go further than just replacing the current word. If the cursor is in "IS NOT N|" and the proposal is "IS NOT NULL", then "IS NOT" will not be added twice. If the identifier is "IS NULL" and the proposal is "IS NOT NULL", then NOT will be inserted between IS and NULL.
buildEscapedQuery
in interface ContentAssistProposals
jpqlQuery
- The JPQL query to insert the given proposalproposal
- The proposal to insert into the queryposition
- The position of insertioninsert
- Flag that determines if the partial word following the cursor should be left intact or replaced by the proposalprivate int[] buildPositions(WordParser wordParser, java.lang.String proposal, boolean insert)
wordParser
- This parser can be used to retrieve words from the cursor positionproposal
- The proposal to be inserted into the queryinsert
- Flag that determines if the proposal is simply inserted or it should also replace the partial word following the position of the cursorpublic DefaultContentAssistProposals.Result buildQuery(java.lang.String jpqlQuery, java.lang.String proposal, int position, boolean insert)
TODO: TO REWORD: If the proposal is has more than one identifier, for instance, IS NOT NULL
, then the replacement will go further than just replacing the current word. If the cursor is in "IS NOT N|" and the proposal is "IS NOT NULL", then "IS NOT" will not be added twice. If the identifier is "IS NULL" and the proposal is "IS NOT NULL", then NOT will be inserted between IS and NULL.
buildQuery
in interface ContentAssistProposals
jpqlQuery
- The JPQL query to insert the given proposalproposal
- The proposal to insert into the queryposition
- The position of insertioninsert
- Flag that determines if the partial word following the cursor should be left intact or replaced by the proposalpublic IEntity getAbstractSchemaType(java.lang.String identificationVariable)
getAbstractSchemaType
in interface ContentAssistProposals
identificationVariable
- The identification variable that, if defined as a range variable, will be mapped to a managed typenull
if the given variable is mapped to something else or not mapped to anythingpublic boolean hasProposals()
hasProposals
in interface ContentAssistProposals
true
if there is at least one proposal; otherwise false
public java.lang.Iterable<java.lang.String> identificationVariables()
identificationVariables
in interface ContentAssistProposals
public java.lang.Iterable<java.lang.String> identifiers()
identifiers
in interface ContentAssistProposals
private void initialize()
private java.lang.String longuestIdentifier(java.lang.String proposal)
public java.lang.Iterable<IMapping> mappings()
mappings
, which can be state fields, association fields and/or collection fields depending on the location used to retrieve the possible proposals.mappings
in interface ContentAssistProposals
mappings
public boolean remove(java.lang.String proposal)
proposal
- The proposal to removetrue
the given proposal was removed from one of the collections; false
if it could not be found, thus not removedprivate int startPositionImp(WordParser wordParser, java.lang.String proposal)
public java.lang.String toString()
toString
in class java.lang.Object
|
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |