本文整理汇总了Java中net.sf.freecol.common.io.FreeColXMLReader类的典型用法代码示例。如果您正苦于以下问题:Java FreeColXMLReader类的具体用法?Java FreeColXMLReader怎么用?Java FreeColXMLReader使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
FreeColXMLReader类属于net.sf.freecol.common.io包,在下文中一共展示了FreeColXMLReader类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: NationSummaryMessage
import net.sf.freecol.common.io.FreeColXMLReader; //导入依赖的package包/类
/**
* Create a new {@code NationSummaryMessage} from a stream.
*
* @param game The {@code Game} containing the nation to summarize.
* @param xr The {@code FreeColXMLReader} to read from.
* @exception XMLStreamException if there is a problem reading the stream.
*/
public NationSummaryMessage(Game game, FreeColXMLReader xr)
throws XMLStreamException {
super(TAG, xr, PLAYER_TAG);
NationSummary ns = null;
while (xr.moreTags()) {
String tag = xr.getLocalName();
if (NationSummary.TAG.equals(tag)) {
if (ns == null) {
ns = xr.readFreeColObject(game, NationSummary.class);
} else {
expected(TAG, tag);
}
} else {
expected(NationSummary.TAG, tag);
}
xr.expectTag(tag);
}
xr.expectTag(TAG);
appendChild(ns);
}
示例2: readAttributes
import net.sf.freecol.common.io.FreeColXMLReader; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
@Override
public void readAttributes(FreeColXMLReader xr) throws XMLStreamException {
super.readAttributes(xr);
final Specification spec = getSpecification();
owner = xr.findFreeColGameObject(getGame(), OWNER_TAG,
Player.class, (Player)null, true);
baseRecruitPrice = xr.getAttribute(RECRUIT_PRICE_TAG,
RECRUIT_PRICE_INITIAL);
recruitLowerCap = xr.getAttribute(RECRUIT_LOWER_CAP_TAG,
LOWER_CAP_INITIAL);
}
示例3: readChild
import net.sf.freecol.common.io.FreeColXMLReader; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
@Override
protected void readChild(FreeColXMLReader xr) throws XMLStreamException {
final String tag = xr.getLocalName();
if (OLD_STORED_GOODS_TAG.equals(tag)) {
synchronized (this.oldStoredGoods) {
readStorage(xr, this.oldStoredGoods);
}
} else if (STORED_GOODS_TAG.equals(tag)) {
synchronized (this.storedGoods) {
readStorage(xr, this.storedGoods);
}
} else {
super.readChild(xr);
}
}
示例4: readChildren
import net.sf.freecol.common.io.FreeColXMLReader; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
@Override
protected void readChildren(FreeColXMLReader xr) throws XMLStreamException {
// The tiles structure is large, and individually
// overwriteable, so we do not clear it unlike most other containers.
super.readChildren(xr);
// Fix up settlement tile ownership in one hit here, avoiding
// complications with cached tiles within the Tile serialization.
forEachTile(t -> {
Settlement s = t.getOwningSettlement();
if (s != null) s.addTile(t);
});
// @compat 0.11.3
// Maps with incorrect parent/child chains were occurring.
fixupRegions();
// end @compat 0.11.3
}
示例5: readChild
import net.sf.freecol.common.io.FreeColXMLReader; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
@Override
protected void readChild(FreeColXMLReader xr) throws XMLStreamException {
final Game game = getGame();
final String tag = xr.getLocalName();
if (LostCityRumour.TAG.equals(tag)) {
LostCityRumour lcr = xr.readFreeColObject(game, LostCityRumour.class);
if (lcr != null) addTileItem(lcr);
} else if (Resource.TAG.equals(tag)) {
addTileItem(xr.readFreeColObject(game, Resource.class));
} else if (TileImprovement.TAG.equals(tag)
// @compat 0.11.3
|| OLD_TILE_IMPROVEMENT_TAG.equals(tag)
// end @compat 0.11.3
) {
addTileItem(xr.readFreeColObject(game, TileImprovement.class));
} else {
super.readChild(xr);
}
}
示例6: readChild
import net.sf.freecol.common.io.FreeColXMLReader; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
@Override
protected void readChild(FreeColXMLReader xr) throws XMLStreamException {
final Game game = getGame();
final String tag = xr.getLocalName();
if (DESTINATION_TAG.equals(tag)) {
addDestination(xr.getLocationAttribute(game, ID_ATTRIBUTE_TAG,
true));
xr.closeTag(DESTINATION_TAG);
} else {
super.readChild(xr);
}
}
示例7: readChild
import net.sf.freecol.common.io.FreeColXMLReader; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
@Override
public void readChild(FreeColXMLReader xr) throws XMLStreamException {
final String tag = xr.getLocalName();
if (tag != null) {
switch (tag) {
case NUMBER_TAG:
requireNumberOption();
numberOption.readFromXML(xr);
break;
case ROLE_TAG:
requireRoleOption();
roleOption.readFromXML(xr);
break;
case UNIT_TYPE_TAG:
requireUnitTypeOption();
unitTypeOption.readFromXML(xr);
break;
default:
super.readChild(xr);
break;
}
}
}
示例8: readChild
import net.sf.freecol.common.io.FreeColXMLReader; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
@Override
protected void readChild(FreeColXMLReader xr) throws XMLStreamException {
final Specification spec = getSpecification();
final String tag = xr.getLocalName();
if (PRODUCTION_TAG.equals(tag)) {
if (xr.getAttribute(DELETE_TAG, false)) {
productionTypes.clear();
xr.closeTag(PRODUCTION_TAG);
} else {
addProductionType(new ProductionType(xr, spec));
}
} else {
super.readChild(xr);
}
// @compat 0.11.6
if (hasAbility(Ability.EXPERTS_USE_CONNECTIONS)
&& this.expertConnectionProduction == 0)
this.expertConnectionProduction = 4;
// end @compat 0.11.6
}
示例9: readChildren
import net.sf.freecol.common.io.FreeColXMLReader; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
@Override
protected void readChildren(FreeColXMLReader xr) throws XMLStreamException {
// Clear containers.
if (xr.shouldClearContainers()) {
skills = null;
regions = null;
}
final Specification spec = getSpecification();
IndianNationType parent = xr.getType(spec, EXTENDS_TAG,
IndianNationType.class, this);
if (parent != this) {
if (parent.skills != null && !parent.skills.isEmpty()) {
if (skills == null) skills = new ArrayList<>();
skills.addAll(parent.skills);
}
if (parent.regions != null && !parent.regions.isEmpty()) {
if (regions == null) regions = new ArrayList<>();
regions.addAll(parent.regions);
}
}
super.readChildren(xr);
}
示例10: readChild
import net.sf.freecol.common.io.FreeColXMLReader; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
@Override
public void readChild(FreeColXMLReader xr) throws XMLStreamException {
final String tag = xr.getLocalName();
switch (tag) {
case TEMPLATE_TAG:
xr.nextTag();
template = readChildOption(xr);
xr.closeTag(TEMPLATE_TAG);
break;
default:
try {
AbstractOption<T> op = readChildOption(xr);
if (op != null) addMember(op);
} catch (XMLStreamException xse) {
logger.log(Level.WARNING, "Invalid option at: " + tag, xse);
xr.closeTag(tag);
}
break;
}
}
示例11: readAttributes
import net.sf.freecol.common.io.FreeColXMLReader; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
@Override
protected void readAttributes(FreeColXMLReader xr) throws XMLStreamException {
final Specification spec = getSpecification();
super.readAttributes(xr);
this.type = xr.getType(spec, TYPE_TAG, GoodsType.class, (GoodsType)null);
if (this.type == null) {
throw new XMLStreamException("Null goods type.");
} else {
setId(this.type.getId());
}
this.amount = xr.getAttribute(AMOUNT_TAG, 0);
this.location = xr.getLocationAttribute(game, LOCATION_TAG, true);
}
示例12: readChildren
import net.sf.freecol.common.io.FreeColXMLReader; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
@Override
protected void readChildren(FreeColXMLReader xr) throws XMLStreamException {
// We can not set the value until we have read the select options
// so as to be able to check its validity.
String value = xr.getAttribute(VALUE_TAG, (String)null);
String defaultValue = xr.getAttribute(DEFAULT_VALUE_TAG, (String)null);
// Clear containers.
clearItemValues();
super.readChildren(xr);
// Now we can correctly set the value.
setValue(value, defaultValue);
}
示例13: readAttributes
import net.sf.freecol.common.io.FreeColXMLReader; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
@Override
public void readAttributes(FreeColXMLReader xr) throws XMLStreamException {
// ProductionType does not need an id.
// No need for: super.readAttributes(in);
// FIXME: as soon as we allow the user to select a production type,
// we will need an id
unattended = xr.getAttribute(UNATTENDED_TAG, false);
productionLevel = xr.getAttribute(PRODUCTION_LEVEL_TAG, (String)null);
// @compat 0.11.3
if (productionLevel == null) {
productionLevel = xr.getAttribute(OLD_PRODUCTION_LEVEL_TAG, (String)null);
}
// end @compat 0.11.3
}
示例14: readFromXML
import net.sf.freecol.common.io.FreeColXMLReader; //导入依赖的package包/类
private static void readFromXML(FreeColXMLReader xr) throws XMLStreamException {
while (xr.moreTags()) {
String tag = xr.getLocalName();
if (null != tag) switch (tag) {
case VERSION_TAG:
xr.nextTag();
break;
case GENERATION_TAG:
xr.nextTag();
break;
case PLURALS_TAG:
while (xr.moreTags()) {
tag = xr.getLocalName();
if (PLURAL_RULES_TAG.equals(tag)) {
readChild(xr);
}
} break;
}
}
}
示例15: readChildren
import net.sf.freecol.common.io.FreeColXMLReader; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
@Override
protected void readChildren(FreeColXMLReader xr) throws XMLStreamException {
// Clear containers.
if (xr.shouldClearContainers()) {
effects = null;
}
final Specification spec = getSpecification();
Disaster parent = xr.getType(spec, EXTENDS_TAG, Disaster.class, this);
if (parent != this && !parent.getEffects().isEmpty()) {
if (effects == null) effects = new ArrayList<>();
for (RandomChoice<Effect> choice : parent.getEffects()) {
Effect effect = new Effect(choice.getObject());
effect.getFeatureContainer().replaceSource(parent, this);
addEffect(effect);
}
}
super.readChildren(xr);
}