All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.sdmlib.models.pattern.util.PatternObjectPO Maven / Gradle / Ivy

Go to download

SDMLib is a light weight modeling library. SDMLib intentionally comes without any tool or editor.

There is a newer version: 2.3.2341
Show newest version
package org.sdmlib.models.pattern.util;

import org.sdmlib.models.pattern.AttributeConstraint;
import org.sdmlib.models.pattern.CardinalityConstraint;
import org.sdmlib.models.pattern.DestroyObjectElem;
import org.sdmlib.models.pattern.MatchOtherThen;
import org.sdmlib.models.pattern.Pattern;
import org.sdmlib.models.pattern.PatternElement;
import org.sdmlib.models.pattern.PatternObject;

public class PatternObjectPO extends PatternObject
{

   public PatternObjectSet allMatches()
   {
      this.setDoAllMatches(true);

      PatternObjectSet matches = new PatternObjectSet();

      while (this.getPattern().getHasMatch())
      {
         matches.add((PatternObject) this.getCurrentMatch());

         this.getPattern().findMatch();
      }

      return matches;
   }

   public PatternObjectPO()
   {
      newInstance(null);
   }

   public PatternObjectPO(PatternObject... hostGraphObject)
   {
      if (hostGraphObject == null || hostGraphObject.length < 1)
      {
         return;
      }
      newInstance(null, hostGraphObject);
   }

   public PatternObjectPO(String modifier)
   {
      this.setModifier(modifier);
   }

   public PatternObjectPO createCurrentMatchCondition(Object value)
   {
      new AttributeConstraint()
         .withAttrName(PatternObject.PROPERTY_CURRENTMATCH)
         .withTgtValue(value)
         .withSrc(this)
         .withModifier(this.getPattern().getModifier())
         .withPattern(this.getPattern());

      super.filterAttr();

      return this;
   }

   public PatternObjectPO createCurrentMatchAssignment(Object value)
   {
      new AttributeConstraint()
         .withAttrName(PatternObject.PROPERTY_CURRENTMATCH)
         .withTgtValue(value)
         .withSrc(this)
         .withModifier(Pattern.CREATE)
         .withPattern(this.getPattern());

      super.filterAttr();

      return this;
   }

   public PatternObject getCurrentMatch()
   {
      if (super.getCurrentMatch() != null)
      {
         return (PatternObject) ((PatternObject) super.getCurrentMatch()).getCurrentMatch();
      }
      return null;
   }

   public PatternObjectPO withCurrentMatch(Object value)
   {
      if (this.getPattern().getHasMatch())
      {
         ((PatternObject) getCurrentMatch()).setCurrentMatch(value);
      }
      return this;
   }

   public PatternObjectPO createCandidatesCondition(Object value)
   {
      new AttributeConstraint()
         .withAttrName(PatternObject.PROPERTY_CANDIDATES)
         .withTgtValue(value)
         .withSrc(this)
         .withModifier(this.getPattern().getModifier())
         .withPattern(this.getPattern());

      super.filterAttr();

      return this;
   }

   public PatternObjectPO createCandidatesAssignment(Object value)
   {
      new AttributeConstraint()
         .withAttrName(PatternObject.PROPERTY_CANDIDATES)
         .withTgtValue(value)
         .withSrc(this)
         .withModifier(Pattern.CREATE)
         .withPattern(this.getPattern());

      super.filterAttr();

      return this;
   }

   public Object getCandidates()
   {
      if (this.getPattern().getHasMatch())
      {
         return ((PatternObject) getCurrentMatch()).getCandidates();
      }
      return null;
   }

   public PatternObjectPO withCandidates(Object value)
   {
      if (this.getPattern().getHasMatch())
      {
         ((PatternObject) getCurrentMatch()).setCandidates(value);
      }
      return this;
   }

   public PatternObjectPO createModifierCondition(String value)
   {
      new AttributeConstraint()
         .withAttrName(PatternObject.PROPERTY_MODIFIER)
         .withTgtValue(value)
         .withSrc(this)
         .withModifier(this.getPattern().getModifier())
         .withPattern(this.getPattern());

      super.filterAttr();

      return this;
   }

   public PatternObjectPO createModifierCondition(String lower, String upper)
   {
      new AttributeConstraint()
         .withAttrName(PatternObject.PROPERTY_MODIFIER)
         .withTgtValue(lower)
         .withUpperTgtValue(upper)
         .withSrc(this)
         .withModifier(this.getPattern().getModifier())
         .withPattern(this.getPattern());

      super.filterAttr();

      return this;
   }

   public PatternObjectPO createModifierAssignment(String value)
   {
      new AttributeConstraint()
         .withAttrName(PatternObject.PROPERTY_MODIFIER)
         .withTgtValue(value)
         .withSrc(this)
         .withModifier(Pattern.CREATE)
         .withPattern(this.getPattern());

      super.filterAttr();

      return this;
   }

   public String getModifier()
   {
      if (this.getPattern().getHasMatch())
      {
         return ((PatternObject) getCurrentMatch()).getModifier();
      }
      return null;
   }

   public PatternObjectPO withModifier(String value)
   {
      if (this.getPattern().getHasMatch())
      {
         ((PatternObject) getCurrentMatch()).setModifier(value);
      }
      return this;
   }

   public PatternObjectPO createHasMatchCondition(boolean value)
   {
      new AttributeConstraint()
         .withAttrName(PatternObject.PROPERTY_HASMATCH)
         .withTgtValue(value)
         .withSrc(this)
         .withModifier(this.getPattern().getModifier())
         .withPattern(this.getPattern());

      super.filterAttr();

      return this;
   }

   public PatternObjectPO createHasMatchAssignment(boolean value)
   {
      new AttributeConstraint()
         .withAttrName(PatternObject.PROPERTY_HASMATCH)
         .withTgtValue(value)
         .withSrc(this)
         .withModifier(Pattern.CREATE)
         .withPattern(this.getPattern());

      super.filterAttr();

      return this;
   }

   public boolean getHasMatch()
   {
      if (this.getPattern().getHasMatch())
      {
         return ((PatternObject) getCurrentMatch()).isHasMatch();
      }
      return false;
   }

   public PatternObjectPO withHasMatch(boolean value)
   {
      if (this.getPattern().getHasMatch())
      {
         ((PatternObject) getCurrentMatch()).setHasMatch(value);
      }
      return this;
   }

   public PatternObjectPO createPatternObjectNameCondition(String value)
   {
      new AttributeConstraint()
         .withAttrName(PatternObject.PROPERTY_PATTERNOBJECTNAME)
         .withTgtValue(value)
         .withSrc(this)
         .withModifier(this.getPattern().getModifier())
         .withPattern(this.getPattern());

      super.filterAttr();

      return this;
   }

   public PatternObjectPO createPatternObjectNameCondition(String lower, String upper)
   {
      new AttributeConstraint()
         .withAttrName(PatternObject.PROPERTY_PATTERNOBJECTNAME)
         .withTgtValue(lower)
         .withUpperTgtValue(upper)
         .withSrc(this)
         .withModifier(this.getPattern().getModifier())
         .withPattern(this.getPattern());

      super.filterAttr();

      return this;
   }

   public PatternObjectPO createPatternObjectNameAssignment(String value)
   {
      new AttributeConstraint()
         .withAttrName(PatternObject.PROPERTY_PATTERNOBJECTNAME)
         .withTgtValue(value)
         .withSrc(this)
         .withModifier(Pattern.CREATE)
         .withPattern(this.getPattern());

      super.filterAttr();

      return this;
   }

   public String getPatternObjectName()
   {
      if (this.getPattern().getHasMatch())
      {
         return ((PatternObject) getCurrentMatch()).getPatternObjectName();
      }
      return null;
   }

   public PatternObjectPO withPatternObjectName(String value)
   {
      if (this.getPattern().getHasMatch())
      {
         ((PatternObject) getCurrentMatch()).setPatternObjectName(value);
      }
      return this;
   }

   public PatternObjectPO createDoAllMatchesCondition(boolean value)
   {
      new AttributeConstraint()
         .withAttrName(PatternObject.PROPERTY_DOALLMATCHES)
         .withTgtValue(value)
         .withSrc(this)
         .withModifier(this.getPattern().getModifier())
         .withPattern(this.getPattern());

      super.filterAttr();

      return this;
   }

   public PatternObjectPO createDoAllMatchesAssignment(boolean value)
   {
      new AttributeConstraint()
         .withAttrName(PatternObject.PROPERTY_DOALLMATCHES)
         .withTgtValue(value)
         .withSrc(this)
         .withModifier(Pattern.CREATE)
         .withPattern(this.getPattern());

      super.filterAttr();

      return this;
   }

   public boolean getDoAllMatches()
   {
      if (this.getPattern().getHasMatch())
      {
         return ((PatternObject) getCurrentMatch()).isDoAllMatches();
      }
      return false;
   }

   public PatternObjectPO withDoAllMatches(boolean value)
   {
      if (this.getPattern().getHasMatch())
      {
         ((PatternObject) getCurrentMatch()).setDoAllMatches(value);
      }
      return this;
   }

   public PatternPO createPatternPO()
   {
      PatternPO result = new PatternPO(new Pattern[]
      {});

      result.setModifier(this.getPattern().getModifier());
      super.hasLink(PatternElement.PROPERTY_PATTERN, result);

      return result;
   }

   public PatternPO createPatternPO(String modifier)
   {
      PatternPO result = new PatternPO(new Pattern[]
      {});

      result.setModifier(modifier);
      super.hasLink(PatternElement.PROPERTY_PATTERN, result);

      return result;
   }

   public PatternObjectPO createPatternLink(PatternPO tgt)
   {
      return hasLinkConstraint(tgt, PatternElement.PROPERTY_PATTERN);
   }

   public PatternObjectPO createPatternLink(PatternPO tgt, String modifier)
   {
      return hasLinkConstraint(tgt, PatternElement.PROPERTY_PATTERN, modifier);
   }

   public Pattern getPattern()
   {
      if (this.getPattern().getHasMatch())
      {
         return ((PatternElement) this.getCurrentMatch()).getPattern();
      }
      return null;
   }

   public AttributeConstraintPO createAttrConstraintsPO()
   {
      AttributeConstraintPO result = new AttributeConstraintPO(new AttributeConstraint[]
      {});

      result.setModifier(this.getPattern().getModifier());
      super.hasLink(PatternObject.PROPERTY_ATTRCONSTRAINTS, result);

      return result;
   }

   public AttributeConstraintPO createAttrConstraintsPO(String modifier)
   {
      AttributeConstraintPO result = new AttributeConstraintPO(new AttributeConstraint[]
      {});

      result.setModifier(modifier);
      super.hasLink(PatternObject.PROPERTY_ATTRCONSTRAINTS, result);

      return result;
   }

   public PatternObjectPO createAttrConstraintsLink(AttributeConstraintPO tgt)
   {
      return hasLinkConstraint(tgt, PatternObject.PROPERTY_ATTRCONSTRAINTS);
   }

   public PatternObjectPO createAttrConstraintsLink(AttributeConstraintPO tgt, String modifier)
   {
      return hasLinkConstraint(tgt, PatternObject.PROPERTY_ATTRCONSTRAINTS, modifier);
   }

   public AttributeConstraintSet getAttrConstraints()
   {
      if (this.getPattern().getHasMatch())
      {
         return ((PatternObject) this.getCurrentMatch()).getAttrConstraints();
      }
      return null;
   }

   public DestroyObjectElemPO createDestroyElemPO()
   {
      DestroyObjectElemPO result = new DestroyObjectElemPO(new DestroyObjectElem[]
      {});

      result.setModifier(this.getPattern().getModifier());
      super.hasLink(PatternObject.PROPERTY_DESTROYELEM, result);

      return result;
   }

   public DestroyObjectElemPO createDestroyElemPO(String modifier)
   {
      DestroyObjectElemPO result = new DestroyObjectElemPO(new DestroyObjectElem[]
      {});

      result.setModifier(modifier);
      super.hasLink(PatternObject.PROPERTY_DESTROYELEM, result);

      return result;
   }

   public PatternObjectPO createDestroyElemLink(DestroyObjectElemPO tgt)
   {
      return hasLinkConstraint(tgt, PatternObject.PROPERTY_DESTROYELEM);
   }

   public PatternObjectPO createDestroyElemLink(DestroyObjectElemPO tgt, String modifier)
   {
      return hasLinkConstraint(tgt, PatternObject.PROPERTY_DESTROYELEM, modifier);
   }

