/******************************************************************************* * Copyright (c) 2012 Pivotal Software, Inc. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Pivotal Software, Inc. - initial API and implementation *******************************************************************************/ package org.grails.ide.eclipse.editor.gsp.tags; import org.eclipse.wst.sse.core.internal.provisional.events.StructuredDocumentEvent; import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument; import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion; import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion; import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionList; import org.eclipse.wst.sse.core.internal.text.TextRegionListImpl; import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext; /** * @author Andrew Eisenberg */ class AllDocumentRegion implements IStructuredDocumentRegion { private IStructuredDocument document; AllDocumentRegion(IStructuredDocument document) { this.document = document; } public void addRegion(ITextRegion aRegion) { } public IStructuredDocumentRegion getNext() { return null; } public IStructuredDocument getParentDocument() { return this.document; } public IStructuredDocumentRegion getPrevious() { return null; } public boolean isDeleted() { return false; } public boolean isEnded() { return false; } public boolean sameAs(IStructuredDocumentRegion region, int shift) { return region instanceof AllDocumentRegion && region.getParentDocument().equals(this.getParentDocument()); } public boolean sameAs(ITextRegion oldRegion, IStructuredDocumentRegion documentRegion, ITextRegion newRegion, int shift) { return sameAs(documentRegion, shift); } public void setDeleted(boolean deleted) { } public void setEnded(boolean hasEnd) { } public void setLength(int newLength) { } public void setNext(IStructuredDocumentRegion newNext) { } public void setParentDocument(IStructuredDocument document) { } public void setPrevious(IStructuredDocumentRegion newPrevious) { } public void setStart(int newStart) { } public boolean containsOffset(int offset) { return this.getParentDocument().getLength() > offset; } public boolean containsOffset(ITextRegion region, int offset) { return containsOffset(offset); } public int getEndOffset() { return this.getParentDocument().getLength(); } public int getEndOffset(ITextRegion containedRegion) { return getEndOffset(); } public ITextRegion getFirstRegion() { return null; } public String getFullText() { return getParentDocument().get(); } public String getFullText(ITextRegion containedRegion) { return getFullText().substring(containedRegion.getStart(), containedRegion.getEnd()); } public ITextRegion getLastRegion() { return null; } public int getNumberOfRegions() { return 0; } public ITextRegion getRegionAtCharacterOffset(int offset) { return null; } public ITextRegionList getRegions() { return new TextRegionListImpl(); } public int getStartOffset() { return 0; } public int getStartOffset(ITextRegion containedRegion) { return 0; } public String getText() { return getFullText(); } public String getText(ITextRegion containedRegion) { return getFullText(containedRegion); } public int getTextEndOffset() { return 0; } public int getTextEndOffset(ITextRegion containedRegion) { return getEndOffset(); } public void setRegions(ITextRegionList containedRegions) { } public void adjustLength(int i) { } public void adjustStart(int i) { } public void adjustTextLength(int i) { } public void equatePositions(ITextRegion region) { } public int getEnd() { return getEndOffset(); } public int getLength() { return getEndOffset(); } public int getStart() { return 0; } public int getTextEnd() { return getEndOffset(); } public int getTextLength() { return getEndOffset(); } public String getType() { return DOMRegionContext.XML_CONTENT; } public StructuredDocumentEvent updateRegion(Object requester, IStructuredDocumentRegion parent, String changes, int requestStart, int lengthToReplace) { return null; } }