public RoleImpl(final ATermAppl name, final PropertyType type) { _name = name; _type = type; addSubRole(this, DependencySet.INDEPENDENT); addSuperRole(this, DependencySet.INDEPENDENT); }
@Override public void setTransitive(final boolean b, final DependencySet ds) { final ATermList roleChain = ATermUtils.makeList(new ATerm[] { _name, _name }); if (b) { _flags |= TRANSITIVE; _explainTransitive = ds; addSubRoleChain(roleChain, ds); } else { _flags &= ~TRANSITIVE; _explainTransitive = ds; removeSubRoleChain(roleChain); } }
if (isTransitive()) str += " Transitive"; if (isReflexive()) str += " Reflexive"; if (isIrreflexive()) str += " Irreflexive"; if (isSymmetric()) str += " Symmetric"; if (isAsymmetric()) str += " Asymmetric"; if (isFunctional()) str += " Functional"; if (isInverseFunctional()) str += " InverseFunctional"; if (hasComplexSubRole()) str += " ComplexSubRole"; if (isSimple()) str += " Simple"; if (_type == PropertyType.OBJECT || _type == PropertyType.DATATYPE)
@Override public void setHasComplexSubRole(final boolean b) { if (b == hasComplexSubRole()) return; if (b) _flags |= COMPLEX_SUB; else _flags &= ~COMPLEX_SUB; if (_inverse != null) _inverse.setHasComplexSubRole(b); if (b) setSimple(false); }
/** * r is subrole of this role * * @param r */ @Override public void addSubRole(final Role r) { final DependencySet ds = OpenlletOptions.USE_TRACING ? new DependencySet(ATermUtils.makeSubProp(r.getName(), getName())) : DependencySet.INDEPENDENT; addSubRole(r, ds); }
default Role addRole(final ATermAppl r) { Role role = getRole(r); if (role == null) { role = new RoleImpl(r, PropertyType.UNTYPED); getRoles().put(r, role); } return role; }
@Override public boolean isSymmetric() { return _inverse != null && isEquivalent(_inverse); }
/** * r is superrole of this role * * @param r */ @Override public void addSuperRole(final Role r) { final DependencySet ds = OpenlletOptions.USE_TRACING ? new DependencySet(ATermUtils.makeSubProp(_name, r.getName())) : DependencySet.INDEPENDENT; addSuperRole(r, ds); }
@Override public void setForceSimple(final boolean b) { if (b == isForceSimple()) return; if (b) _flags |= FORCE_SIMPLE; else _flags &= ~FORCE_SIMPLE; if (_inverse != null) _inverse.setForceSimple(b); }
/** * Add a sub role chain without dependency tracking information * * @param chain */ @Override public void addSubRoleChain(final ATermList chain) { addSubRoleChain(chain, DependencySet.INDEPENDENT); }
/** * r is subrole of this role * * @param r */ @Override public void addSubRole(final Role r) { final DependencySet ds = OpenlletOptions.USE_TRACING ? new DependencySet(ATermUtils.makeSubProp(r.getName(), getName())) : DependencySet.INDEPENDENT; addSubRole(r, ds); }
default Role addRole(final ATermAppl r) { Role role = getRole(r); if (role == null) { role = new RoleImpl(r, PropertyType.UNTYPED); getRoles().put(r, role); } return role; }
@Override public void setHasComplexSubRole(final boolean b) { if (b == hasComplexSubRole()) return; if (b) _flags |= COMPLEX_SUB; else _flags &= ~COMPLEX_SUB; if (_inverse != null) _inverse.setHasComplexSubRole(b); if (b) setSimple(false); }
@Override public boolean isSymmetric() { return _inverse != null && isEquivalent(_inverse); }
/** * r is superrole of this role * * @param r */ @Override public void addSuperRole(final Role r) { final DependencySet ds = OpenlletOptions.USE_TRACING ? new DependencySet(ATermUtils.makeSubProp(_name, r.getName())) : DependencySet.INDEPENDENT; addSuperRole(r, ds); }
@Override public void setForceSimple(final boolean b) { if (b == isForceSimple()) return; if (b) _flags |= FORCE_SIMPLE; else _flags &= ~FORCE_SIMPLE; if (_inverse != null) _inverse.setForceSimple(b); }
/** * Add a sub role chain without dependency tracking information * * @param chain */ @Override public void addSubRoleChain(final ATermList chain) { addSubRoleChain(chain, DependencySet.INDEPENDENT); }
if (isTransitive()) str += " Transitive"; if (isReflexive()) str += " Reflexive"; if (isIrreflexive()) str += " Irreflexive"; if (isSymmetric()) str += " Symmetric"; if (isAsymmetric()) str += " Asymmetric"; if (isFunctional()) str += " Functional"; if (isInverseFunctional()) str += " InverseFunctional"; if (hasComplexSubRole()) str += " ComplexSubRole"; if (isSimple()) str += " Simple"; if (_type == PropertyType.OBJECT || _type == PropertyType.DATATYPE)