   public DestroyObjectElem getDestroyElem()
   {
      if (this.getPattern().getHasMatch())
      {
         return ((PatternObject) this.getCurrentMatch()).getDestroyElem();
      }
      return null;
   }

   public CardinalityConstraintPO createCardConstraintsPO()
   {
      CardinalityConstraintPO result = new CardinalityConstraintPO(new CardinalityConstraint[]
      {});

      result.setModifier(this.getPattern().getModifier());
      super.hasLink(PatternObject.PROPERTY_CARDCONSTRAINTS, result);

      return result;
   }

   public CardinalityConstraintPO createCardConstraintsPO(String modifier)
   {
      CardinalityConstraintPO result = new CardinalityConstraintPO(new CardinalityConstraint[]
      {});

      result.setModifier(modifier);
      super.hasLink(PatternObject.PROPERTY_CARDCONSTRAINTS, result);

      return result;
   }

   public PatternObjectPO createCardConstraintsLink(CardinalityConstraintPO tgt)
   {
      return hasLinkConstraint(tgt, PatternObject.PROPERTY_CARDCONSTRAINTS);
   }

   public PatternObjectPO createCardConstraintsLink(CardinalityConstraintPO tgt, String modifier)
   {
      return hasLinkConstraint(tgt, PatternObject.PROPERTY_CARDCONSTRAINTS, modifier);
   }

   public CardinalityConstraintSet getCardConstraints()
   {
      if (this.getPattern().getHasMatch())
      {
         return ((PatternObject) this.getCurrentMatch()).getCardConstraints();
      }
      return null;
   }

   public MatchOtherThenPO createMatchOtherThenPO()
   {
      MatchOtherThenPO result = new MatchOtherThenPO(new MatchOtherThen[]
      {});

      result.setModifier(this.getPattern().getModifier());
      super.hasLink(PatternObject.PROPERTY_MATCHOTHERTHEN, result);

      return result;
   }

   public MatchOtherThenPO createMatchOtherThenPO(String modifier)
   {
      MatchOtherThenPO result = new MatchOtherThenPO(new MatchOtherThen[]
      {});

      result.setModifier(modifier);
      super.hasLink(PatternObject.PROPERTY_MATCHOTHERTHEN, result);

      return result;
   }

   public PatternObjectPO createMatchOtherThenLink(MatchOtherThenPO tgt)
   {
      return hasLinkConstraint(tgt, PatternObject.PROPERTY_MATCHOTHERTHEN);
   }

   public PatternObjectPO createMatchOtherThenLink(MatchOtherThenPO tgt, String modifier)
   {
      return hasLinkConstraint(tgt, PatternObject.PROPERTY_MATCHOTHERTHEN, modifier);
   }

   public MatchOtherThenSet getMatchOtherThen()
   {
      if (this.getPattern().getHasMatch())
      {
         return ((PatternObject) this.getCurrentMatch()).getMatchOtherThen();
      }
      return null;
   }

   public MatchOtherThenPO createExcludersPO()
   {
      MatchOtherThenPO result = new MatchOtherThenPO(new MatchOtherThen[]
      {});

      result.setModifier(this.getPattern().getModifier());
      super.hasLink(PatternObject.PROPERTY_EXCLUDERS, result);

      return result;
   }

   public MatchOtherThenPO createExcludersPO(String modifier)
   {
      MatchOtherThenPO result = new MatchOtherThenPO(new MatchOtherThen[]
      {});

      result.setModifier(modifier);
      super.hasLink(PatternObject.PROPERTY_EXCLUDERS, result);

      return result;
   }

   public PatternObjectPO createExcludersLink(MatchOtherThenPO tgt)
   {
      return hasLinkConstraint(tgt, PatternObject.PROPERTY_EXCLUDERS);
   }

   public PatternObjectPO createExcludersLink(MatchOtherThenPO tgt, String modifier)
   {
      return hasLinkConstraint(tgt, PatternObject.PROPERTY_EXCLUDERS, modifier);
   }

   public MatchOtherThenSet getExcluders()
   {
      if (this.getPattern().getHasMatch())
      {
         return ((PatternObject) this.getCurrentMatch()).getExcluders();
      }
      return null;
   }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy