All pastes #976228 Raw Edit

Mine

public text v1 · immutable
·published 2008-04-08 00:22 UTC
rendered paste body
// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3) deadcode ansi 
// Source File Name:   BrokenPrioritySequence.java


public class BrokenPrioritySequence
    implements TaskList
{

    public BrokenPrioritySequence()
    {
        numTasks = 0;
        tasks = new Task[1];
    }

    public void addTask(Task task)
    {
        if(numTasks == tasks.length)
        {
            Task atask[] = new Task[tasks.length * 2];
            for(int j = 0; j < tasks.length; j++)
                atask[j] = tasks[j];

            tasks = atask;
        }
        if(task.deadline() == null)
        {
            tasks[numTasks] = task;
            numTasks++;
            return;
        }
        int i = numTasks - 1;
        if(task.deadline() != null)
            for(; i >= 0 && (tasks[i].deadline() == null || task.deadline().compareTo(tasks[i].deadline()) == 2 || task.deadline().compareTo(tasks[i].deadline()) == -1); i--);
        for(int k = numTasks - 1; k >= i; k--)
            tasks[k + 1] = tasks[k];

        tasks[i] = task;
        numTasks++;
    }

    public Task[] allTasks()
    {
        Task atask[] = new Task[numTasks];
        for(int i = 0; i < numTasks; i++)
            atask[i] = tasks[i];

        return atask;
    }

    public void initWithTasks(Task atask[])
    {
        tasks = new Task[atask.length];
        numTasks = atask.length;
        for(int i = 0; i < atask.length; i++)
            tasks[i] = atask[i];

    }

    public boolean isEmpty()
    {
        return numTasks == 0;
    }

    public Task nextTask()
    {
        if(numTasks == 0)
            return null;
        else
            return tasks[0];
    }

    public Task removeNextTask()
    {
        Task task = nextTask();
        for(int i = 1; i < numTasks; i++)
            tasks[i - 1] = tasks[i];

        numTasks--;
        return task;
    }

    public int taskCount()
    {
        return tasks.length;
    }

    private Task tasks[];
    private int numTasks;
}