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

com.almworks.jira.structure.api2g.row.StructureRow Maven / Gradle / Ivy

There is a newer version: 17.25.3
Show newest version
package com.almworks.jira.structure.api2g.row;

import com.almworks.jira.structure.api2g.item.ItemIdentity;
import com.atlassian.annotations.PublicApi;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

// todo add javadocs
@PublicApi
public interface StructureRow {
  long getRowId();

  @NotNull
  ItemIdentity getItemId();

  long getSemantics();

  @Nullable
   I getItem(@NotNull Class itemClass);


  StructureRow ROW_ZERO = new StructureRow() {
    @Override
    public long getRowId() {
      return 0;
    }

    @NotNull
    @Override
    public ItemIdentity getItemId() {
      return ItemIdentity.ITEM_ZERO;
    }

    @Nullable
    @Override
    public  I getItem(@NotNull Class itemClass) {
      return null;
    }

    @Override
    public long getSemantics() {
      return 0;
    }

    @Override
    public String toString() {
      return getRowId() + ":" + getItemId();
    }
  };
}