| // Copyright (C) 2006 Google Inc. |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| package prettify.parser; |
| |
| import java.util.ArrayList; |
| import java.util.List; |
| |
| /** |
| * This is the job object that similar to those in JavaScript Prettify. |
| * |
| * @author Chan Wai Shing <cws1989@gmail.com> |
| */ |
| public class Job { |
| |
| /** |
| * The starting point of the source code. |
| */ |
| protected int basePos; |
| /** |
| * The source code. |
| */ |
| protected String sourceCode; |
| /** |
| * The parsed results. n<sup>th</sup> items are starting position position, |
| * n+1<sup>th</sup> items are the three-letter style keyword, where n start |
| * from 0. |
| */ |
| protected List<Object> decorations; |
| |
| /** |
| * Constructor. |
| */ |
| public Job() { |
| this(0, ""); |
| } |
| |
| /** |
| * Constructor. |
| * |
| * @param basePos the starting point of the source code |
| * @param sourceCode the source code |
| */ |
| public Job(int basePos, String sourceCode) { |
| if (sourceCode == null) { |
| throw new NullPointerException("argument 'sourceCode' cannot be null"); |
| } |
| this.basePos = basePos; |
| this.sourceCode = sourceCode; |
| decorations = new ArrayList<Object>(); |
| } |
| |
| /** |
| * Set the starting point of the source code. |
| * |
| * @return the position |
| */ |
| public int getBasePos() { |
| return basePos; |
| } |
| |
| /** |
| * Set the starting point of the source code. |
| * |
| * @param basePos the position |
| */ |
| public void setBasePos(int basePos) { |
| this.basePos = basePos; |
| } |
| |
| /** |
| * Get the source code. |
| * |
| * @return the source code |
| */ |
| public String getSourceCode() { |
| return sourceCode; |
| } |
| |
| /** |
| * Set the source code. |
| * |
| * @param sourceCode the source code |
| */ |
| public void setSourceCode(String sourceCode) { |
| if (sourceCode == null) { |
| throw new NullPointerException("argument 'sourceCode' cannot be null"); |
| } |
| this.sourceCode = sourceCode; |
| } |
| |
| /** |
| * Get the parsed results. see {@link #decorations}. |
| * |
| * @return the parsed results |
| */ |
| public List<Object> getDecorations() { |
| return new ArrayList<Object>(decorations); |
| } |
| |
| /** |
| * Set the parsed results. see {@link #decorations}. |
| * |
| * @param decorations the parsed results |
| */ |
| public void setDecorations(List<Object> decorations) { |
| if (decorations == null) { |
| this.decorations = new ArrayList<Object>(); |
| return; |
| } |
| this.decorations = new ArrayList<Object>(decorations); |
| } |
| } |