
com.prowidesoftware.swift.model.field.Field53B Maven / Gradle / Ivy
The newest version!
/*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
*/
package com.prowidesoftware.swift.model.field;
import java.io.Serializable;
import org.apache.commons.lang.StringUtils;
import com.prowidesoftware.swift.model.field.PatternContainer;
import com.prowidesoftware.swift.model.*;
import com.prowidesoftware.swift.utils.SwiftFormatUtils;
/**
* Field 53B
*
* validation pattern: [[/][/34x]$][35x](****)
* parser pattern: [[/c][/S]$][S]
* components pattern: SSS
*
* Components Data types
*
* - component1:
String
* - component2:
String
* - component3:
String
*
*
* NOTE: this source code has been generated.
*
* @author www.prowidesoftware.com
*/
@SuppressWarnings("unused")
public class Field53B extends Field implements Serializable, PatternContainer {
private static final long serialVersionUID = 1L;
public static final String NAME = "53B";
public static final String PARSER_PATTERN ="[[/c][/S]$][S]";
public static final String COMPONENTS_PATTERN = "SSS";
/**
* Default constructor
*/
public Field53B() {
super(3);
}
/**
* Creates the field parsing the parameter value into fields' components
* @param value
*/
public Field53B(String value) {
this();
java.util.List lines = SwiftParseUtils.getLines(value);
if (lines.size() > 0) {
if (lines.get(0).startsWith("/")) {
String t1 = SwiftParseUtils.getTokenFirst(lines.get(0), "/", "/");
if (org.apache.commons.lang.StringUtils.isNotEmpty(t1)) {
if (t1.length() == 1) {
setComponent1(t1);
setComponent2(SwiftParseUtils.getTokenSecondLast(org.apache.commons.lang.StringUtils.substring(lines.get(0), 1), "/"));
} else {
setComponent2(org.apache.commons.lang.StringUtils.substring(lines.get(0), 1));
}
} else {
setComponent2(SwiftParseUtils.getTokenSecondLast(org.apache.commons.lang.StringUtils.substring(lines.get(0), 1), "/"));
}
if (lines.size() > 1) {
setComponent3(lines.get(1));
}
} else {
setComponent3(lines.get(0));
}
}
}
/**
* Serializes the fields' components into the single string value (SWIFT format)
*/
@Override
public String getValue() {
final StringBuilder result = new StringBuilder();
boolean wroteSomething = false;
if (org.apache.commons.lang.StringUtils.isNotEmpty(getComponent1())) {
result.append("/" + getComponent1());
wroteSomething = true;
}
if (org.apache.commons.lang.StringUtils.isNotEmpty(getComponent2())) {
result.append("/" + getComponent2());
wroteSomething = true;
}
if (org.apache.commons.lang.StringUtils.isNotEmpty(getComponent3())) {
if (wroteSomething) {
result.append(com.prowidesoftware.swift.io.writer.FINWriterVisitor.SWIFT_EOL);
}
result.append(getComponent3());
}
return result.toString();
}
/**
* Get the component1
* @return the component1
*/
public String getComponent1() {
return getComponent(1);
}
/**
* Get the D/C Mark (component1).
* @return the D/C Mark from component1
*/
public String getDCMark() {
return getComponent(1);
}
/**
* Set the component1.
* @param component1 the component1 to set
*/
public void setComponent1(String component1) {
setComponent(1, component1);
}
/**
* Set the D/C Mark (component1).
* @param component1 the D/C Mark to set
*/
public void setDCMark(String component1) {
setComponent(1, component1);
}
/**
* Get the component2
* @return the component2
*/
public String getComponent2() {
return getComponent(2);
}
/**
* Get the Account (component2).
* @return the Account from component2
*/
public String getAccount() {
return getComponent(2);
}
/**
* Set the component2.
* @param component2 the component2 to set
*/
public void setComponent2(String component2) {
setComponent(2, component2);
}
/**
* Set the Account (component2).
* @param component2 the Account to set
*/
public void setAccount(String component2) {
setComponent(2, component2);
}
/**
* Get the component3
* @return the component3
*/
public String getComponent3() {
return getComponent(3);
}
/**
* Get the Location (component3).
* @return the Location from component3
*/
public String getLocation() {
return getComponent(3);
}
/**
* Set the component3.
* @param component3 the component3 to set
*/
public void setComponent3(String component3) {
setComponent(3, component3);
}
/**
* Set the Location (component3).
* @param component3 the Location to set
*/
public void setLocation(String component3) {
setComponent(3, component3);
}
/**
* Given a component number it returns true if the component is optional,
* regardless of the field being mandatory in a particular message.
* Being the field's value conformed by a composition of one or several
* internal component values, the field may be present in a message with
* a proper value but with some of its internal components not set.
*
* @param component component number, first component of a field is referenced as 1
* @return true if the component is optional for this field, false otherwise
*/
@Override
public boolean isOptional(int component) {
if (component == 1) {
return true;
}
if (component == 2) {
return true;
}
if (component == 3) {
return true;
}
return false;
}
/**
* Returns true if the field is a GENERIC FIELD as specified by the standard.
*
* @return true if the field is generic, false otherwise
*/
@Override
public boolean isGeneric() {
return false;
}
public String componentsPattern() {
return COMPONENTS_PATTERN;
}
public String parserPattern() {
return PARSER_PATTERN;
}
/**
* @see #getDCMark()
*/
@Deprecated
public String getDC() {
return getDCMark();
}
/**
* @see #setDCMark(String component1)
*/
@Deprecated
public void setDC(final String DC) {
setDCMark(DC);
}
/**
* Human readable value of the field
* @return s
*/
@Override
public String getValueDisplay() {
// TODO improve this
return formatAccount(getComponent2());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy