/* * Copyright (c) 2010 Mysema Ltd. * All rights reserved. * */ package com.mysema.rdfbean.object; import javax.annotation.Nullable; import javax.annotation.concurrent.Immutable; import com.mysema.rdfbean.annotations.Predicate; import com.mysema.rdfbean.model.UID; /** * @author sasa * */ @Immutable public final class MappedPredicate { private final UID uid; private final boolean inv; private final boolean ignoreInvalid; private final boolean includeInferred; @Nullable private final UID context; public MappedPredicate(UID uid, boolean inv) { this.uid = uid; this.inv = inv; this.ignoreInvalid = false; this.includeInferred = false; this.context = null; } public MappedPredicate(String parentNs, Predicate predicate, @Nullable String elementName) { this.uid = UID.create(parentNs, predicate.ns(), predicate.ln(), elementName); this.inv = predicate.inv(); this.ignoreInvalid = predicate.ignoreInvalid(); this.includeInferred = predicate.includeInferred(); if (predicate.context().isEmpty()) { this.context = null; } else { this.context = new UID(predicate.context()); } } public boolean inv() { return inv; } public boolean ignoreInvalid() { return ignoreInvalid; } public boolean includeInferred() { return includeInferred; } @Nullable public UID getContext() { return context; } public UID getUID() { return uid; } @Override public String toString() { return uid.getId(); } }