@ -3,11 +3,12 @@ package com.fr.design.mainframe;
import com.fr.base.io.BaseBook ;
import com.fr.file.FILE ;
import com.fr.stable.CoreConstants ;
import com.fr.third.javax.annotation.Nonnull ;
import com.fr.third.javax.annotation.Nullable ;
import com.fr.stable.StringUtils ;
import java.util.ArrayList ;
import java.util.List ;
import org.jetbrains.annotations.NotNull ;
import org.jetbrains.annotations.Nullable ;
public final class JTemplateFactory {
private static final List < App < ? > > ALL_APP = new ArrayList < App < ? > > ( ) ;
@ -21,8 +22,7 @@ public final class JTemplateFactory {
* @param file 包含了模板名称 , 类型以及内容的文件
* @return 设计器编辑的模板对象
* /
@Nullable
public static JTemplate < ? , ? > createJTemplate ( @Nonnull FILE file ) {
public static JTemplate < ? , ? > createJTemplate ( @NotNull FILE file ) {
String fileName = file . getName ( ) ;
int indexOfLastDot = fileName . lastIndexOf ( CoreConstants . DOT ) ;
@ -43,15 +43,19 @@ public final class JTemplateFactory {
}
return null ;
}
public static < T extends BaseBook > T asIOFile ( @Nonnull FILE file ) {
String fileName = file . getName ( ) ;
int indexOfLastDot = fileName . lastIndexOf ( CoreConstants . DOT ) ;
@Nullable
public static < T extends BaseBook > T asIOFile ( @NotNull FILE file , String fileNameOrSuffix ) {
if ( StringUtils . isEmpty ( fileNameOrSuffix ) ) {
return null ;
}
int indexOfLastDot = fileNameOrSuffix . lastIndexOf ( CoreConstants . DOT ) ;
if ( indexOfLastDot < 0 ) {
return null ;
}
String fileExtension = fileName . substring ( indexOfLastDot + 1 ) ;
String fileExtension = fileNameOrSuffix . substring ( indexOfLastDot + 1 ) ;
for ( App < ? > app : ALL_APP ) {
String [ ] defaultAppExtensions = app . defaultExtensions ( ) ;
for ( String defaultAppExtension : defaultAppExtensions ) {
@ -66,6 +70,12 @@ public final class JTemplateFactory {
return null ;
}
@Nullable
public static < T extends BaseBook > T asIOFile ( @NotNull FILE file ) {
return asIOFile ( file , file . getName ( ) ) ;
}
/ * *
* 注册app .