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

annis.model.Join Maven / Gradle / Ivy

There is a newer version: 4.0.0-beta.4
Show newest version
/*
 * Copyright 2009-2011 Collaborative Research Centre SFB 632 
 *
 * Licensed under the Apache 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.apache.org/licenses/LICENSE-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 annis.model;

import java.util.Set;
import java.util.TreeSet;

@SuppressWarnings("serial")
public abstract class Join extends DataObject {

	protected QueryNode target;
  private Set edgeAnnotations;
  
  private ParsedEntityLocation parseLocation;

	public Join(QueryNode target) {
		this.target = target;
    this.edgeAnnotations = new TreeSet<>();
	}

	public QueryNode getTarget() {
		return target;
	}
  
  public boolean addEdgeAnnotation(QueryAnnotation anno)
  {
    return edgeAnnotations.add(anno);
  }

  public Set getEdgeAnnotations()
  {
    return edgeAnnotations;
  }

  public void setEdgeAnnotations(Set edgeAnnotations)
  {
    this.edgeAnnotations = edgeAnnotations;
  }
  
  public String toAQLFragment(QueryNode source)
  {
    return "#" + source.getVariable() +" " + toAqlOperator() + " #" + target.getVariable();
  }
  
  public String toAqlOperator()
  {
    return "X";
  }

  public ParsedEntityLocation getParseLocation()
  {
    return parseLocation;
  }

  public void setParseLocation(ParsedEntityLocation parseLocation)
  {
    this.parseLocation = parseLocation;
  }
  
  
  
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy