/*
Copyright (C) 2005 David Green <green@couchpotato.net>
All Rights Reserved.

This file is part of Aelfengard.

Aelfengard is proprietary software. You may not redistribute it without
prior written permission from the copyright holder.
*/

package server.token;

import java.util.List;
import java.util.Set;

import server.FatalError;
import server.Player;
import server.RoomEntity;

class ConstantPart extends Part {

    private final String text;
    
    public ConstantPart(boolean capitalize, String text) {
        super(Type.CONSTANT, -1, capitalize);
        this.text = text;
    }
    
    @Override
    public ResolvedPart apply(Player observer, boolean somebodyIfUnknown, String[] strings, RoomEntity... entities) {
        return new ConstantResolvedPart();
    }
    
    private class ConstantResolvedPart extends ResolvedPart {
        
        @Override
        public void add(ResolvedPart part) {
            throw new FatalError("ConstantPart.add() should never be called.");
        }
        
        @Override
        public String toString(Player observer, boolean somebodyIfUnknown, List<Set<String>> strings, List<Set<RoomEntity>> entities) {
            return text;
        }
        
    }

}