001package io.ebeaninternal.xmapping.api;
002
003import java.util.LinkedHashMap;
004import java.util.Map;
005
006/**
007 * External named raw sql query.
008 */
009public class XmapRawSql {
010
011  protected final String name;
012  protected final String query;
013  protected final Map<String, String> columnMapping = new LinkedHashMap<>();
014  protected final Map<String, String> aliasMapping = new LinkedHashMap<>();
015
016  public XmapRawSql(String name, String query) {
017    this.name = name;
018    this.query = query;
019  }
020
021  public void addColumnMapping(String column, String property) {
022    columnMapping.put(column, property);
023  }
024
025  public void addAliasMapping(String alias, String property) {
026    aliasMapping.put(alias, property);
027  }
028
029  /**
030   * Return the name.
031   */
032  public String getName() {
033    return name;
034  }
035
036  /**
037   * Return the query.
038   */
039  public String getQuery() {
040    return query;
041  }
042
043  /**
044   * Return the column to property mapping.
045   */
046  public Map<String, String> getColumnMapping() {
047    return columnMapping;
048  }
049
050  /**
051   * Return the alias to property mapping.
052   */
053  public Map<String, String> getAliasMapping() {
054    return aliasMapping;
055  }
056
057}