org.sdmlib.models.pattern.util.PatternElementPO Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of SDMLib Show documentation
Show all versions of SDMLib Show documentation
SDMLib is a light weight modeling library. SDMLib intentionally comes without any tool or editor.
package org.sdmlib.models.pattern.util;
import org.sdmlib.models.pattern.AttributeConstraint;
import org.sdmlib.models.pattern.Pattern;
import org.sdmlib.models.pattern.PatternElement;
import org.sdmlib.models.pattern.PatternLink;
import org.sdmlib.models.pattern.PatternObject;
public class PatternElementPO extends PatternObject
{
public PatternElementPO(){
newInstance(CreatorCreator.createIdMap("PatternObjectType"));
}
public PatternElementPO(PatternElement... hostGraphObject) {
if(hostGraphObject==null || hostGraphObject.length<1){
return ;
}
newInstance(CreatorCreator.createIdMap("PatternObjectType"), hostGraphObject);
}
public PatternElementPO hasModifier(String value)
{
new AttributeConstraint()
.withAttrName(PatternElement.PROPERTY_MODIFIER)
.withTgtValue(value)
.withSrc(this)
.withPattern(this.getPattern());
this.getPattern().findMatch();
return this;
}
public PatternElementPO withModifier(String value)
{
if (this.getPattern().getHasMatch())
{
((PatternElement) getCurrentMatch()).withModifier(value);
}
return this;
}
public PatternElementPO hasHasMatch(boolean value)
{
new AttributeConstraint()
.withAttrName(PatternElement.PROPERTY_HASMATCH)
.withTgtValue(value)
.withSrc(this)
.withPattern(this.getPattern());
this.getPattern().findMatch();
return this;
}
public PatternElementPO withHasMatch(boolean value)
{
if (this.getPattern().getHasMatch())
{
((PatternElement) getCurrentMatch()).withHasMatch(value);
}
return this;
}
public PatternPO hasPattern()
{
PatternPO result = new PatternPO();
PatternLink patternLink = new PatternLink()
.withTgt(result).withTgtRoleName(PatternElement.PROPERTY_PATTERN)
.withSrc(this);
this.getPattern().addToElements(patternLink);
this.getPattern().addToElements(result);
this.getPattern().findMatch();
return result;
}
public PatternElementPO hasPattern(PatternPO tgt)
{
return hasLinkConstraint(tgt, PatternElement.PROPERTY_PATTERN);
}
public PatternElementPO withPattern(PatternPO tgtPO)
{
if (this.getPattern().getHasMatch())
{
((PatternElement) this.getCurrentMatch()).withPattern((Pattern) tgtPO.getCurrentMatch());
}
return this;
}
public String getModifier()
{
if (this.getPattern().getHasMatch())
{
return ((PatternElement) getCurrentMatch()).getModifier();
}
return null;
}
public boolean getHasMatch()
{
if (this.getPattern().getHasMatch())
{
return ((PatternElement) getCurrentMatch()).getHasMatch();
}
return false;
}
public Pattern getPattern()
{
if (super.getPattern().getHasMatch())
{
return ((PatternElement) this.getCurrentMatch()).getPattern();
}
return super.getPattern();
}
public PatternElementPO hasDoAllMatches(boolean value)
{
new AttributeConstraint()
.withAttrName(PatternElement.PROPERTY_DOALLMATCHES)
.withTgtValue(value)
.withSrc(this)
.withModifier(this.getPattern().getModifier())
.withPattern(this.getPattern());
this.getPattern().findMatch();
return this;
}
public boolean getDoAllMatches()
{
if (this.getPattern().getHasMatch())
{
return ((PatternElement) getCurrentMatch()).getDoAllMatches();
}
return false;
}
public PatternElementPO hasPatternObjectName(String value)
{
new AttributeConstraint()
.withAttrName(PatternElement.PROPERTY_PATTERNOBJECTNAME)
.withTgtValue(value)
.withSrc(this)
.withModifier(this.getPattern().getModifier())
.withPattern(this.getPattern());
this.getPattern().findMatch();
return this;
}
public String getPatternObjectName()
{
if (this.getPattern().getHasMatch())
{
return ((PatternElement) getCurrentMatch()).getPatternObjectName();
}
return null;
}
public PatternElementPO hasModifier(String lower, String upper)
{
new AttributeConstraint()
.withAttrName(PatternElement.PROPERTY_MODIFIER)
.withTgtValue(lower)
.withUpperTgtValue(upper)
.withSrc(this)
.withModifier(this.getPattern().getModifier())
.withPattern(this.getPattern());
this.getPattern().findMatch();
return this;
}
public PatternElementPO hasHasMatch(boolean lower, boolean upper)
{
new AttributeConstraint()
.withAttrName(PatternElement.PROPERTY_HASMATCH)
.withTgtValue(lower)
.withUpperTgtValue(upper)
.withSrc(this)
.withModifier(this.getPattern().getModifier())
.withPattern(this.getPattern());
this.getPattern().findMatch();
return this;
}
public PatternElementPO hasPatternObjectName(String lower, String upper)
{
new AttributeConstraint()
.withAttrName(PatternElement.PROPERTY_PATTERNOBJECTNAME)
.withTgtValue(lower)
.withUpperTgtValue(upper)
.withSrc(this)
.withModifier(this.getPattern().getModifier())
.withPattern(this.getPattern());
this.getPattern().findMatch();
return this;
}
public PatternElementPO hasDoAllMatches(boolean lower, boolean upper)
{
new AttributeConstraint()
.withAttrName(PatternElement.PROPERTY_DOALLMATCHES)
.withTgtValue(lower)
.withUpperTgtValue(upper)
.withSrc(this)
.withModifier(this.getPattern().getModifier())
.withPattern(this.getPattern());
this.getPattern().findMatch();
return this;
}
public PatternElementPO createModifier(String value)
{
this.startCreate().hasModifier(value).endCreate();
return this;
}
public PatternElementPO createHasMatch(boolean value)
{
this.startCreate().hasHasMatch(value).endCreate();
return this;
}
public PatternElementPO createPatternObjectName(String value)
{
this.startCreate().hasPatternObjectName(value).endCreate();
return this;
}
public PatternElementPO createDoAllMatches(boolean value)
{
this.startCreate().hasDoAllMatches(value).endCreate();
return this;
}
public PatternPO createPattern()
{
return (PatternPO) this.startCreate().hasPattern().endCreate();
}
public PatternElementPO createPattern(PatternPO tgt)
{
return this.startCreate().hasPattern(tgt).endCreate();
}
public PatternElementPO filterModifier(String value)
{
new AttributeConstraint()
.withAttrName(PatternElement.PROPERTY_MODIFIER)
.withTgtValue(value)
.withSrc(this)
.withModifier(this.getPattern().getModifier())
.withPattern(this.getPattern());
super.filterAttr();
return this;
}
public PatternElementPO filterModifier(String lower, String upper)
{
new AttributeConstraint()
.withAttrName(PatternElement.PROPERTY_MODIFIER)
.withTgtValue(lower)
.withUpperTgtValue(upper)
.withSrc(this)
.withModifier(this.getPattern().getModifier())
.withPattern(this.getPattern());
super.filterAttr();
return this;
}
public PatternElementPO filterHasMatch(boolean value)
{
new AttributeConstraint()
.withAttrName(PatternElement.PROPERTY_HASMATCH)
.withTgtValue(value)
.withSrc(this)
.withModifier(this.getPattern().getModifier())
.withPattern(this.getPattern());
super.filterAttr();
return this;
}
public PatternElementPO filterPatternObjectName(String value)
{
new AttributeConstraint()
.withAttrName(PatternElement.PROPERTY_PATTERNOBJECTNAME)
.withTgtValue(value)
.withSrc(this)
.withModifier(this.getPattern().getModifier())
.withPattern(this.getPattern());
super.filterAttr();
return this;
}
public PatternElementPO filterPatternObjectName(String lower, String upper)
{
new AttributeConstraint()
.withAttrName(PatternElement.PROPERTY_PATTERNOBJECTNAME)
.withTgtValue(lower)
.withUpperTgtValue(upper)
.withSrc(this)
.withModifier(this.getPattern().getModifier())
.withPattern(this.getPattern());
super.filterAttr();
return this;
}
public PatternElementPO filterDoAllMatches(boolean value)
{
new AttributeConstraint()
.withAttrName(PatternElement.PROPERTY_DOALLMATCHES)
.withTgtValue(value)
.withSrc(this)
.withModifier(this.getPattern().getModifier())
.withPattern(this.getPattern());
super.filterAttr();
return this;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy