com.prowidesoftware.swift.model.field.Field50K Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of wife Show documentation
Show all versions of wife Show documentation
Prowide Core Libraries for SWIFT (TM) messages
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 50K
*
* validation pattern: [/34x$]35x[$35x]0-3
* parser pattern: [/S$]S[$S]0-3
* components pattern: SSSSS
*
* Components Data types
*
* - component1:
String
* - component2:
String
* - component3:
String
* - component4:
String
* - component5:
String
*
*
* NOTE: this source code has been generated.
*
* @author www.prowidesoftware.com
*/
@SuppressWarnings("unused")
public class Field50K extends Field implements Serializable, PatternContainer {
private static final long serialVersionUID = 1L;
public static final String NAME = "50K";
public static final String PARSER_PATTERN ="[/S$]S[$S]0-3";
public static final String COMPONENTS_PATTERN = "SSSSS";
/**
* Default constructor
*/
public Field50K() {
super(5);
}
/**
* Creates the field parsing the parameter value into fields' components
* @param value
*/
public Field50K(String value) {
this();
java.util.List lines = SwiftParseUtils.getLines(value);
if (lines.size() > 0) {
if (lines.get(0).startsWith("/")) {
setComponent1(org.apache.commons.lang.StringUtils.substring(lines.get(0), 1));
SwiftParseUtils.setComponentsFromLines(this, 2, 4, 1, lines);
} else {
SwiftParseUtils.setComponentsFromLines(this, 2, 4, 0, lines);
}
}
}
/**
* Serializes the fields' components into the single string value (SWIFT format)
*/
@Override
public String getValue() {
final StringBuilder result = new StringBuilder();
if (StringUtils.isNotEmpty(getComponent(1))) {
result.append("/");
result.append(getComponent(1));
}
appendInLines(result, getComponent2(), getComponent3(), getComponent4(), getComponent5());
return result.toString();
}
/**
* Get the component1
* @return the component1
*/
public String getComponent1() {
return getComponent(1);
}
/**
* Get the Account (component1).
* @return the Account from component1
*/
public String getAccount() {
return getComponent(1);
}
/**
* Set the component1.
* @param component1 the component1 to set
*/
public void setComponent1(String component1) {
setComponent(1, component1);
}
/**
* Set the Account (component1).
* @param component1 the Account to set
*/
public void setAccount(String component1) {
setComponent(1, component1);
}
/**
* Get the component2
* @return the component2
*/
public String getComponent2() {
return getComponent(2);
}
/**
* Get the Name And Address (component2).
* @return the Name And Address from component2
*/
public String getNameAndAddressLine1() {
return getComponent(2);
}
/**
* Get the Name And Address (component3).
* @return the Name And Address from component3
*/
public String getNameAndAddressLine2() {
return getComponent(3);
}
/**
* Get the Name And Address (component4).
* @return the Name And Address from component4
*/
public String getNameAndAddressLine3() {
return getComponent(4);
}
/**
* Get the Name And Address (component5).
* @return the Name And Address from component5
*/
public String getNameAndAddressLine4() {
return getComponent(5);
}
/**
* Get the Name And Address as a concatenation of component2 to component5.
* @return the Name And Address from components
*/
public String getNameAndAddress() {
StringBuilder result = new StringBuilder();
for (int i = 2 ; i < 6 ; i++) {
if (StringUtils.isNotBlank(getComponent(i))) {
if (result.length() > 0) {
result.append(com.prowidesoftware.swift.io.writer.FINWriterVisitor.SWIFT_EOL);
}
result.append(getComponent(i));
}
}
return result.toString();
}
/**
* Set the component2.
* @param component2 the component2 to set
*/
public void setComponent2(String component2) {
setComponent(2, component2);
}
/**
* Set the Name And Address (component2).
* @param component2 the Name And Address to set
*/
public void setNameAndAddressLine1(String component2) {
setComponent(2, component2);
}
/**
* Set the Name And Address (component3).
* @param component3 the Name And Address to set
*/
public void setNameAndAddressLine2(String component3) {
setComponent(3, component3);
}
/**
* Set the Name And Address (component4).
* @param component4 the Name And Address to set
*/
public void setNameAndAddressLine3(String component4) {
setComponent(4, component4);
}
/**
* Set the Name And Address (component5).
* @param component5 the Name And Address to set
*/
public void setNameAndAddressLine4(String component5) {
setComponent(5, component5);
}
/**
* Set the Name And Address splitting the parameter lines into components 2 to 5.
* @param the Name And Address to set, may contain line ends and each line will be set to its correspondent component attribute
*/
public void setNameAndAddress(String value) {
java.util.List lines = SwiftParseUtils.getLines(value);
SwiftParseUtils.setComponentsFromLines(this, 2, 4, 0, lines);
}
/**
* Get the component3
* @return the component3
*/
public String getComponent3() {
return getComponent(3);
}
/**
* Set the component3.
* @param component3 the component3 to set
*/
public void setComponent3(String component3) {
setComponent(3, component3);
}
/**
* Get the component4
* @return the component4
*/
public String getComponent4() {
return getComponent(4);
}
/**
* Set the component4.
* @param component4 the component4 to set
*/
public void setComponent4(String component4) {
setComponent(4, component4);
}
/**
* Get the component5
* @return the component5
*/
public String getComponent5() {
return getComponent(5);
}
/**
* Set the component5.
* @param component5 the component5 to set
*/
public void setComponent5(String component5) {
setComponent(5, component5);
}
/**
* 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 == 3) {
return true;
}
if (component == 4) {
return true;
}
if (component == 5) {
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;
}
/**
* Human readable value of the field
* @return s
*/
@Override
public String getValueDisplay() {
// TODO improve this
return formatAccount(getComponent1()) + "\n" + getComponent2();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy