mappum 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +4 -0
- data/LICENSE +15 -0
- data/README +53 -0
- data/Rakefile +48 -0
- data/VERSION +1 -0
- data/bin/mapserver.rb +4 -0
- data/java-api/pom.xml +63 -0
- data/java-api/src/main/java/pl/ivmx/mappum/JavaTransform.java +12 -0
- data/java-api/src/main/java/pl/ivmx/mappum/MappumApi.java +83 -0
- data/java-api/src/main/java/pl/ivmx/mappum/TreeElement.java +23 -0
- data/java-api/src/main/java/pl/ivmx/mappum/WorkdirLoader.java +12 -0
- data/java-api/src/test/java/iv/Client.java +237 -0
- data/java-api/src/test/java/iv/Person.java +261 -0
- data/java-api/src/test/java/pl/ivmx/mappum/MappumTest.java +122 -0
- data/java-api/src/test/resources/map/example_map.rb +88 -0
- data/lib/mappum.rb +46 -0
- data/lib/mappum/autoconv_catalogue.rb +43 -0
- data/lib/mappum/dsl.rb +255 -0
- data/lib/mappum/java_transform.rb +107 -0
- data/lib/mappum/map.rb +194 -0
- data/lib/mappum/mapserver/mapgraph.rb +192 -0
- data/lib/mappum/mapserver/mapserver.rb +213 -0
- data/lib/mappum/mapserver/maptable.rb +80 -0
- data/lib/mappum/mapserver/views/doc.erb +15 -0
- data/lib/mappum/mapserver/views/main.erb +39 -0
- data/lib/mappum/mapserver/views/maptable.erb +16 -0
- data/lib/mappum/mapserver/views/rubysource.erb +25 -0
- data/lib/mappum/mapserver/views/transform-ws.wsdl.erb +50 -0
- data/lib/mappum/mapserver/views/ws-error.erb +10 -0
- data/lib/mappum/open_xml_object.rb +68 -0
- data/lib/mappum/ruby_transform.rb +199 -0
- data/lib/mappum/xml_transform.rb +382 -0
- data/mappum.gemspec +117 -0
- data/sample/address_fixture.xml +11 -0
- data/sample/crm.rb +9 -0
- data/sample/crm_client.xsd +28 -0
- data/sample/erp.rb +7 -0
- data/sample/erp_person.xsd +44 -0
- data/sample/example_conversions.rb +12 -0
- data/sample/example_map.rb +92 -0
- data/sample/example_notypes.rb +77 -0
- data/sample/example_when.rb +13 -0
- data/sample/person_fixture.xml +23 -0
- data/sample/person_fixture_any.xml +26 -0
- data/sample/server/map/example_any.rb +28 -0
- data/sample/server/map/example_soap4r.rb +59 -0
- data/sample/server/mapserver.sh +1 -0
- data/sample/server/schema/crm_client.xsd +29 -0
- data/sample/server/schema/erp/erp_person.xsd +38 -0
- data/test/test_conversions.rb +24 -0
- data/test/test_example.rb +175 -0
- data/test/test_openstruct.rb +129 -0
- data/test/test_soap4r.rb +108 -0
- data/test/test_when.rb +35 -0
- data/test/test_xml_any.rb +62 -0
- metadata +164 -0
data/.gitignore
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
== mappum
|
2
|
+
|
3
|
+
Copyright 2009 by Jan Topinski
|
4
|
+
|
5
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
you may not use this file except in compliance with the License.
|
7
|
+
You may obtain a copy of the License at
|
8
|
+
|
9
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
|
11
|
+
Unless required by applicable law or agreed to in writing, software
|
12
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
See the License for the specific language governing permissions and
|
15
|
+
limitations under the License.
|
data/README
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
== mappum
|
2
|
+
|
3
|
+
Mappum is the tree to tree (object, bean etc.) mapping DSL. The example of usage
|
4
|
+
is provided below. More documentation will follow.
|
5
|
+
|
6
|
+
Mappum.catalogue_add "CRM-ERP" do
|
7
|
+
|
8
|
+
map ERP::Person, CRM::Client do |p, c|
|
9
|
+
|
10
|
+
#simple mapping
|
11
|
+
map p.title <=> c.title
|
12
|
+
|
13
|
+
#map with simple function call
|
14
|
+
map p.person_id << c.key.downcase
|
15
|
+
map p.person_id.upcase >> c.key
|
16
|
+
|
17
|
+
#dictionary use
|
18
|
+
map p.sex <=> c.sex_id, :dict => {"F" => "1", "M" => "2"}
|
19
|
+
|
20
|
+
#submaps
|
21
|
+
map p.address(ERP::Address) <=> c.address(CRM::Address) do |a, b|
|
22
|
+
map a.street <=> b.street
|
23
|
+
#etc.
|
24
|
+
end
|
25
|
+
|
26
|
+
#subobject to fields
|
27
|
+
map p.main_phone(ERP::Phone) <=> c.self do |a, b|
|
28
|
+
map a.number <=> b.main_phone
|
29
|
+
map a.type <=> b.main_phone_type
|
30
|
+
end
|
31
|
+
|
32
|
+
#compilcated function call
|
33
|
+
map p.name >> c.surname do |name|
|
34
|
+
name + "ski"
|
35
|
+
end
|
36
|
+
map p.name << c.surname do |name|
|
37
|
+
if name =~ /ski/
|
38
|
+
name[0..-4]
|
39
|
+
else
|
40
|
+
name
|
41
|
+
end
|
42
|
+
end
|
43
|
+
#field to array and array to field
|
44
|
+
map p.email1 <=> c.emails[0]
|
45
|
+
map p.email2 <=> c.emails[1]
|
46
|
+
map p.email3 <=> c.emails[2]
|
47
|
+
|
48
|
+
map p.phones(ERP::Phone)[] <=> c.phones[] do |a, b|
|
49
|
+
map a.number <=> b.self
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
53
|
+
end
|
data/Rakefile
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
#
|
2
|
+
# To change this template, choose Tools | Templates
|
3
|
+
# and open the template in the editor.
|
4
|
+
|
5
|
+
require 'rubygems'
|
6
|
+
require 'rake'
|
7
|
+
require 'rake/clean'
|
8
|
+
require 'rake/rdoctask'
|
9
|
+
require 'rake/testtask'
|
10
|
+
require 'spec/rake/spectask'
|
11
|
+
|
12
|
+
Rake::RDocTask.new do |rdoc|
|
13
|
+
files =['README', 'LICENSE', 'lib/**/*.rb']
|
14
|
+
rdoc.rdoc_files.add(files)
|
15
|
+
rdoc.main = "README" # page to start on
|
16
|
+
rdoc.title = "rupper Docs"
|
17
|
+
rdoc.rdoc_dir = 'doc/rdoc' # rdoc output folder
|
18
|
+
rdoc.options << '--line-numbers'
|
19
|
+
end
|
20
|
+
|
21
|
+
Rake::TestTask.new do |t|
|
22
|
+
t.test_files = FileList['test/**/*.rb']
|
23
|
+
end
|
24
|
+
|
25
|
+
Spec::Rake::SpecTask.new do |t|
|
26
|
+
t.spec_files = FileList['spec/**/*.rb']
|
27
|
+
end
|
28
|
+
|
29
|
+
begin
|
30
|
+
require 'jeweler'
|
31
|
+
Jeweler::Tasks.new do |gemspec|
|
32
|
+
gemspec.name = "mappum"
|
33
|
+
gemspec.summary = "Mappum is the tree to tree (object, bean etc.) mapping DSL."
|
34
|
+
gemspec.email = "jtopinski@chatka.org"
|
35
|
+
gemspec.homepage = "http://wiki.github.com/simcha/mappum"
|
36
|
+
gemspec.description = ""
|
37
|
+
gemspec.authors = ["Jan Topiński"]
|
38
|
+
gemspec.add_dependency('facets', '>= 2.5.2')
|
39
|
+
gemspec.add_dependency('soap4r', '>= 1.5.8')
|
40
|
+
gemspec.add_dependency('sinatra', '>= 0.9.2')
|
41
|
+
gemspec.add_dependency('thin', '>= 1.2.2')
|
42
|
+
gemspec.add_dependency('syntax', '>= 1.0.0')
|
43
|
+
end
|
44
|
+
Jeweler::GemcutterTasks.new
|
45
|
+
rescue LoadError
|
46
|
+
puts "Jeweler not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com"
|
47
|
+
end
|
48
|
+
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.2.0
|
data/bin/mapserver.rb
ADDED
data/java-api/pom.xml
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
3
|
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
4
|
+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
5
|
+
|
6
|
+
<modelVersion>4.0.0</modelVersion>
|
7
|
+
|
8
|
+
<groupId>pl.ivmx.mappum</groupId>
|
9
|
+
<artifactId>mappum-core</artifactId>
|
10
|
+
<packaging>jar</packaging>
|
11
|
+
<version>0.2.0</version>
|
12
|
+
<name>Mappum Java API</name>
|
13
|
+
|
14
|
+
<properties>
|
15
|
+
<jruby-version>1.3.1</jruby-version>
|
16
|
+
<jsr223-version>20080611</jsr223-version>
|
17
|
+
<soap4r-version>1.5.8</soap4r-version>
|
18
|
+
<junit-version>3.8.1</junit-version>
|
19
|
+
<jdk-version>1.5</jdk-version>
|
20
|
+
</properties>
|
21
|
+
|
22
|
+
<build>
|
23
|
+
<resources>
|
24
|
+
<resource>
|
25
|
+
<directory>../lib</directory>
|
26
|
+
</resource>
|
27
|
+
</resources>
|
28
|
+
|
29
|
+
<plugins>
|
30
|
+
<plugin>
|
31
|
+
<groupId>org.apache.maven.plugins</groupId>
|
32
|
+
<artifactId>maven-compiler-plugin</artifactId>
|
33
|
+
<configuration>
|
34
|
+
<source>${jdk-version}</source>
|
35
|
+
<target>${jdk-version}</target>
|
36
|
+
</configuration>
|
37
|
+
</plugin>
|
38
|
+
</plugins>
|
39
|
+
</build>
|
40
|
+
<dependencies>
|
41
|
+
<dependency>
|
42
|
+
<groupId>pl.ivmx.mappum</groupId>
|
43
|
+
<artifactId>mappum-jruby-complete</artifactId>
|
44
|
+
<version>${jruby-version}</version>
|
45
|
+
</dependency>
|
46
|
+
<dependency>
|
47
|
+
<groupId>com.sun.script</groupId>
|
48
|
+
<artifactId>jruby-engine</artifactId>
|
49
|
+
<version>${jsr223-version}</version>
|
50
|
+
</dependency>
|
51
|
+
<dependency>
|
52
|
+
<groupId>javax.script</groupId>
|
53
|
+
<artifactId>script-api</artifactId>
|
54
|
+
<version>1.0</version>
|
55
|
+
</dependency>
|
56
|
+
<dependency>
|
57
|
+
<groupId>junit</groupId>
|
58
|
+
<artifactId>junit</artifactId>
|
59
|
+
<version>${junit-version}</version>
|
60
|
+
<scope>test</scope>
|
61
|
+
</dependency>
|
62
|
+
</dependencies>
|
63
|
+
</project>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
package pl.ivmx.mappum;
|
2
|
+
|
3
|
+
public interface JavaTransform {
|
4
|
+
/**
|
5
|
+
* Transforms Pojo (plain old java bean)
|
6
|
+
* @param from
|
7
|
+
* @return
|
8
|
+
*/
|
9
|
+
public Object transform(Object from, String map, Object to);
|
10
|
+
public Object transform(Object from, String map);
|
11
|
+
public Object transform(Object from);
|
12
|
+
}
|
@@ -0,0 +1,83 @@
|
|
1
|
+
package pl.ivmx.mappum;
|
2
|
+
|
3
|
+
import javax.script.ScriptContext;
|
4
|
+
import javax.script.ScriptEngine;
|
5
|
+
import javax.script.ScriptEngineManager;
|
6
|
+
import javax.script.ScriptException;
|
7
|
+
|
8
|
+
public class MappumApi {
|
9
|
+
private MappumApi rubyMappum;
|
10
|
+
|
11
|
+
public MappumApi() {
|
12
|
+
this(true);
|
13
|
+
}
|
14
|
+
public MappumApi(boolean initialize){
|
15
|
+
if(initialize){
|
16
|
+
ScriptEngineManager m = new ScriptEngineManager();
|
17
|
+
ScriptEngine rubyEngine = m.getEngineByName("jruby");
|
18
|
+
if(rubyEngine == null){
|
19
|
+
throw new RuntimeException("No jruby jsr-223 engine found download jruby an jruby-engine jars.");
|
20
|
+
}
|
21
|
+
ScriptContext context = rubyEngine.getContext();
|
22
|
+
//context.setAttribute("this_mappum",this, ScriptContext.ENGINE_SCOPE);
|
23
|
+
try {
|
24
|
+
String script = "require 'mappum/java_transform'\n" +
|
25
|
+
"return Mappum::JavaApi.new\n";
|
26
|
+
Object o = rubyEngine.eval(script, context);
|
27
|
+
rubyMappum = (MappumApi) o;
|
28
|
+
} catch (ScriptException e) {
|
29
|
+
throw new RuntimeException(e);
|
30
|
+
}
|
31
|
+
}
|
32
|
+
}
|
33
|
+
@SuppressWarnings("unused")
|
34
|
+
private void setRubyImpl(MappumApi mappum) {
|
35
|
+
rubyMappum = mappum;
|
36
|
+
}
|
37
|
+
|
38
|
+
|
39
|
+
public WorkdirLoader getWorkdirLoader() {
|
40
|
+
return getWorkdirLoader(null,null,null);
|
41
|
+
}
|
42
|
+
public WorkdirLoader getWorkdirLoader(String schemaPath, String mapDir,String basedir) {
|
43
|
+
return rubyMappum.getWorkdirLoader(schemaPath, mapDir, basedir);
|
44
|
+
}
|
45
|
+
|
46
|
+
/**
|
47
|
+
* Load maps from class patch. Old definitions are removed first.
|
48
|
+
*
|
49
|
+
*/
|
50
|
+
public void loadMaps() {
|
51
|
+
loadMaps(null);
|
52
|
+
}
|
53
|
+
/**
|
54
|
+
* Load maps from class patch. Old definitions are removed first.
|
55
|
+
*
|
56
|
+
* @param dir - directory to load maps from (all jars and folders are scanned)
|
57
|
+
*/
|
58
|
+
public void loadMaps(String dir) {
|
59
|
+
loadMaps(dir, true);
|
60
|
+
}
|
61
|
+
/**
|
62
|
+
* Load maps from class patch.
|
63
|
+
*
|
64
|
+
* @param dir - directory to load maps from (all jars and folders are scanned)
|
65
|
+
* @param reload - when true (default) old definitions are removed first
|
66
|
+
*/
|
67
|
+
public void loadMaps(String dir, boolean reload) {
|
68
|
+
rubyMappum.loadMaps(dir, reload);
|
69
|
+
}
|
70
|
+
public JavaTransform getJavaTransform(){
|
71
|
+
return getJavaTransform(null);
|
72
|
+
}
|
73
|
+
public JavaTransform getJavaTransform(String catalogue){
|
74
|
+
return rubyMappum.getJavaTransform(catalogue);
|
75
|
+
}
|
76
|
+
public void startServer(){
|
77
|
+
rubyMappum.startServer();
|
78
|
+
}
|
79
|
+
public static void main(String[] args){
|
80
|
+
MappumApi mappumApi = new MappumApi();
|
81
|
+
mappumApi.startServer();
|
82
|
+
}
|
83
|
+
}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
/**
|
2
|
+
*
|
3
|
+
*/
|
4
|
+
package pl.ivmx.mappum;
|
5
|
+
|
6
|
+
import java.util.List;
|
7
|
+
|
8
|
+
/**
|
9
|
+
* @author Jan Topinski (jtopinski@ivmx.pl)
|
10
|
+
*
|
11
|
+
*/
|
12
|
+
public interface TreeElement {
|
13
|
+
public String getName();
|
14
|
+
public void setName(String name);
|
15
|
+
public List<TreeElement> getElements();
|
16
|
+
public void setElements(List<TreeElement> elems);
|
17
|
+
public boolean getIsArray();
|
18
|
+
public void setIsArray(boolean isArray);
|
19
|
+
public String getClazz();
|
20
|
+
public void setClazz(String clazz);
|
21
|
+
|
22
|
+
|
23
|
+
}
|
@@ -0,0 +1,237 @@
|
|
1
|
+
package iv;
|
2
|
+
|
3
|
+
import java.util.Date;
|
4
|
+
|
5
|
+
public class Client {
|
6
|
+
|
7
|
+
/**
|
8
|
+
* @author Jan Topinski (jtopinski@ivmx.pl)
|
9
|
+
*
|
10
|
+
*/
|
11
|
+
public static class Address {
|
12
|
+
private String street;
|
13
|
+
private String city;
|
14
|
+
/**
|
15
|
+
* @return the street
|
16
|
+
*/
|
17
|
+
public String getStreet() {
|
18
|
+
return street;
|
19
|
+
}
|
20
|
+
/**
|
21
|
+
* @param street the street to set
|
22
|
+
*/
|
23
|
+
public void setStreet(String street) {
|
24
|
+
this.street = street;
|
25
|
+
}
|
26
|
+
/**
|
27
|
+
* @return the city
|
28
|
+
*/
|
29
|
+
public String getCity() {
|
30
|
+
return city;
|
31
|
+
}
|
32
|
+
/**
|
33
|
+
* @param city the city to set
|
34
|
+
*/
|
35
|
+
public void setCity(String city) {
|
36
|
+
this.city = city;
|
37
|
+
}
|
38
|
+
}
|
39
|
+
public static class NameType {
|
40
|
+
private String name;
|
41
|
+
private String type;
|
42
|
+
/**
|
43
|
+
* @return the street
|
44
|
+
*/
|
45
|
+
public String getName() {
|
46
|
+
return name;
|
47
|
+
}
|
48
|
+
/**
|
49
|
+
* @param street the street to set
|
50
|
+
*/
|
51
|
+
public void setName(String name) {
|
52
|
+
this.name = name;
|
53
|
+
}
|
54
|
+
/**
|
55
|
+
* @return the city
|
56
|
+
*/
|
57
|
+
public String getType() {
|
58
|
+
return type;
|
59
|
+
}
|
60
|
+
/**
|
61
|
+
* @param city the city to set
|
62
|
+
*/
|
63
|
+
public void setType(String type) {
|
64
|
+
this.type = type;
|
65
|
+
}
|
66
|
+
}
|
67
|
+
private String test;
|
68
|
+
private String title;
|
69
|
+
private String cid;
|
70
|
+
private String first_name;
|
71
|
+
private String surname;
|
72
|
+
private String sexId;
|
73
|
+
private String[] phones;
|
74
|
+
private String[] emails;
|
75
|
+
private String mainPhone;
|
76
|
+
private String mainPhoneType;
|
77
|
+
private Address address;
|
78
|
+
private String orderBy;
|
79
|
+
private NameType[] partners;
|
80
|
+
private Date updated;
|
81
|
+
|
82
|
+
public Date getUpdated() {
|
83
|
+
return updated;
|
84
|
+
}
|
85
|
+
public void setUpdated(Date updated) {
|
86
|
+
this.updated = updated;
|
87
|
+
}
|
88
|
+
public String getOrderBy() {
|
89
|
+
return orderBy;
|
90
|
+
}
|
91
|
+
|
92
|
+
public void setOrderBy(String orderBy) {
|
93
|
+
this.orderBy = orderBy;
|
94
|
+
}
|
95
|
+
public NameType[] getPartners() {
|
96
|
+
return partners;
|
97
|
+
}
|
98
|
+
|
99
|
+
public void setPartners(NameType[] partners) {
|
100
|
+
this.partners = partners;
|
101
|
+
}
|
102
|
+
/**
|
103
|
+
* @return the test
|
104
|
+
*/
|
105
|
+
public String getTest() {
|
106
|
+
return test;
|
107
|
+
}
|
108
|
+
/**
|
109
|
+
* @param test the test to set
|
110
|
+
*/
|
111
|
+
public void setTest(String test) {
|
112
|
+
this.test = test;
|
113
|
+
}
|
114
|
+
/**
|
115
|
+
* @return the title
|
116
|
+
*/
|
117
|
+
public String getTitle() {
|
118
|
+
return title;
|
119
|
+
}
|
120
|
+
/**
|
121
|
+
* @param title the title to set
|
122
|
+
*/
|
123
|
+
public void setTitle(String title) {
|
124
|
+
this.title = title;
|
125
|
+
}
|
126
|
+
/**
|
127
|
+
* @return the id
|
128
|
+
*/
|
129
|
+
public String getCid() {
|
130
|
+
return cid;
|
131
|
+
}
|
132
|
+
/**
|
133
|
+
* @param id the id to set
|
134
|
+
*/
|
135
|
+
public void setCid(String id) {
|
136
|
+
this.cid = id;
|
137
|
+
}
|
138
|
+
/**
|
139
|
+
* @return the first_name
|
140
|
+
*/
|
141
|
+
public String getFirst_name() {
|
142
|
+
return first_name;
|
143
|
+
}
|
144
|
+
/**
|
145
|
+
* @param first_name the first_name to set
|
146
|
+
*/
|
147
|
+
public void setFirst_name(String first_name) {
|
148
|
+
this.first_name = first_name;
|
149
|
+
}
|
150
|
+
/**
|
151
|
+
* @return the surname
|
152
|
+
*/
|
153
|
+
public String getSurname() {
|
154
|
+
return surname;
|
155
|
+
}
|
156
|
+
/**
|
157
|
+
* @param surname the surname to set
|
158
|
+
*/
|
159
|
+
public void setSurname(String surname) {
|
160
|
+
this.surname = surname;
|
161
|
+
}
|
162
|
+
/**
|
163
|
+
* @return the sexId
|
164
|
+
*/
|
165
|
+
public String getSexId() {
|
166
|
+
return sexId;
|
167
|
+
}
|
168
|
+
/**
|
169
|
+
* @param sexId the sexId to set
|
170
|
+
*/
|
171
|
+
public void setSexId(String sexId) {
|
172
|
+
this.sexId = sexId;
|
173
|
+
}
|
174
|
+
/**
|
175
|
+
* @return the phones
|
176
|
+
*/
|
177
|
+
public String[] getPhones() {
|
178
|
+
return phones;
|
179
|
+
}
|
180
|
+
/**
|
181
|
+
* @param phones the phones to set
|
182
|
+
*/
|
183
|
+
public void setPhones(String[] phones) {
|
184
|
+
this.phones = phones;
|
185
|
+
}
|
186
|
+
/**
|
187
|
+
* @return the emails
|
188
|
+
*/
|
189
|
+
public String[] getEmails() {
|
190
|
+
return emails;
|
191
|
+
}
|
192
|
+
/**
|
193
|
+
* @param emails the emails to set
|
194
|
+
*/
|
195
|
+
public void setEmails(String[] emails) {
|
196
|
+
this.emails = emails;
|
197
|
+
}
|
198
|
+
/**
|
199
|
+
* @return the mainPhone
|
200
|
+
*/
|
201
|
+
public String getMainPhone() {
|
202
|
+
return mainPhone;
|
203
|
+
}
|
204
|
+
/**
|
205
|
+
* @param mainPhone the mainPhone to set
|
206
|
+
*/
|
207
|
+
public void setMainPhone(String mainPhone) {
|
208
|
+
this.mainPhone = mainPhone;
|
209
|
+
}
|
210
|
+
/**
|
211
|
+
* @return the mainPhoneType
|
212
|
+
*/
|
213
|
+
public String getMainPhoneType() {
|
214
|
+
return mainPhoneType;
|
215
|
+
}
|
216
|
+
/**
|
217
|
+
* @param mainPhoneType the mainPhoneType to set
|
218
|
+
*/
|
219
|
+
public void setMainPhoneType(String mainPhoneType) {
|
220
|
+
this.mainPhoneType = mainPhoneType;
|
221
|
+
}
|
222
|
+
/**
|
223
|
+
* @return the address
|
224
|
+
*/
|
225
|
+
public Address getAddress() {
|
226
|
+
return address;
|
227
|
+
}
|
228
|
+
/**
|
229
|
+
* @param address the address to set
|
230
|
+
*/
|
231
|
+
public void setAddress(Address address) {
|
232
|
+
this.address = address;
|
233
|
+
}
|
234
|
+
|
235
|
+
|
236
|
+
}
|
237
|
+
|