org.eclipse.emf.codegen.merge.java
Class JControlModel.MatchRule

java.lang.Object
  extended by org.eclipse.emf.codegen.merge.java.JControlModel.MatchRule
Enclosing class:
JControlModel

public static class JControlModel.MatchRule
extends java.lang.Object

During the merge, the current state of the nodes of a tree is applied to the nodes of another tree. Pairing the nodes of each tree is one of the main activities of the process.

A Match Rule allows a developer to replace the default matching algorithm, based on qualified names, to better suite the needs of an specific application. Some examples:

   <merge:match markup="^gen$" get="Member/getName"/>
   <merge:match get="Method/getComment" signature="\s*@\s*uuid\s*(\S*)\s*\n"/>

The first match rule is applicable to any Member marked with the expression defined by the "^gen$" Dictionary Pattern. It defines that these members are matched by their names. The second rule is applicable to any method that has @uuid xyz on its comment. In this case, the string xyz is be used to match the nodes.

An important remark is that if there is a type conversion during the merge process, the match rules should not be used to pair different "kinds" of elements like fields and enumerator constants for example. See Jmerger.convert and NodeConverter for further details on conversions.


Field Summary
protected  java.lang.String classPrefix
           
protected  JControlModel.Feature getFeature
           
protected  java.util.regex.Pattern markup
           
protected  java.lang.String name
           
protected  java.util.regex.Pattern signature
           
protected  boolean stopMatching
           
 
Constructor Summary
JControlModel.MatchRule(java.lang.String classPrefix)
           
JControlModel.MatchRule(java.lang.String classPrefix, org.w3c.dom.Element element)
           
 
Method Summary
protected  JControlModel.Feature createFeature(java.lang.String classPrefix, java.lang.String path, java.lang.Class<?>[] parameterTypes)
           
 java.lang.String getClassPrefix()
           
 JControlModel.Feature getGetFeature()
           
 java.util.regex.Pattern getMarkup()
           
 java.lang.String getName()
           
 java.util.regex.Pattern getSignature()
           
 void initialize(org.w3c.dom.Element element)
           
 boolean isStopMatching()
           
protected  void setClassPrefix(java.lang.String classPrefix)
           
 void setGetFeature(JControlModel.Feature getFeature)
           
 void setMarkup(java.util.regex.Pattern markup)
           
 void setName(java.lang.String name)
           
 void setSignature(java.util.regex.Pattern signature)
           
 void setStopMatching(boolean stopMatching)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

name

protected java.lang.String name

markup

protected java.util.regex.Pattern markup

getFeature

protected JControlModel.Feature getFeature

signature

protected java.util.regex.Pattern signature

stopMatching

protected boolean stopMatching

classPrefix

protected java.lang.String classPrefix
Constructor Detail

JControlModel.MatchRule

public JControlModel.MatchRule(java.lang.String classPrefix)

JControlModel.MatchRule

public JControlModel.MatchRule(java.lang.String classPrefix,
                               org.w3c.dom.Element element)
Method Detail

initialize

public void initialize(org.w3c.dom.Element element)

createFeature

protected JControlModel.Feature createFeature(java.lang.String classPrefix,
                                              java.lang.String path,
                                              java.lang.Class<?>[] parameterTypes)

getName

public java.lang.String getName()

setName

public void setName(java.lang.String name)

getGetFeature

public JControlModel.Feature getGetFeature()

setGetFeature

public void setGetFeature(JControlModel.Feature getFeature)

getMarkup

public java.util.regex.Pattern getMarkup()

setMarkup

public void setMarkup(java.util.regex.Pattern markup)

getSignature

public java.util.regex.Pattern getSignature()

setSignature

public void setSignature(java.util.regex.Pattern signature)

isStopMatching

public boolean isStopMatching()

setStopMatching

public void setStopMatching(boolean stopMatching)

setClassPrefix

protected void setClassPrefix(java.lang.String classPrefix)

getClassPrefix

public java.lang.String getClassPrefix()

Copyright 2001-2006 IBM Corporation and others.
All Rights Reserved.