First test code
This commit is contained in:
parent
a8c740156c
commit
b2c26c0e19
3 changed files with 83 additions and 51 deletions
Binary file not shown.
|
@ -1,23 +1,56 @@
|
|||
package dev.peerat.mapping;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.function.Function;
|
||||
|
||||
public class TreasureCache {
|
||||
public class TreasureCache<T> {
|
||||
|
||||
/**
|
||||
* Badge b = Badge.load("myTest");
|
||||
* Badge b = new Badge("test");
|
||||
*
|
||||
* b.delete();
|
||||
* b.updatu();
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
private static void breaker(){
|
||||
throw new IllegalAccessError("Please use Peer@ORM's annotation processor !");
|
||||
}
|
||||
|
||||
//SELECT id from players where name = 'test'
|
||||
|
||||
public static void Keep(Object... fields){
|
||||
throw new IllegalAccessError();
|
||||
breaker();
|
||||
}
|
||||
|
||||
public static <T> TreasureCache Select(Consumer<T> keep){
|
||||
return new TreasureCache();
|
||||
public static <T> TreasureCache<T> select(Consumer<T> keep){
|
||||
return new TreasureCache<T>();
|
||||
}
|
||||
|
||||
private TreasureCache(){
|
||||
throw new IllegalAccessError();
|
||||
breaker();
|
||||
}
|
||||
|
||||
|
||||
|
||||
public T get(){
|
||||
breaker();
|
||||
return null;
|
||||
}
|
||||
|
||||
public List<T> toList(){
|
||||
breaker();
|
||||
return null;
|
||||
}
|
||||
|
||||
public TreasureCache<T> where(Function<T, Boolean> codition){
|
||||
breaker();
|
||||
return null;
|
||||
}
|
||||
|
||||
public TreasureCache<T> join(){
|
||||
breaker();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,11 +1,8 @@
|
|||
package dev.peerat.mapping;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileWriter;
|
||||
import java.io.Writer;
|
||||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.annotation.processing.AbstractProcessor;
|
||||
|
@ -15,8 +12,6 @@ import javax.lang.model.SourceVersion;
|
|||
import javax.lang.model.element.Element;
|
||||
import javax.lang.model.element.TypeElement;
|
||||
import javax.tools.Diagnostic.Kind;
|
||||
|
||||
import javax.tools.FileObject;
|
||||
import javax.tools.StandardLocation;
|
||||
|
||||
public class TreasureProcessor extends AbstractProcessor{
|
||||
|
@ -28,52 +23,56 @@ public class TreasureProcessor extends AbstractProcessor {
|
|||
|
||||
for(TypeElement annotation : annotations){
|
||||
for(Element element : roundEnv.getElementsAnnotatedWith(annotation)){
|
||||
messager.printMessage(Kind.WARNING, "["+roundEnv.processingOver()+"] I tried", element);
|
||||
for(Entry<String, String> opt : processingEnv.getOptions().entrySet()){
|
||||
messager.printMessage(Kind.WARNING, opt.getKey()+" -> "+opt.getValue(), element);
|
||||
}
|
||||
|
||||
File file = null;
|
||||
try {
|
||||
FileObject resource = processingEnv.getFiler().getResource(StandardLocation.SOURCE_OUTPUT, "", "");
|
||||
File clazz = new File(resource.toUri().toString().substring(6)+"/be/jeffcheasey88/peeratcode/model/Badge.class");
|
||||
if(clazz.exists()){
|
||||
messager.printMessage(Kind.WARNING, "["+roundEnv.processingOver()+"] I was created it", element);
|
||||
return true;
|
||||
}
|
||||
// for(Entry<String, String> opt : processingEnv.getOptions().entrySet()){
|
||||
// messager.printMessage(Kind.WARNING, opt.getKey()+" -> "+opt.getValue(), element);
|
||||
// }
|
||||
|
||||
file = new File(resource.toUri().toString().substring(6)+"/be/jeffcheasey88/peeratcode/model/Badge.java");
|
||||
if(!file.exists()){
|
||||
File parent = file.getParentFile();
|
||||
if(!parent.exists()) parent.mkdirs();
|
||||
file.createNewFile();
|
||||
}
|
||||
|
||||
Writer writer = new FileWriter(file);
|
||||
writer.append("package be.jeffcheasey88.peeratcode.model;\n\n");
|
||||
writer.append("public class Badge extends TreasureInABottle{\n");
|
||||
writer.append("public Badge(){}\n");
|
||||
writer.append("public static int getBadge(int player){ return context; }\n");
|
||||
writer.append("}\n");
|
||||
writer.flush();
|
||||
writer.close();
|
||||
|
||||
Process p = Runtime.getRuntime().exec("javac be/jeffcheasey88/peeratcode/model/Badge.java", new String[0], new File("C:\\Users\\jeffc\\eclipse-workspace\\peer-at-code-backend\\.generated"));
|
||||
p.waitFor();
|
||||
|
||||
file.delete();
|
||||
|
||||
messager.printMessage(Kind.WARNING, "["+roundEnv.processingOver()+"] We created it !", element);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
messager.printMessage(Kind.WARNING, "["+roundEnv.processingOver()+"] We not created it ! ("+file+") "+e.getMessage(), element);
|
||||
}
|
||||
// File file = null;
|
||||
// try {
|
||||
// FileObject resource = processingEnv.getFiler().getResource(StandardLocation.SOURCE_OUTPUT, "", "");
|
||||
// File clazz = new File(resource.toUri().toString().substring(6)+"/be/jeffcheasey88/peeratcode/model/Badge.class");
|
||||
// if(clazz.exists()){
|
||||
// messager.printMessage(Kind.WARNING, "["+roundEnv.processingOver()+"] I was created it", element);
|
||||
// return true;
|
||||
// }
|
||||
//
|
||||
// file = new File(resource.toUri().toString().substring(6)+"/be/jeffcheasey88/peeratcode/model/Badge.java");
|
||||
// if(!file.exists()){
|
||||
// File parent = file.getParentFile();
|
||||
// if(!parent.exists()) parent.mkdirs();
|
||||
// file.createNewFile();
|
||||
// }
|
||||
//
|
||||
// Writer writer = new FileWriter(file);
|
||||
// writer.append("package be.jeffcheasey88.peeratcode.model;\n\n");
|
||||
// writer.append("public class Badge extends TreasureInABottle{\n");
|
||||
// writer.append("public Badge(){}\n");
|
||||
// writer.append("public static int getBadge(int player){ return context; }\n");
|
||||
// writer.append("}\n");
|
||||
// writer.flush();
|
||||
// writer.close();
|
||||
//
|
||||
// Process p = Runtime.getRuntime().exec("javac be/jeffcheasey88/peeratcode/model/Badge.java", new String[0], new File("C:\\Users\\jeffc\\eclipse-workspace\\peer-at-code-backend\\.generated"));
|
||||
// p.waitFor();
|
||||
//
|
||||
// file.delete();
|
||||
//
|
||||
// messager.printMessage(Kind.WARNING, "["+roundEnv.processingOver()+"] We created it !", element);
|
||||
// } catch (Exception e) {
|
||||
// e.printStackTrace();
|
||||
// messager.printMessage(Kind.WARNING, "["+roundEnv.processingOver()+"] We not created it ! ("+file+") "+e.getMessage(), element);
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private void rework(){
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<String> getSupportedAnnotationTypes(){
|
||||
return new HashSet<>(Arrays.asList(Treasure.class.getCanonicalName()));
|
||||
|
|
Loading…
Add table
Reference in a new issue