/********************************************************************************** * $URL: https://source.sakaiproject.org/contrib/syracuse/taggable/branches/oncourse_osp_enhancements/taggable-hbm/hbm/src/java/org/sakaiproject/taggable/impl/LinkImpl.java $ * $Id: LinkImpl.java 45892 2008-02-22 19:54:48Z chmaurer@iupui.edu $ *********************************************************************************** * * Copyright (c) 2006, 2007, 2008 The Sakai Foundation * * Licensed under the Educational Community License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.opensource.org/licenses/ECL-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * **********************************************************************************/ package org.sakaiproject.taggable.impl; import java.io.Serializable; import java.util.Stack; import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ToStringBuilder; import org.sakaiproject.entity.api.Entity; import org.sakaiproject.entity.api.Reference; import org.sakaiproject.entity.api.ResourceProperties; import org.sakaiproject.entity.cover.EntityManager; import org.sakaiproject.taggable.api.Link; import org.sakaiproject.taggable.api.TaggingManager; import org.w3c.dom.Document; import org.w3c.dom.Element; public class LinkImpl implements Link, Serializable { protected static final long serialVersionUID = 5644487945580590177L; protected String id; protected Integer version; //protected TagCriteria tagCriteria; protected String tagCriteriaRef; protected String activityRef; protected String rationale; protected String rubric; protected int exportString; protected boolean visible; protected boolean locked; protected LinkImpl() { } public LinkImpl(String activityRef, String tagCriteriaRef, String rationale, String rubric, boolean visible, boolean locked) { this.tagCriteriaRef = tagCriteriaRef; this.activityRef = activityRef; this.rationale = rationale; this.rubric = rubric; this.visible = visible; this.locked = locked; } public String getId() { return id; } protected void setId(String id) { this.id = id; } protected Integer getVersion() { return version; } protected void setVersion(Integer version) { this.version = version; } /* public TagCriteria getTagCriteria() { if (tagCriteria == null && tagCriteriaRef != null) { Reference ref = EntityManager.newReference(tagCriteriaRef); TagCriteria newTC = new TagCriteria(); } return tagCriteria; } public void setTagCriteria(TagCriteria tagCriteria) { this.tagCriteria = tagCriteria; } */ public String getTagCriteriaRef() { //if (tagCriteria != null && tagCriteriaRef == null) // return tagCriteria.getReference(); return tagCriteriaRef; } public void setTagCriteriaRef(String tagCriteriaRef) { this.tagCriteriaRef = tagCriteriaRef; } public String getActivityRef() { return activityRef; } protected void setActivityRef(String activityRef) { this.activityRef = activityRef; } public String getRationale() { return rationale; } public void setRationale(String rationale) { this.rationale = rationale; } public boolean isExportable() { return (exportString > 0); } public boolean isExportable(int reportMask) { return ((exportString & reportMask) == reportMask); } public int getExportString() { return exportString; } public void setExportFlag(int reportMask) { exportString ^= reportMask; } protected void setExportString(int exportString) { this.exportString = exportString; } public boolean isVisible() { return visible; } public void setVisible(boolean visible) { this.visible = visible; } public boolean isLocked() { return locked; } public void setLocked(boolean locked) { this.locked = locked; } public String getRubric() { return rubric; } public void setRubric(String rubric) { this.rubric = rubric; } /** * @see java.lang.Object#toString() */ public String toString() { ToStringBuilder sb = new ToStringBuilder(this); sb.append("id", id); sb.append("version", version); sb.append("tagCriteriaRef", tagCriteriaRef); sb.append("activityRef", activityRef); sb.append("rationale", rationale); sb.append("rubric", rubric); sb.append("exportString", exportString); sb.append("visible", visible); sb.append("locked", locked); return sb.toString(); } /** * @see java.lang.Object#equals(java.lang.Object) */ public boolean equals(Object obj) { if (this == obj) { return true; } if (!(obj instanceof LinkImpl)) { return false; } LinkImpl other = (LinkImpl) obj; return new EqualsBuilder().appendSuper(super.equals(obj)).append(tagCriteriaRef, other.getTagCriteriaRef()).append(activityRef, other.getActivityRef()) .isEquals(); } /** * @see java.lang.Object#hashCode() */ public int hashCode() { return new HashCodeBuilder(11, 13).append(tagCriteriaRef).append(activityRef) .toHashCode(); } public String getUrl() { // TODO Auto-generated method stub return null; } public String getReference() { StringBuffer sb = new StringBuffer(TaggingManager.REFERENCE_ROOT); sb.append(Entity.SEPARATOR); sb.append(TaggingManager.LINK_REF); sb.append(Entity.SEPARATOR); sb.append(getTagCriteriaRef()); sb.append(Entity.SEPARATOR); sb.append(getId()); return sb.toString(); } public String getUrl(String arg0) { // TODO Auto-generated method stub return null; } public String getReference(String arg0) { // TODO Auto-generated method stub return null; } public ResourceProperties getProperties() { // TODO Auto-generated method stub return null; } public Element toXml(Document arg0, Stack arg1) { // TODO Auto-generated method stub return null; } }