org.apache.poi.xwpf.usermodel.BreakClear Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of poi-ooxml Show documentation
Show all versions of poi-ooxml Show documentation
Apache POI - Java API To Access Microsoft Format Files
/* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You 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 org.apache.poi.xwpf.usermodel;
import java.util.HashMap;
import java.util.Map;
/**
* Specifies the set of possible restart locations which may be used as to
* determine the next available line when a break's type attribute has a value
* of textWrapping.
*/
public enum BreakClear {
/**
* Specifies that the text wrapping break shall advance the text to the next
* line in the WordprocessingML document, regardless of its position left to
* right or the presence of any floating objects which intersect with the
* line,
*
* This is the setting for a typical line break in a document.
*/
NONE(1),
/**
* Specifies that the text wrapping break shall behave as follows:
*
* - If this line is broken into multiple regions (a floating object in
* the center of the page has text wrapping on both sides:
*
* - If this is the leftmost region of text flow on this line, advance
* the text to the next position on the line
* - Otherwise, treat this as a text wrapping break of type all.
*
*
* - If this line is not broken into multiple regions, then treat this
* break as a text wrapping break of type none.
* - If the parent paragraph is right to left, then these behaviors are
* also reversed.
*
*/
LEFT(2),
/**
* Specifies that the text wrapping break shall behave as follows:
*
* - If this line is broken into multiple regions (a floating object in
* the center of the page has text wrapping on both sides:
*
* - If this is the rightmost region of text flow on this line, advance
* the text to the next position on the next line
* - Otherwise, treat this as a text wrapping break of type all.
*
* - If this line is not broken into multiple regions, then treat this
* break as a text wrapping break of type none.
* - If the parent paragraph is right to left, then these beha viors are
* also reversed.
*
*/
RIGHT(3),
/**
* Specifies that the text wrapping break shall advance the text to the next
* line in the WordprocessingML document which spans the full width of the
* line.
*/
ALL(4);
private static final Map imap = new HashMap<>();
static {
for (BreakClear p : values()) {
imap.put(p.getValue(), p);
}
}
private final int value;
BreakClear(int val) {
value = val;
}
public static BreakClear valueOf(int type) {
BreakClear bType = imap.get(type);
if (bType == null)
throw new IllegalArgumentException("Unknown break clear type: "
+ type);
return bType;
}
public int getValue() {
return value;
}
}