ClassQueue.java revision 1208:32af819a7f1c
1/*
2 * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
3 */
4/*
5 * Licensed to the Apache Software Foundation (ASF) under one or more
6 * contributor license agreements.  See the NOTICE file distributed with
7 * this work for additional information regarding copyright ownership.
8 * The ASF licenses this file to You under the Apache License, Version 2.0
9 * (the "License"); you may not use this file except in compliance with
10 * the License.  You may obtain a copy of the License at
11 *
12 *      http://www.apache.org/licenses/LICENSE-2.0
13 *
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 */
20package com.sun.org.apache.bcel.internal.util;
21
22import java.util.LinkedList;
23
24import com.sun.org.apache.bcel.internal.classfile.JavaClass;
25
26/**
27 * Utility class implementing a (typesafe) queue of JavaClass objects.
28 *
29 * @version $Id: ClassQueue.java 1747278 2016-06-07 17:28:43Z britter $
30 */
31public class ClassQueue {
32
33    private final LinkedList<JavaClass> vec = new LinkedList<>();
34
35    public void enqueue(final JavaClass clazz) {
36        vec.addLast(clazz);
37    }
38
39    public JavaClass dequeue() {
40        return vec.removeFirst();
41    }
42
43    public boolean empty() {
44        return vec.isEmpty();
45    }
46
47    @Override
48    public String toString() {
49        return vec.toString();
50    }
51}
52