blob: add0f38d599c9aeeff83a78a76bec9c73d94427c [file] [log] [blame]
//
// ========================================================================
// Copyright (c) 1995-2015 Mort Bay Consulting Pty. Ltd.
// ------------------------------------------------------------------------
// All rights reserved. This program and the accompanying materials
// are made available under the terms of the Eclipse Public License v1.0
// and Apache License v2.0 which accompanies this distribution.
//
// The Eclipse Public License is available at
// http://www.eclipse.org/legal/epl-v10.html
//
// The Apache License v2.0 is available at
// http://www.opensource.org/licenses/apache2.0.php
//
// You may elect to redistribute this code under either of these licenses.
// ========================================================================
//
package org.eclipse.jetty.start;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.eclipse.jetty.start.RawArgs.Entry;
public class RawArgs implements Iterable<Entry>
{
public class Entry
{
private String line;
private String origin;
private Entry(String line, String origin)
{
this.line = line;
this.origin = origin;
}
public String getLine()
{
return line;
}
public String getOrigin()
{
return origin;
}
public boolean startsWith(String val)
{
return line.startsWith(val);
}
}
/**
* All of the args, in argument order
*/
private List<Entry> args = new ArrayList<>();
public void addAll(List<String> lines, Path sourceFile)
{
String source = sourceFile.toAbsolutePath().toString();
for (String line : lines)
{
addArg(line,source);
}
}
public void addArg(final String rawline, final String source)
{
if (rawline == null)
{
return;
}
String line = rawline.trim();
if (line.length() == 0)
{
return;
}
args.add(new Entry(line,source));
}
@Override
public Iterator<Entry> iterator()
{
return args.iterator();
}
public int size()
{
return args.size();
}
}