|
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.ResultThis contains the result of inserting a proposal into a JPQL query at a given position. |
| Field Summary | |
|---|---|
private java.util.Set<IEntity> |
abstractSchemaTypesThe set of possible abstract schema types. |
private java.util.Set<java.lang.String> |
identificationVariablesThe set of possible identification variables. |
private java.util.Set<java.lang.String> |
identifiersThe set of possible JPQL identifiers. |
private static java.util.Map<java.lang.String,java.lang.String> |
LONGUEST_IDENTIFIERSA JPQL identifier that is mapped to its longest counterpart. |
private java.util.Set<IMapping> |
mappingsThe 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_IDENTIFIERSA 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> |
rangeIdentificationVariablesThe 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 ContentAssistProposalsentities 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 fields
public 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 variable
public 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 ContentAssistProposalsjpqlQuery - 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 proposal
private 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 cursor
public 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 ContentAssistProposalsjpqlQuery - 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 ContentAssistProposalsidentificationVariable - 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 ContentAssistProposalstrue if there is at least one proposal; otherwise falsepublic java.lang.Iterable<java.lang.String> identificationVariables()
identificationVariables in interface ContentAssistProposalspublic java.lang.Iterable<java.lang.String> identifiers()
identifiers in interface ContentAssistProposalsprivate 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 ContentAssistProposalsmappingspublic 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 removed
private 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 | ||||||||